raynors 2023-03-05 01:07 采纳率: 0%
浏览 17

Python 如何进行多声卡录音

对一个会议系统进行非侵入录音,录制至少有三个音源,会场主音,主持人麦克风和现场拾音器,最终保存。

方案利用一台电脑和三个外接声卡

Python是否有项目可以独立操作多个声卡进行录音?

  • 写回答

2条回答 默认 最新

  • 小菜崔 2023-03-05 10:57
    关注

    Python可以独立操作多个声卡进行录音。有几个Python库可以实现这一功能,其中最常用的是PyAudio和sounddevice库。

    使用PyAudio库,你可以在Python中独立控制多个声卡。以下是一个示例代码:

    
    import pyaudio
    
    # 打开声卡1进行录音
    p1 = pyaudio.PyAudio()
    stream1 = p1.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True, input_device_index=0)
    
    # 打开声卡2进行录音
    p2 = pyaudio.PyAudio()
    stream2 = p2.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True, input_device_index=1)
    
    # 打开声卡3进行录音
    p3 = pyaudio.PyAudio()
    stream3 = p3.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True, input_device_index=2)
    
    # 从三个声卡中读取数据
    while True:
        data1 = stream1.read(1024)
        data2 = stream2.read(1024)
        data3 = stream3.read(1024)
    
        # 处理数据
        # ...
    
    # 关闭声卡
    stream1.stop_stream()
    stream1.close()
    p1.terminate()
    
    stream2.stop_stream()
    stream2.close()
    p2.terminate()
    
    stream3.stop_stream()
    stream3.close()
    p3.terminate()
    

    使用sounddevice库,你可以使用下面的示例代码独立控制多个声卡:

    import sounddevice as sd
    
    # 打开声卡1进行录音
    stream1 = sd.InputStream(device=0)
    
    # 打开声卡2进行录音
    stream2 = sd.InputStream(device=1)
    
    # 打开声卡3进行录音
    stream3 = sd.InputStream(device=2)
    
    # 从三个声卡中读取数据
    with stream1, stream2, stream3:
        while True:
            data1, _ = stream1.read(1024)
            data2, _ = stream2.read(1024)
            data3, _ = stream3.read(1024)
    
            # 处理数据
            # ...
    
    

    无论你使用哪个库,你都可以使用多个声卡独立录制音频,并将其保存到文件中。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月5日

悬赏问题

  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)