用户录制音频时创建语音频率图?

时间:2016-05-03 17:08:44

标签: swift

我正在建立一个录音应用程序,我希望在iPhone上显示类似于“语音备忘录”应用程序的语音频率图。

我不确定从哪里开始构建这个...有谁可以给​​我一些区域来研究以及如何构建它?生病,然后去学习所有领域并建立它!

谢谢

1 个答案:

答案 0 :(得分:4)

Apple的优秀示例项目:

enter image description here

https://developer.apple.com/library/ios/samplecode/aurioTouch/Introduction/Intro.html

顶部图表衡量强度与时间。这是声音的最直观表示,因为较大的声音会显示为较大的尖峰。强度以满量程(%FS)单位的百分比来度量,其中100%对应于设备的最大可录制声音。 当一个人对着麦克风讲话时,电压会随着时间的推移而上下波动。这就是图表所代表的内容。

底部图表为Power Spectral Density。它显示了信号中功率最大的位置。例如,深度响亮的声音将在x轴的下端显示为最大值,对应于深度语音包含的低频率。功率以dB(对数单位)以不同频率测量。

经过一些谷歌搜索和测试后,我认为 AVFoundation 无法实时访问音频数据,它是一种主要用于录制的高级API到文件并播放。 较低级别的音频队列服务API似乎是要走的路(尽管我确信有些库可以简化其复杂的API)。

音频队列服务编程指南https://developer.apple.com/library/mac/documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AboutAudioQueues/AboutAudioQueues.html#//apple_ref/doc/uid/TP40005343-CH5-SW18

Swift中的DSP https://www.objc.io/issues/24-audio/functional-signal-processing/