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

 

发布了90 篇原创文章 · 获赞 72 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览