2014-02-18 63 views
1

我试图从使用麦克风的盖革计数器收集数据并使用Python进行处理。但是,我正在使用大学计算机,因此我不允许安装看起来需要执行此项工作的PyAudio模块(Python read microphone)。 numpymatplotlibscipy中是否有相同的功能?没有PyAudio的Python阅读麦克风

+1

我当然希望不是。这些软件包用于数学和绘图。与音频输入无关。 – cmd

+0

@cmd ..恐怕这就是我需要处理的一切。 –

+1

你在哪个平台上? –

回答

2

这里有一个轮廓的方法,我认为可能的工作:从麦克风

这样做的最难的部分是获取数据,并且您将需要一个专门针对这种内置的工具。既然你在Windows上,你可以寻找一个预建的工具来做到这一点。你可以尝试运行一些子进程,但最好使用​​和windll.kernel32来调用Windows录制API。谷歌搜索“windll.kernel32录音”产生一些合理的命中,如this

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

最后,这种通过从设备录制音频数据进入计算机的想法是相当有问题的,并且会导致问题,因为外部音频噪声将需要被整理出来。找到一种方法可以在没有干扰音频的情况下将数据存入计算机会好得多。

0

我知道这个问题去回答和接受,但我想提供其他2个选项:

  • 蟒蛇的virtualenv会工作围绕“不准在计算机上安装任何东西”,我猜更多是由本地IT施加的,而不是部门策略

  • 在包装中使用ffmpeg。将静态编译的可执行文件放在已知和可接受的位置。使用子与适当的命令行开始将其切换为输出所捕获的音频到stdout(读作有关python者侧的类文件对象)

这两个选项是自由如免费啤酒并添加一个简单的到简单的跨平台支持。