Python声音设备录音

0 投票
1 回答
14 浏览
提问于 2025-04-13 01:11

我想通过连接到电脑的USB麦克风来创建一个.wav文件。我打算用Python来实现这个功能。我看到很多类似的例子来进行录音,但我不太明白在这里是怎么指定音频设备的。如果有多个麦克风,它会从哪个麦克风录音呢?谢谢!

duration = 10  # seconds
myrecording = sd.rec(duration * fs, samplerate=fs, channels=2)

1 个回答

0

简单来说,关于 sounddevice 的说明是这样的:

你可以使用 sounddevice.query_devices() 或者在命令行输入 python -m sounddevice 来查看支持的设备列表。

你可以用对应的设备编号来选择想要的设备,可以把它赋值给 sounddevice.default.device,或者在调用 sounddevice.play()sounddevice.Stream() 等函数时,把它作为设备参数传进去。

除了用数字设备编号,你还可以用设备名称中不区分大小写的子字符串,多个子字符串用空格隔开。

换句话说,

myrecording = sounddevice.rec(
    duration * fs,
    samplerate=fs,
    channels=2,
    device="USB",
)

如果你的麦克风显示为“USB 音频设备”,你可以这样做。

你可以在文档中查看 device 关于 InputStream 的部分; sounddevice.rec() 的文档也提到了其他 **kwargs 的用法。

撰写回答