音訊資料處理的基本框架 基於ADSP SC589

2021-10-05 18:43:38 字數 1143 閱讀 1905

簡單的回顧一下使用dsp處理音訊資料所需要的基本配置。

dsp 的實時處理的實現能夠將採集到的資料先儲存到sdram 中,在需要處理的時候利用edma 實現ping pong 緩衝,將待處理的資料分批搬運到片記憶體儲器,結合快取記憶體和片內記憶體設計合適的資料結構,並將資料對齊,這樣大大減小了資料搬移帶來的開銷。

文章中涉及到的程式以adsp-sc589為例。

通常可以通過ad取樣裝置獲取資料或者裝置傳輸資料到dsp。

ad取樣需要設定相應的取樣頻率,音訊傳輸需要設定傳輸時的速率以及音訊塊的大小。

1.ad取樣需要設定相應的取樣頻率,音訊傳輸需要設定傳輸時的速率以及音訊塊的大小。

2.配置埠的引腳與功能。

ad取樣以及資料傳輸都需要配置相應的埠與引腳,adi提供了一種方便的模式,即可以通過sru函式對dai引腳進行配置即可。

例如下面這段程式,硬體部分已經將引腳dai0_pb01-04與adau1761(ad取樣模組)的引腳相連,於是只需要將引腳的功能配置到埠0上就可以。

adau1761相當於乙個簡易的dsp,但是缺少很多功能,有時間可以簡單的介紹一下它。

3.對埠進行相應的配置

dsp中每個埠都用對應的dma通道,在使用前需要將它開啟。

之後對埠進行相應的配置,可以配置傳輸資料方式。例如進行多通道資料傳輸,可以配置傳輸資料的通道數。

每個dma也都用固定的中斷觸發,可以在對埠進行配置時將相應的終端函式配置好。對於資料的處理一般在此處進行。

為了加快資料處理的速度,dma進一步引入了ping-pong的機制,具體如下圖所示:

C語言 PCM音訊資料處理 音量增大或減小

c語言實現 define old file path file.pcm define vol file path vol.pcm int volume adjust short in buf,short out buf,float in vol void pcm volume control int...

C語言 PCM音訊資料處理 降低取樣率

用一麥克風錄製的pcm資料,為16bit 48khz 單聲道,而我希望得到的是16khz取樣率的pcm資料,那就通過降低取樣率的方法,去實現48000hz到16000hz取樣率的轉換。轉換原理比較簡單,48000hz降到16000hz,實際上降了3倍,同一時間的單位區間內,48000hz取樣了3個點...

視音訊資料處理入門 RGB YUV畫素資料處理

分離yuv420p畫素資料中的y u v分量 分離yuv444p畫素資料中的y u v分量 將yuv420p畫素資料去掉顏色 變成灰度圖 將yuv420p畫素資料的亮度減半 將yuv420p畫素資料的周圍加上邊框 生成yuv420p格式的灰階測試圖 計算兩個yuv420p畫素資料的psnr 分離rg...