我正在研究開發一個iPhone應用程序,它可能會涉及對標準手機麥克風收到的音頻進行「簡單」分析。具體來說,我對麥克風圖像的高點和低點感興趣,而且真正的一切都與我無關。
有沒有這樣做的應用程序(只是讓我可以看到它的能力)?我應該在哪裏開始使用這些代碼?
感謝您的幫助。iPhone音頻分析
7
A
回答
9
請看Audio Queue framework。這是我用它來獲得一個高水位標記:
AudioQueueRef audioQueue; // Imagine this is correctly set up
UInt32 dataSize = sizeof(AudioQueueLevelMeterState) * recordFormat.mChannelsPerFrame;
AudioQueueLevelMeterState *levels = (AudioQueueLevelMeterState*)malloc(dataSize);
float channelAvg = 0;
OSStatus rc = AudioQueueGetProperty(audioQueue, kAudioQueueProperty_CurrentLevelMeter, levels, &dataSize);
if (rc) {
NSLog(@"AudioQueueGetProperty(CurrentLevelMeter) returned %@", rc);
} else {
for (int i = 0; i < recordFormat.mChannelsPerFrame; i++) {
channelAvg += levels[i].mPeakPower;
}
}
free(levels);
// This works because one channel always has an mAveragePower of 0.
return channelAvg;
您可以在任一分貝無尺度(與kAudioQueueProperty_CurrentLevelMeterDB)得到的峯值功率,或簡稱爲在區間[0.0,1.0](帶有kAudioQueueProperty_CurrentLevelMeter)的浮動。
+0
明智的答案和示例代碼非常有用。 – 2011-07-30 08:53:04
2
檢查'SpeakHere'示例代碼。它會告訴你如何使用AudioQueue API錄製音頻。它還包含一些代碼來分析音頻實時顯示電平表。
您可能實際上可以使用大部分電平表代碼來響應「高點」和「低點」。
0
AurioTouch示例代碼在麥克風輸入上執行傅立葉分析 。可能是一個很好的起點:
https://developer.apple.com/iPhone/library/samplecode/aurioTouch/index.html
可能是矯枉過正爲您的應用。
3
別忘了先激活級計量爲AudioQueue:
UInt32 d = 1;
OSStatus status = AudioQueueSetProperty(mQueue, kAudioQueueProperty_EnableLevelMetering, &d, sizeof(UInt32));
相關問題
- 1. HTML5音頻 - 分析輸出?
- 2. Android中的音頻分析
- 3. 分析音頻文件java
- 4. LibGDX,從Android MP3音頻頻譜分析
- 5. iphone音頻流
- 6. 打開音頻開關的鉻音頻分析儀
- 7. 路由iPhone音頻聲音
- 8. Phonegap錄音音頻iPhone 4
- 9. C/C++ PCM開源音頻分析器
- 10. 跨平臺音頻分析庫
- 11. 活頁樂譜的音頻分析
- 12. iPhone音頻資源
- 13. iPhone音頻效果
- 14. iPhone音頻和AFSK
- 15. iPhone音頻相移
- 16. iPhone上的音頻
- 17. iPhone SDK - 分析/攔截音樂
- 18. 用於展示器的音樂/音頻分析的C++庫
- 19. 節奏檢測通過分析音頻頻譜
- 20. iPhone音頻超級安靜
- 21. iPhone trim音頻錄製
- 22. iPhone音頻視覺效果
- 23. 捕捉iPhone遊戲音頻
- 24. iPhone中的音頻處理
- 25. 音頻框架在iPhone
- 26. 問題播放音頻Iphone
- 27. 在iPhone上播放音頻
- 28. iPhone SDK音頻混合器
- 29. iPhone SDK - HTML直播音頻
- 30. iPhone藍牙音頻API
好極了,謝謝大家的回覆。我還沒有到處解決應用程序,所以我恐怕我不知道誰的答案是正確的,直到我做。 – 2010-01-22 16:58:57