Python没有PyAudio读取麦克风

时间:2014-02-18 19:38:26

标签: python numpy matplotlib pyaudio

我尝试使用麦克风从盖革计数器收集数据并使用Python进行处理。但是,我使用的是大学计算机,因此我不允许安装此作业所需的PyAudio模块(Python read microphone)。 numpymatplotlibscipy中是否有任何等效函数?

2 个答案:

答案 0 :(得分:2)

以下是我认为可行的方法概述:

最困难的部分是从麦克风获取数据,您需要一个为此而构建的工具。由于您使用的是Windows,因此可以查找预先构建的工具来执行此操作。您可以尝试将某些内容作为子进程运行,但最好是使用ctypeswindll.kernel32来调用Windows录制API。谷歌搜索“windll.kernel32录音”产生一些合理的命中,如this

如果你去了子进程路由,你可能最终会调用一些首先将输出写入.wav文件的东西。如果是这种情况,您可以使用Python wave modulescipy.io.wavefile.read来阅读该文件。 (注意wave文件可能比这些模块可以读取的更复杂,所以当你设置参数时,不要发疯。)

最后,通过记录来自设备的音频将数据输入计算机的想法很成问题,并且由于需要整理外部音频噪声而导致问题。如果没有干预音频,找到一种将数据输入计算机的方法会好得多。

答案 1 :(得分:0)

我知道这个问题已得到解答和接受,但我还想提供其他2个选项:

  • python virtualenv可以在"不允许在计算机上安装任何东西"我想这比本地政策更强加于部门政策

  • 在包装器中使用ffmpeg。将静态编译的可执行文件放在已知且可接受的位置。使用子进程通过适当的命令行开关启动它,将捕获的音频输出到stdout(在python&#39>上读作类文件对象)

这两个选项都像免费啤酒一样免费,并添加简单的跨平台支持。

相关问题