纯音测听——实现定制固定分贝、频率的纯音

 

近期搞了一个纯音测听,所谓纯音测听就是医学领域测双耳听力最小听力的一种检测方法。需求是在Android手机端搞,但是有没有提供固定频率和分贝的声音。所以声音源方面是代码生成。

 

那么问题来了。如何用代码生成指定分贝和频率的纯音那?

 

这就要追寻声音的本源了。生活中我们听到的声音是一系列不同频率不同分贝声音的组合体。这里可以成为复合音,而测试需要使用纯音,所谓纯音就是固定频率的声波。

声波,声波,So ,声音是波形的。数学中sin 、cos 函数是波形的。声音可以用正弦波表示,其实所有声音都是有正弦波组成,只不过纯音是固定频率的正弦波。

而在声音存储过程中,声音被记录成一组数据值。而这组数据值通过播放器播放出来就有了指定的分贝和频率。

 

结合网上资料总结实现思路:用sin 函数搞出基本正弦波。然后调节振幅,改变频率。用数组存起来,然后通过Android 播放类AudioTrack 播放出来。就实现声音的定制了。

 

Github项目地址:

https://github.com/shaoshuai904/SoundMeter

 

 

 

 

 

 

你可能感兴趣的:(个人心得)