2011-04-22 83 views
0

我通过AudioRecord接口使用麦克风输入(3.5mm)作为一种模数转换器。我需要大约每1(最差情况)至3(最好)毫秒采样,并测量音量(相对电压)。只要我能看到峰值,绝对电压并不重要。如何从麦克风输入获取音量

问题是我对音频知之甚少。有人可以推荐我如何设置我的AudioRecord和缓冲区,如什么大小等?

是否可以在不使用FFT算法的情况下观察振幅?

感谢

回答

0

这是应用程序的实时或你要的波形记录,保存它,然后看它?对于这个答案,我假定处理将在离线状态下完成。

您需要每1-3毫秒采样一次(最差到最好的情况)。如果我的计算没有错,那就意味着采样率分别为1000 - 333 Hz。 android内的采样率受到编码器(输出格式)的最低采样率要求的限制。查看supported audio/video formats,似乎大多数格式都不支持您选择的采样率。因此,您可以尝试使用wav格式进行编码(可能需要采样率),或者以任何格式记录波形,下采样到您想要的频率范围,然后进行分析。

此外,你可以看看这个应用程序 - Audalyzer查看波形。

是的,你可以在没有得到FFT的情况下查看振幅,事实上,不对信号进行FFT和观察(就时间域而言),也许是最好的方法。

HTH,
斯利拉姆

+0

我相信这将是实时的。我正在制作一个速度计,它与霍尔效应传感器一起检测车轮上的磁铁。每次轮子旋转时,它都会通过“麦克风”传感器发送电压脉冲。我不需要保留任何音频数据,我只需要准确地检测脉冲,这样我就可以得到一个相对时间来相互比较并获得轮子PRM。 – Matt 2011-04-25 00:39:46