我买了一张声卡:Focusrite Scarlett 4i4 3rd Gen,有 4 个输出通道。我还有 4 个扬声器,我会将每个扬声器与声卡相连。我希望能够单独设置每个扬声器的音量,也许有一个 tkinter 接口(最终,但这不是重点)。
我已经看到我们可以有很多不同的库(我在这个项目中使用的是 Windows 10):似乎有趣的是 sounddevice 和 soundcard。
我虽然想选择声卡作为我的输出设备,并指定现在必须播放声音的通道。一个好的用法是在单声道中有一个 .wav 文件以在 1、2、3 或 4 个扬声器中实现;或立体声中的 .wav 文件以相同的方式实现,但立体声的第一个通道在 2 个扬声器中,立体声的第二个通道在另外两个扬声器中。最完美的用法是创建一个环绕声 4.0 效果,制作一个正方形的扬声器并能够随着声音“转身”:你可以想象我放一个火车的声音,这个声音好像在转火车绕着你转。
sounddevice.AsioSettings()似乎允许我们控制使用哪个输出来播放某些东西,对吧?( https://python-sounddevice.readthedocs.io/en/0.3.15/api/platform-specific-settings.html ) 但是当我详细查看文档时,我还注意到sounddevice.play()允许我们指定映射参数,我不太明白。( https://python-sounddevice.readthedocs.io/en/0.3.15/api/convenience-functions.html#sounddevice.play ) 我想在所有情况下我都必须安装 Asio,这不是问题 (我希望!)。
由于我的目的是控制每个扬声器,我可以指定什么以及如何使用 souddevice 库或其他库来实现?此外,是否可以使用那些图书馆或其他图书馆(例如:pycaw)来控制每个扬声器的音量?
非常感谢!
埃柳恩
PS:如果 python 不存在解决方案,那么如果您有想法以另一种方式实现此目标(例如能够做到这一点的软件),那将是一种乐趣。
largeQ
相关分类