0

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

1) 1 个通道没有声音,第 2 个通道有声音 2) 1 个通道的音量较低,第 2 个通道的音量较高 3) 任何一个通道都没有声音。

谢谢,任何帮助都会很甜蜜。

4

1 回答 1

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]

于 2013-10-04T09:00:45.150 回答