我正在研究開發一個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. 分析音頻文件java
- 2. PYTHON中的音頻分析
- 3. iPhone:Objective-C音頻分析
- 4. WinJS中的音頻分析
- 5. Android中的音頻分析
- 6. HTML5音頻 - 分析輸出?
- 7. JavaScript音頻頻譜分析儀
- 8. LibGDX,從Android MP3音頻頻譜分析
- 9. iPhone音頻
- 10. iphone音頻流
- 11. iPhone上的實時音頻記錄/分析
- 12. 路由iPhone音頻聲音
- 13. Phonegap錄音音頻iPhone 4
- 14. 打開音頻開關的鉻音頻分析儀
- 15. iPhone音頻緩衝器 - 核心音頻
- 16. 用iPhone SDK的AudioUnit音頻(varispeed)音頻
- 17. 流音頻從iPhone到iPhone
- 18. iPhone音頻資源
- 19. iPhone音頻效果
- 20. iPhone音頻和AFSK
- 21. iPhone音頻相移
- 22. 重疊在音頻分析 - 綜合
- 23. 活頁樂譜的音頻分析
- 24. C#音頻文件分析API /庫?
- 25. C/C++ PCM開源音頻分析器
- 26. 跨平臺音頻分析庫
- 27. iPhone SDK - 分析/攔截音樂
- 28. 捕捉iPhone遊戲音頻
- 29. iPhone trim音頻錄製
- 30. iPhone中的音頻處理
好極了,謝謝大家的回覆。我還沒有到處解決應用程序,所以我恐怕我不知道誰的答案是正確的,直到我做。 – 2010-01-22 16:58:57