matlab批量给音频文件加噪声

注:读取路径更改str1,文件名更改str2,3,写入路径更改str4。

clc
clear 
for i = 1:5
   
    str1='C:\Users\Shadow\PycharmProjects\untitled5\1\num1_';str2=num2str(i);str3='.wav';
     file=[str1,str2,str3];
    
    try
        [X,Fs] = audioread(file);
    catch
        warning(['读取文件 ' file ' 出错,可能不支持该文件格式。']);
    end
    try
        Y = awgn(X,16);
%          m=min(Y)
        str4='C:\Users\Shadow\PycharmProjects\untitled5\1\num1.';
        filename = [str4,str2,str3];
        audiowrite(filename,Y,Fs); 
    catch
        warning(['写出文件 ' file ' 出错,写出地址错误。']);
    end
end

可能会报错:警告文件写入时候有裁剪
那是因为audiowrite函数中的数据Y范围在[-1,1]之间,可通过修改awgn中数值大小强行更改上下区间(如果只是加噪声,没有具体要求的话)

如果要获取文件名或者文件夹内文件数,可以参考下面几行代码

files = dir('C:\Users\Shadow\Desktop\audio\1\*.wav');
[k len]=size(files);

folder = 'C:\Users\Shadow\Desktop\audio\1';
files = dir(fullfile(folder,'*.wav'));
filename={files.name};
file =filename{i};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值