![](/img/trans.png)
[英]How can i play raw samples PCM_16 audio data record from Android in Web (using Web-Audio or other)?
[英]Upsampling of PCM audio samples in Android
我正在從android應用程序中的藍牙耳機讀取音頻樣本。 藍牙SCO以8KHz的音頻IN采樣頻率工作。 但是我需要來自藍牙耳機的16KHz音頻樣本,因此我需要使用上采樣。
我在這里以及其他網站上搜索了有關Android上的升頻的信息,但沒有用。 如果有人知道用於預采樣的預定義Java庫,請回答我的問題。
如果您請求16 kHz,則應該自動進行升采樣,除非所測試的設備對音頻HAL / audioflinger的實現有些奇怪。
如果您請求輸入設備不支持的采樣率,將會(應該)發生的事情是,音頻HAL將返回一個錯誤代碼,直到Audioflinger並建議要使用的采樣率。 反之,audioflinger會嘗試以支持的采樣率打開輸入流,並在內部進行重采樣,以便應用程序以其請求的速率獲取音頻數據。
只要請求的采樣率不大於支持的采樣率的兩倍,它就應該起作用,因此8-> 16 kHz的上采樣應該起作用。 此升采樣的質量是否足夠好,您需要自己判斷。
最簡單的方法就是復制每個值並使頻率翻倍。 這不會改善聲音質量,但也不會使聲音質量變差。 這類似於您可以將圖像放大到更高的分辨率。 如果不進行過濾,只要您按小數比例進行放大,它看起來就不會更糟,但也不會更好。
您能分辨出這張圖片的區別嗎?
和這個?
第二張圖像實際上是分辨率的兩倍,但外觀相同。
只要您縮放具有非小數的聲音(或圖像),就不會引入縮放偽影。
但是,如果您想要平滑上采樣的聲音,則有各種提示:
https://ccrma.stanford.edu/~jos/resample/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.