如何用python录制系统音频

问题描述 投票:0回答:2

我尝试用以下代码录制音频:

import sounddevice
from scipy.io.wavfile import write
fs = 44100
second = 3
file = sounddevice.rec(int(second * fs), samplerate=fs, channels=2)
sounddevice.wait()
write('output.wav', fs, file)

但它只记录麦克风的输出,而我想录制系统媒体声音

python audio pyaudio python-sounddevice
2个回答
0
投票

大多数操作系统不提供默认输出作为记录源。您需要使用音频路由工具来存档。

例如,在 MacOS 中,可以安装一款名为 Soundflower 的工具或一些后来的替代品。然后在操作系统级别,将所有输出发送到该 soundflower“设备”,然后您就可以在选择该 soundflower 设备作为源之后记录这些输出; https://python-sounddevice.readthedocs.io/en/0.4.5/usage.html#device-selection 在 Linux 上,JACK 可能可以执行与 MacOS soundflower 对应的相同操作。在 Windows 上,不知道...


0
投票
https://voicemeeter.com/

安装后 print(sd.query_devices()) 的输出将包括 Voicemeeter 设备。 设置机器声音输出到 Voicemeeter 输入(VB-Audio Voicemeeter VAIO) 在 Voicemeeter 中单击“硬件”并选择“扬声器”。现在在 Python 中选择“Voicemeeter Out”设备编号(在我的 Windows 桌面上为 9)
声音将通过 voicemeeter 路由,现在使用声音设备库运行您的代码

© www.soinside.com 2019 - 2024. All rights reserved.