如何实时读取/写入原始音频数据(使用python)?

Posted

技术标签:

【中文标题】如何实时读取/写入原始音频数据(使用python)?【英文标题】:How to read/write raw audio data in realtime (with python)? 【发布时间】:2012-02-06 19:35:31 【问题描述】:

我希望能够实时动态地读写音频数据。我注意到 python "audioscope" 打开 unix/linux /dev/dsp 文件并从中读取原始字节。

但是,我使用的是 Mac OSX 10.5.8,双启动 linux 非常困难(我已经尝试过。)我想知道是否有一个特定的“标准”python 模块可以读取和写入音频数据(也许将数据的快照存储在 numpy 数组中。)我计划让线程读取/存储数据,另一个线程通过发送新信号来响应。

到目前为止,我想在我的计算机上使用音频插孔,但在某个时候,我希望能够以类似的方式使用 USB 声卡。那时,我希望能够控制多个信号(使用 USB 端口扩展器。)

我找了一阵子,发现了一些用于音频处理的库,但它们通常是基于读写文件,而不是动态数据处理。也许最好的图书馆根本不是音频图书馆。我实际上打算用它来控制电路,但谷歌引导我使用音频作为使用我的计算机的最佳方式。

无论如何,我希望得到一些建议。

【问题讨论】:

【参考方案1】:

Enthought Tool Suite 有实时音频处理的示例。它们位于chaco/advanced example folder、spectrum.pyspec_waterfall.py。他们使用 chaco 绘图库和 pyaudio 来做实时音频。 (这里是 another live FFT 基于 pyaudio 和 WCK 图形库。)它们真的很棒,并且会为你的麦克风上发生的事情提供实时反馈。您可以在数据进入时对其进行修改,并在显示之前对其进行任何操作。

你想做的事情的最终目标是什么?你说“控制电路”,你想控制什么样的电路?如果您发布您想做的事情,可能会有人能想到更好的方法。

【讨论】:

有趣。我没有看到那个。这似乎正是我想要的。我还没有任何细节。我基本上想把我的电脑变成一个 arduino。

以上是关于如何实时读取/写入原始音频数据(使用python)?的主要内容,如果未能解决你的问题,请参考以下文章

从音频输入中捕获原始音频以在 Mac 上进行实时处理的最简单方法

实时编码音频会导致声音跳过

播放 mp3 原始音频数据而不写入文件

如何从麦克风实时获取原始音频帧或从 iOS 中保存的音频文件获取原始音频帧?

Python:如何写入子进程的标准输入并实时读取其输出

使用 (Python) Gstreamer 解码音频(到 PCM 数据)