You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python SoundDevice录制音频:如何指定USB麦克风及多设备选择?

关于sounddevice库录制音频的设备指定问题

你贴的这段代码用的是sounddevice(简称sd)库,它默认会使用系统设置的默认输入音频设备——如果你的USB麦克风已经被设为系统默认输入设备,就会录制它的声音;如果没设,就会用系统当前默认的其他麦克风(比如笔记本内置麦)。

如果要手动指定录制设备,按以下步骤操作:

  1. 查看所有可用音频设备
    先运行这段代码,列出系统里所有的音频设备,找到你的USB麦克风对应的ID或名称:

    import sounddevice as sd
    print(sd.query_devices())
    

    输出里会显示每个设备的ID、名称、支持的输入/输出通道数,比如类似这样的条目:

    2: USB Microphone, Core Audio (2 in, 0 out)
    
  2. 在录制时指定设备
    在sd.rec()函数里添加device参数,传入设备ID或者准确名称即可:

    • 用设备ID的示例:
      duration = 10  # seconds
      fs = 44100  # 采样率,根据你的麦克风调整
      myrecording = sd.rec(duration * fs, samplerate=fs, channels=2, device=2)
      sd.wait()  # 必须加这个,等待录制完成
      
    • 用设备名称的示例(注意名称要和查询到的完全一致):
      myrecording = sd.rec(duration * fs, samplerate=fs, channels=2, device="USB Microphone")
      
  3. 全局设置默认设备(可选)
    如果不想每次录制都指定设备,可以全局设置默认输入设备,后续所有sd.rec()都会用这个设备:

    sd.default.device = 2  # 或者设备名称
    

最后补充:录制完成后,需要用soundfile库把录制的数据保存为wav文件,代码示例:

import soundfile as sf
sf.write("my_recording.wav", myrecording, fs)

内容的提问来源于stack exchange,提问作者jukebox41188

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 18:03:14