问题标签 [python-sounddevice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 Python sounddevice 在两个设备上进行多通道采集
我正在尝试从我的 RME Fireface UCX 声卡输出多达 4 个音频通道,并在我的 miniDSP 16 通道麦克风阵列上获取 16 个通道的音频数据。目前,如果我使用 query_devices 命令中列出的设备的组合,我可以让 16 进/2 出系统正常工作,但我似乎无法增加输出通道的数量。
从设备列表中:
因此,如果我有 x(这是一个 44100*5 行乘三列的 numpy 数组,表示以 44.1 kHz (=fs) 采样的 5 秒 3 通道数据),我可以这样做:
这会同时向我的扬声器播放 3 个输出通道,并在我的 RME 声卡输入上获取 8 个通道。同样,如果我这样做:
我可以让我的 miniDSP 录制 16 通道的音频 5 秒。另外,如果我这样做:
我可以让 miniDSP h/w 获取 16 个音频通道,而 RME 仅输出 2 个通道(是的,尽管 numpy 数组有 3 列并且设备列表显示设备可以输出 8 个通道,但只有 2 个通道?)。这没关系,但正如我所说,我可能想要 3 或 4 个音频输出通道。
我考虑过结合 ASIO 设备,即
但这(并不奇怪)会导致 PortAudioError -9993 I/O 设备的非法组合。
所以我考虑过使用 InputStreams 和 OutputStreams,但我并没有完全遵循 sounddevice 文档中的一些示例代码。但也许这是解决这个问题的出路?
python - 使用 Sounddevice 连续播放音频
我正在编写一个程序来通过网络传输音频,所以我有一个线程来记录数据和一个发送它。测试时音频有明显的差距。我相信这是由于sounddevice.play()
功能,下面的例子有同样的问题。
间隙与播放长度一致,因此似乎是由播放功能延迟引起的。在连续音频中,这变得非常明显和烦人。同样的事情也发生在此处的文档音频直通示例中。
有没有使播放连续的方法?
python-3.x - 有没有办法在 python 中创建一个简单的用户交互音乐合成器
我目前正在尝试使用pygame.mixer
或sounddevice
输出我在numpy array
. 例如,在创建正弦波之前必须说明波形的持续时间:sin(frequency * 2 * Pi * duration)
因此,您如何在用户按键的持续时间内播放此声音。
当我阅读似乎很容易理解的python时,关于python的文章并不多,因此我们将不胜感激。
此外,如果有人可以解释或举例说明sounddevice.Stream
或sounddevice.RawStream
使用 python 缓冲区对象的工作原理,以及它是否对我的情况有所帮助,那将不胜感激。
我已经尝试过使用sounddevice.play()
,但这对于我想要实现的目标来说似乎非常基本。我也尝试过创建一小段正弦波并将其循环以供用户输入,但是当我要调制该声音时,这将不起作用。
我不喜欢使用的另一个原因sounddevice.play()
是因为您需要延迟程序,就像我使用sounddevice.wait()
的那样,好像程序运行到最后而不播放任何东西一样。
观看此视频时 ... https://www.youtube.com/watch?v=tgamhuQnOkM ... 用于c++
对合成器进行编程,他使用了一个单独的模块,我认为该模块运行后台线程,但他的模块分别获取每个样本而不是作为一个数组。
我也尝试过使用pygame.sndarray.make_sound()
. 这是当/如果合成器工作时我想做的事情的一个例子:
有没有办法将其创建为 pygame 键事件,仅在按下键时播放正弦波,然后在释放键时停止。
python - 与使用 Anaconda Prompt 运行相比,从 Visual Studio 启动 Python 文件的工作方式不同
我对python很陌生,我一直在研究一个简单的程序,它可以录制声音,稍微修改一下,然后播放它。我在 Visual Studio 中编写了它,但是这个软件对我不起作用,sounddevice
并且说No module named '_sounddevice_data'
但是当我python "path to this file"
在 Anaconda Prompt 中运行它时,它可以正常工作。这个包在我使用的 Visual 的 python 环境中 - Anaconda 5.2.0
。另一方面,由于在 Visual 中跳过了一些错误,从 Anaconda Prompt 运行将无法使用 tensorflow Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
。更重要的是,当我使用简单的 .bat 文件运行此代码时,一切都很好:D
我会很感激任何帮助,因为我无法理解发生了什么。这是代码:
python-3.x - Python 3 neopixel 无功能
我希望代码使 LED 灯条发出的声音越亮越亮。它目前没有做任何事情。我究竟做错了什么?
python - sounddevice 录制“out”参数
我想使用“out”参数将记录的信号写入给定的 numpy 数组,但我没有将任何音频附加到我传递的数组中。如果我希望它使用默认采样率,是否应该定义采样率?文档中没有具体的示例用法,所以如果有任何关于正确使用的建议,请参见下面的示例:
我也试过
但结果是一样的。
python-3.x - 如何在 python 中播放实时音频,同时不断录制?
我想创建一个语音干扰器。它本质上是向你重复你刚才所说的话,但它是连续的。我试图使用 sounddevice 库并在播放的同时记录我所说的内容。然后我将其更改为最初录制我所说的内容,然后在录制新内容的同时播放它。但是,它没有按我的意愿运行。对其他图书馆有什么建议吗?或者,如果有人看到我已经拥有的代码的建议。
它不是不断地向我播放,而是开始和停止。它以指定的持续时间间隔执行此操作。所以它会录制 500 毫秒,然后播放 500 毫秒,然后重新开始录制。想要的行为是 - 录制 500 毫秒,同时播放它以一些毫秒延迟录制的音频。
python - 如何将 winsound.Beep() 保存到 python 中的音频 .wav 文件?
我一直在尝试做一些我认为相当简单的事情,并将 winsound.Beep(8000,1000) 保存到名为 LongBeep.wav 的 .wav 文件中。有人可以回复一个解决方案。我已经搜索并搜索了答案,但一无所获。这是我拥有的代码:
python - 如何将音频流式传输到 num py 数组
我正在尝试在烧瓶上创建一个流媒体应用程序,但我可以弄清楚如何向 num py 数组发出声音。我尝试过:
并使用其他一些与音频相关的库,但我 cinda 不了解与他们的代码相关的任何内容,所以告诉我一些关于我知道我应该使用 sounddevice.Stream.read() 的代码的信息会很酷,但我不知道如何
(抱歉语法不好)
python - 对音频流使用多处理
我想连续录音和录音。这很容易使用 python 的 sounddevice 模块完成。但是,当音频超过 20 帧时,我还想开始将块发送到在后台工作的线程。当我这样做时,声音设备的输入溢出,你能帮我解决这个问题,还是找到其他解决方案?