用Matlab 音量标准化 处理wav文件

遇到问题:训练合成模型的训练数据是分批次录音的,不同批次录音音量有高有抵。

解决问题:用matlab实现音量标准化。批量处理所有录音的wav文件。

1、代码如下所示:

clear; close all; clc;
file_read=dir('./all_wav/4469_wav/*.wav');%读取路径中的内容
filenames={file_read.name}'; %得到所有wav文件的名字
file_length=length(file_read);%要处理wav文件的总个数
%FS,NBITS, % 显示采样频率和量化比特
for i=1:file_length
	filenames{i} %显示wav文件名字
	[Y,FS,NBITS]=wavread(strcat('./all_wav/4469_wav/',filenames{i})); % 将 WAV 文件转换成变量
	Ym=max(max(max(Y)),max(abs(min(Y)))), % 找出声道幅值极值
	X=Y/Ym; % 归一化处理
	wavwrite(X,FS,NBITS,strcat('./new/',filenames{i}))
end
%%试听可知标准化处理后音量稍大。


Just SO SO ,糊涂图。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值