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

2021-07-10 00:15:09 字數 756 閱讀 1127

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 volume)

}fclose(fp);

fclose(fp_vol);

}int main(void)

上面程式中,main函式中pcm_volume_control(100),這裡設定為100主要是為了讓其走入volume_adjust函式中的最後乙個else語句,而最終放大的資料,是將其乘上乙個40,這個值可以根據你自己的需求去調整。

vol = 40; 

tmp = (*in_buf)*vol;

經過上面的演算法放大後,可以用audacity工具去檢視,放大後的pcm資料,如下圖所示,上面的波形是原始資料,下面的波形是經過音量放大後的資料

參考資料

1.pcm聲音資料解析

2.音訊重取樣與pcm音量調節最後**

3.pcm 音量調節

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

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

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

簡單的回顧一下使用dsp處理音訊資料所需要的基本配置。dsp 的實時處理的實現能夠將採集到的資料先儲存到sdram 中,在需要處理的時候利用edma 實現ping pong 緩衝,將待處理的資料分批搬運到片記憶體儲器,結合快取記憶體和片內記憶體設計合適的資料結構,並將資料對齊,這樣大大減小了資料搬移...

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

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