gpt4 book ai didi

python - 如何通过三个不同的扬声器播放三个不同的音频文件?

转载 作者:行者123 更新时间:2023-12-03 00:41:19 24 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

6年前关闭。




Improve this question




我有一个项目,我必须玩 3 不同的音频文件通过 3 不同的扬声器。文件的开始时间很重要(我的意思是它们必须同时开始播放)。

我的第一个选择是使用 3 联网计算机,每台计算机一个文件,以及一个控制这三个系统的程序(例如一个服务器和两个客户端)。

但是我觉得用声卡和 真的更好4 以 channel 为例。
经过一番搜索,我发现有很多这样的声卡。我想知道,是否可以使用 Python 或 Matlab 程序或任何其他方式控制 channel ?有图书馆吗?

最佳答案

MATLAB 中的 audioplayer 函数仅支持 2 个 channel 。但是您可以使用 DSP System Toolbox 中的功能。下面的代码片段可以提供帮助:

hafr1 = dsp.AudioFileReader('myfile1.wav');% Can be other formats as well
hafr2 = dsp.AudioFileReader('myfile2.wav');
hafr3 = dsp.AudioFileReader('myfile3.wav');
hap = dsp.AudioPlayer;
hap.SampleRate = hafr1.SampleRate; % Assuming that all files have same sample rate or else you have to do some clever mixing.
while ~isDone(hafr1) % assuming same size. You need to add some clever logic to adjust the number of channels if they are of different sizes
data1 = step(hafr1);
data2 = step(hafr2);
data3 = step(hafr3);
step(hap, [data1 data2 data3]);
end

此代码将在默认输出设备上播放音频。如果它有三个或更多 channel ,您将在 3 个单独的 channel 上听到音频。如果没有,取决于平台,它将被混合成两个 channel 。

您可以引用 doc信息页面。

迪内什

关于python - 如何通过三个不同的扬声器播放三个不同的音频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33550790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com