我把MCP3008 ADC芯片连接到驻极体麦克风和pi上。我用python中的bit-bang读取输入,得到一个0-1024的整数。在
我的问题是如何取这个整数并将它转换成有意义的东西?我可以用python把这些字节写到一个文件中,得到Audacity可以播放的原始音频数据吗?现在当我写这些值时,它们只是显示为整数而不是二进制。我对python还很陌生,我找到了转换原始数据的链接,但是我在首先生成原始数据时遇到了麻烦:Python open raw audio data file
我甚至不知道这些值代表什么,它们是PCM数据,我必须做数学与时间有关?在
你要做的是采样一个时变的模拟信号。所以,是的,你得到的值是PCM-但有一个巨大的警告(见下文)。如果您将它们作为WAV文件编写(可能使用this来帮助您),您将能够在Audacity中打开它们。您可以将值转换为无符号的8位(通过截断和)或通过移位和减法将值转换为16位有符号。在
警告是,PCM是用信号对采样时钟进行调制。在你的例子中,时钟信号是你的频率,你的位元爆炸ADC。 实际上,很难在软件中安排这种规则,特别是当从高级语言(如Python)对设备进行位冲击时。你需要在两倍于信号带宽(奈奎斯特定律)下采样——实际上,是8kHz的电话语音质量。在
一个不规则的样品时钟也会导致重要的人工制品-你会听到失真。在
相关问题 更多 >
编程相关推荐