Android麦克风拾取特定音调

Kei*_*th 5 android microphone audio-processing

您好我想知道如果使用Android音调生成器类可以在一个设备中创建音调并在另一个设备中侦听相同的音调.如果可能的话,我还有其他一些问题.

考虑到背景噪音是否可以只听这个特定音调?

这个过程会耗费资源吗?

我可以使用一种听不到人耳或接近它的音调吗?

最后我可以使用只能在发送设备几英尺处听到的音调吗?

非常感谢你的男人和女孩:)

编辑>感谢添加音频处理标签sabastian.更好的描述.

Oli*_*ver 4

是的,这将是 CPU 密集型的。方法非常简单:您需要一个永久记录器,将接收到的数据放入 FFT(快速傅立叶变换)中。FFT 基本上只做一件事:将音频分成频率/功率范围。通过此“背景噪音已清除”结果,您可以检查“是否有 1000Hz 的音调播放至少 2 秒”等内容,并采取相应措施。这里有一个合理的速度 FFT 实现:http://www.badlogicgames.com/wordpress/? p=449 FFT 也可以用于(实际上,使用 IS)检测双音拨号 (DTMF) - 同时 2 个频率比仅使用一个要好得多(因为错误率显着下降,并且您可以缩短音调发送/检测的持续时间)。

“听不见”是不可能的,因为(a)扬声器无法产生这样的声音(b)您的采样率受到限制 - 因此在产生和记录如此高的频率方面也受到限制。

“几英尺”将被自然地强加(不是很大声的扬声器,不是很好的麦克风)。