音频平衡通过内置扬声器

时间:2013-10-04 02:26:14

标签: matlab audio

我的电脑上有左声道和右声道。我希望得到一些建议或一个起点,以改变两个扬声器之间的音频平衡。我想编写Matlab代码,通过我的PC扬声器播放声音和输出,这将完成:

1)1个频道没有声音,第2个频道没有声音 2)1通道体积较小,第2通道体积较大 3)任何一个频道都没有声音。

谢谢,任何帮助都会很好。

1 个答案:

答案 0 :(得分:2)

听起来像是bsxfun

的工作
% Data
left_channel = rand(1e5,1); % for example. Column vector
right_channel = rand(1e5,1); % for example. Another column vector
signal = [left_channel right_channel]; % stereo signal. Two columns
fm = 48e3; % sample frequency
balance = [1 1]; % for example. Row vector

% Construct balanced signal
balanced_signal = bsxfun(@times,signal,balance);

% Play it
sound(balanced_signal,fm) % or use the scaled version, "soundsc"

您可以使用向量balance控制平衡。对于您想要的案例,请将其设置为1)[0 1],2)[.5 1],3)[0 0]