您的位置:首页 > 编程语言 > MATLAB

matlab 音量标准化

2017-02-07 09:55 651 查看
录制声音过程中需对声音电平进行量化处理 

最理想的量化是最大电平对应最高量化比特 

但实际却很难做到 

常有音轻问题 

利用 MATLAB 很容易实现音量标准化 

即最大电平对应最高量化比特 

基本步骤:

先用 wavread 函数将 WAV 文件转换成列数组变量 

再求出数组变量的极值并对所有元素作归一化处理 

最后用 wavwrite 函数还原成音量标准化的 WAV 文件

例 1 现以微软自带的 Windows XP 关机.wav 音频信号为例 

先将其复制另存到文件名为 XPexit.wav 的 MATLAB 当前目录中

再通过音量标准化处理后保存为 XPquit.wav 文件 实现程序如下

clear; close all; clc;
[Y,FS]=audioread('10252690_scuba-diver-breathing-underwater_by_sound-ideas_preview.mp3'); % 将 WAV 文件转换成变量 FS,NBITS, % 显示采样频率和量化比特
Ym = max(max(max(Y)),max(abs(min(Y)))); % 找出双声道极值
X=Y/Ym; % 归一化处理
audiowrite('XPquit.wav',X,FS); % 将变量转换成 WAV 文件


试听可知标准化处理后音量稍大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: