1

我正在尝试使用麦克风从盖革计数器收集数据并使用 Python 处理它。但是,我使用的是大学计算机,因此不允许安装PyAudio此工作似乎必需的模块(Python 读取麦克风)。numpy或中matplotlib是否有任何等效功能scipy

4

2 回答 2

2

这是我认为可能有效的方法的概述:

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

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

最后,这种通过从设备录制音频将数据输入计算机的想法是非常有问题的,并且会导致问题,因为需要对外部音频噪声进行分类。最好找到一种方法将数据输入计算机而无需插入音频。

于 2014-02-19T02:53:01.800 回答
0

我知道这个问题得到了回答和接受,但我想提供另外两个选择:

  • python virtualenv 可以解决“不允许在计算机上安装任何东西”的问题,我猜这更多是由本地 IT 部门强加的,而不是部门政策

  • 在包装器中使用 ffmpeg。将静态编译的可执行文件放在已知且可接受的位置。使用 subprocess 使用适当的命令行开关启动它,以将捕获的音频输出到标准输出(在 python 端读取为类似文件的对象)

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

于 2015-06-01T13:57:15.830 回答