gpt4 book ai didi

python - 如何使用 sounddevice 同时从两台设备录制?

转载 作者:行者123 更新时间:2023-12-03 01:23:48 24 4
gpt4 key购买 nike

我目前有 2 个适合输入的音频编解码器,我想同时录制它们而不是顺序录制。

这就是我看到我的设备的方式:

import sounddevice as sd
sd.querydevices()

输出:
< 0 DisplayPort, Core Audio (0 in, 2 out)
1 USB AUDIO CODEC, Core Audio (0 in, 2 out)
2 USB AUDIO CODEC, Core Audio (2 in, 0 out)
3 USB AUDIO CODEC, Core Audio (0 in, 2 out)
> 4 USB AUDIO CODEC, Core Audio (2 in, 0 out)
5 USB Advanced Audio Device, Core Audio (0 in, 2 out)
6 USB Advanced Audio Device, Core Audio (1 in, 0 out)
7 MacBook Pro Microphone, Core Audio (1 in, 0 out)
8 MacBook Pro Speakers, Core Audio (0 in, 2 out)

目前我一次只能从一台设备录制。上面的输入音频设备是 2 和 4,默认选择 4 并用克拉“>”表示。

现在我知道如何在默认 channel 上录制 4 秒:
recording = sd.rec(int(4 * 44100), samplerate=44100, channels=1)

我也知道如何更改默认 channel ,例如将其设置为 2:
sd.default.device = [2,0]   

我想做的是同时从 channel [4,0] 和 [2,0] 录制。

最佳答案

sounddevice.rec(frames=None, samplerate=None, channels=None, dtype=None, out=None, mapping=None, blocking=False, **kwargs)
#Record audio data into a NumPy array.

这是交互式使用和小型脚本的便利功能。
此函数在内部执行以下步骤:
  • 调用 stop() 以终止任何当前正在运行的 play()、rec() 和 playrec() 调用。
  • 创建 输入流 回调用于处理实际记录的功能。
  • 启动流。
  • 如果给定了blocking=True,请等到录制完成。如果没有,请立即返回。

  • 如果您需要更多控制(例如,逐 block 无间隙录制、重叠录制……),您应该自己显式创建一个 InputStream

    所以也许解决方案是创建另一个 InputSream

    关于python - 如何使用 sounddevice 同时从两台设备录制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60572722/

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