我試圖使用portaudio(是跨平臺功能),從麥克風讀入,然後我想通過FFT將這些數據,但我不是這樣當然如何去做。 很多人告訴我:1.獲取數據,2.apply fft, 但問題是我不太確定如何獲取數據,portaudio沒有太多關於從麥克風獲取輸入的教程,如果你知道任何代碼,教程或任何其他資源,它會很好。我一直在尋找這一點。請幫助PortAudio:如何從麥克風獲取記錄(獲取數據)
3
A
回答
3
portaudio發行版以示例C程序的形式提供了文檔。它們位於test
目錄中,通常稱爲patest_...
。這裏有很多很好的資料,文檔包含一個overview with very short description,
你想看的那個是patest_record
,它通過回調進行異步記錄。如果你想做任何嚴肅的事,恕我直言,這就是要走的路。但也有patest_read_record.c
,它同步(阻塞)IO。代碼實際上非常簡單,下面是相關部分(大量的東西被遺漏): 1 /你malloc一個緩衝區2 /你在回調中安裝一個回調函數3 /,你將數據複製到你的緩衝區
/* 1 */
data.recordedSamples = (SAMPLE *) malloc(numBytes);
/* 2 */
err = Pa_OpenStream(
&stream,
&inputParameters,
NULL, /* &outputParameters, */
SAMPLE_RATE,
FRAMES_PER_BUFFER,
paClipOff,
recordCallback,
&data);
/* 3, in recordCallBack with rptr the input data and wptr our buffer */
for(i=0; i<framesLeft; i++)
{
*wptr++ = *rptr++; /* left */
if(NUM_CHANNELS == 2) *wptr++ = *rptr++; /* right */
}
再次,這是簡化,但你明白了。有相當數量的簿記,示例代碼不是最乾淨的,但很容易適應您的目的。
相關問題
- 1. 獲取音頻數據從麥克風
- 2. 獲取麥克風音量
- 3. 如何從Macbook麥克風獲取音頻數據?
- 4. 如何直接從麥克風的ADC獲取數據?
- 5. 從麥克風獲取聲音
- 6. 如何從iPhone麥克風獲取分貝讀數
- 7. 從C中的麥克風獲取原始數據塊C
- 8. 從windows phone 7中的麥克風獲取數據文件
- 9. 從C#中的麥克風獲取數據#
- 10. 獲取麥克風輸入並讀取數據
- 11. Win7:獲取麥克風靜音狀態
- 12. Windows:獲取默認麥克風名稱
- 13. 如何從麥克風輸入獲取音量
- 14. 如何從多個USB麥克風獲取單獨輸入
- 15. 如何從android上的麥克風輸入獲取MFCC(C++,Qt)
- 16. Swift - 如何從麥克風輸入獲取當前音量(AVAudioPCMBuffer)
- 17. 如何從C++(操作系統Windows)中的麥克風獲取PCM數據?
- 18. 在Windows Phone上獲取原始麥克風數據?
- 19. 獲取麥克風數據(可能是c#)
- 20. 在Windows 7中錄製時獲取麥克風聲音級別
- 21. 在錄製時獲取麥克風音量
- 22. Android - 如何獲取所有可用的麥克風?
- 23. 如何在C#中獲取麥克風的全名?
- 24. Android:沒有記錄的樣本麥克風獲取實時幅度/電平?
- 25. 使用C#程序從PC麥克風獲取音頻
- 26. 用於從音量調節麥克風獲取語音的Api
- 27. 從Windows Phone麥克風獲取wav文件
- 28. 從駐極體麥克風獲取輸入max4466
- 29. 用微風獲取記錄
- 30. Java從麥克風獲得分貝
任何人都可以幫助我,真的很難過。 – Rave
以下鏈接可能有所幫助:http://www.rossbencina.com/static/writings/portaudio_icmc2001.pdf?q=%7Erossb/writings/portaudio_icmc2001.pdf – unpythonic