matlab音量归一化

 目的:实现wav音频幅度的归一化

function VolNormalization(input) 

[dataInFolder, dataOutFolder]=textread(input,'%s %s') #第一列为输入音频文件夹,第二列是输出音频的文件夹,目前只能支持一行,也就是输入为一个文件夹,输出为一个文件夹

wavDir=dir(sprintf('%s%s%s',char(dataInFolder),'\','*.wav'));

for wav=1:length(wavDir)
    x = wav
	[speech, fs] = audioread(sprintf('%s%s%s',char(dataInFolder), '\', char(wavDir(wav).name)));
	num=max(abs(speech));
	k=0.6/num(1);
	Vol=k*speech;
        if exist(char(dataOutFolder))==0   %该文件夹不存在,则直接创建
            mkdir(char(dataOutFolder));
        end
	audiowrite(sprintf('%s%s%s',char(dataOutFolder), '\', char(wavDir(wav).name)), Vol , fs);
end

 

你可能感兴趣的:(Matlab)