怎样用matlab分割音频文件(wav)或其他
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用matlab分割音频文件(wav)或其他相关的知识,希望对你有一定的参考价值。
不要讲其他软件,就matlab
现在work文件夹下有文件test.wav
截取10s到20s
麻烦写出全部代码
huxuec的可以
请问能不能切割mp3
用matlab根据lrc文件切割音频,适用于wav音频(一句歌词一个音频一个lrc)代码如下:
%clearclc;clear all;
%用Import Data导入lrc文件,设置‘[’,\']\',\':\'为分隔符,出现三个矩阵,分别改名为minuate、second、lyric
[y,fs]=audioread(\'John Lennon - Oh My Love.wav\');%根据歌曲名修改
for i=6:36 %根据歌词导出矩阵小修
min_start=minuate((i-1),1);
min_end=minuate(i,1);
sec_start=second((i-1),1);
sec_end=second(i,1);
time_start=min_start*60+sec_start;
time_end=min_end*60+sec_end;
Y2=y(((fs*time_start+1):fs*time_end),:); %根据lrc的时间剪切音频
Filename=sprintf(\'song%d.wav\',i);%为音频命名
audiowrite(Filename,Y2,fs);%写出音频
lrc_name=sprintf(\'song%d.lrc\',i);%对应音频,为lrc命名
fic=fopen(lrc_name,\'a+\');%对应音频,创建lrc
fprintf(fic,\'[00:00.00]\')
fprintf(fic,\'%s\',lyrici-1,1)%写入带时间轴歌词
fclose(fic)%关闭lrc
end 参考技术A wavread函数可读入一个wav文件,如果为单声道就返回一个一维矩阵,表示每个采样点的量化值。如下:
[Y,FS,NBITS]=wavread(FILE)
Y为数据矩阵,FS为采样率,NBITS为量化位数,FILE为音频文件名。
如果你要截取[t1,t2]时间内的音频,
则
start=floor(t1*FS)+1;
end=floor(t2*FS);
R=Y[start:end];%R为截取后的数据
最后用函数wavwrite保存成新的wav文件,如
wavwrite(R,FS,NBITS,'new.wave') ; 参考技术B [Y,F,b]=wavread('test.wav');
Y2=Y(((F*10+1):F*20),:);
wavwrite(Y2,F,b,'test_new.wav') ;本回答被提问者采纳 参考技术C
浮云音频降噪软件好用,分割音频,合成音频,还能降噪音频。操作简单。
把音频发送到电脑桌面上,然后打开它,在其界面可以看到它有音频降噪、视频降噪、提高音量等功能,在上方最右侧的是分割音频和合成音频按钮。这就是我们今天展示的重点。
点击分割音频,然后弹出一个界面,界面显示添加音频,选择分割时间点,有三种方式,第一种是半小时一段、第二种是一小时一段、第三种是自定义时间点。
鉴于我们是十个小时的音频想要分成十段,也就是说分割成一小时一段,那我们直接选择一小时一段就可以了。接下来,点击开始分割,然后就可以看到分割正在进行中,进度不断变化,当进度显示100%的时候,分割音频就完成了。
最后点击保存结果,为分割后的结果保存一个位置就可以了。
如果说想把十个小时音频分割成二十段呢,那就选择半小时一段就可以了。如果想把音频分割成两段呢,那就需要选择自定义时间点,输入时间点为05:00:00。也就是五个小时一段。
怎么样,简单吗?
以上是关于怎样用matlab分割音频文件(wav)或其他的主要内容,如果未能解决你的问题,请参考以下文章
怎样把(波形)声音格式(wav)转换成mp3、wma等其他音频格式?