【问题标题】:Audio Balance through internal speakers通过内部扬声器实现音频平衡
【发布时间】:2023-03-21 22:05:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: matlab audio


    【解决方案1】:

    听起来像是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]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多