2011-09-18 100 views
0

我不是那麼大的編程,我需要採樣通過手機錄製的音頻文件,我明白,移動設備記錄語音,並且有采樣率,並且每個採樣具有8位或16位採樣大小。我需要8khz的8位樣本量。編程環境是盧阿,但這並不重要,真正的基本交易是抽樣。任何幫助,將不勝感激。我如何採樣音頻文件說.wav,在一個8位8khz參數

+0

其實你的編程環境,尤其是你的手機上的編程環境確實很重要。使用庫可能更有意義,而不是手動處理波。但是如果你想走低水平的話,可以到維基百科作爲波形格式的起點。對FFT的一些基本理解可能會派上用場。 – Philip

回答

0

您需要在將聲音採樣記錄爲8位@ 8 kHz時設置錄製參數,或者,如果不能,或者沒有對實際錄製過程的任何控制,則需要您將需要resample原始錄音將其轉換爲您需要的格式。您可以使用SoX這樣的工具離線執行此操作,也可以編寫可以即時執行此操作的代碼。如果您在問題中提供更多細節,那麼我可以在答案中添加更多具體細節。

+0

感謝隊友,細節是,我知道我可以重新採樣它,但我需要陣列中的波形,並將正常2000 3000個索引分成10-12個分段,然後處理這些信息,從而使音頻匹配速度更快,增強,重採樣不會給我那麼做嗎?我其實不知道。此外,編程環境是Corona SDK,它的API和我的理解只允許您指定採樣率而不是波形或採樣位的大小。任何跨平臺的移動開發環境給我,如果它不能完成這個? –

+0

@Mohammad:重新採樣的全部*點*是從你開始的任何採樣率和位深度,將波形轉換爲所需的採樣率和位深度,即8位@ 8 kHz。 –

+0

我明白了,但我需要數組中的波形和我從我讀過的(全部FRIGGIN API)我不能這樣做,顯然如果我需要匹配音頻樣本,我不能每次使用整個音頻文件,那麼如果我不能得到波形,還有什麼建議呢?我可以添加你是否有幫助,不勝感激 –

0

我不知道lua,但正如Paul R所建議的,您始終可以使用SoX或ffmpeg後處理您的音頻文件。在Linux上,只需要安裝的ffmpeg:

sudo apt-get install ffmpeg 

然後:

ffmpeg -i trenet.wav -ar 8000 trenet-8k.wav 

此重新採樣音頻爲8000 Hz。我沒有找到如何處理比特/採樣參數,但您可以隨時調整比特率。對於文檔:

man ffmpeg 
相關問題