前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >语音剪切程序

语音剪切程序

作者头像
MachineLP
发布2018-01-09 11:17:09
8160
发布2018-01-09 11:17:09
举报
文章被收录于专栏:小鹏的专栏小鹏的专栏

Matlab程序:

代码语言:javascript
复制
function aucut(t,overlap)% t 为切割秒数,overlap 为样本重叠秒数   
mkdir('classical10s');%创建保存剪切后语音的文件夹   
file = '/Users/liupeng/Desktop/matlab/speechRecognition/classical/';  
file1 = strcat(file, '*.au');  
a=dir(file1); %在文件夹中搜索以.au 为后缀的文件并记录,如.wav 文件则搜*.wav   
for i=1:length(a)%读取.au 后缀文件的数目
    file2 = strcat(file, a(i).name);  
    [y1,fs]=audioread(file2);%读取.au 文件的数值与参数,如.wav 文件则 wavread   
    str1 = strcat('/Users/liupeng/Desktop/matlab/speechRecognition/classical10s/', a(i).name);%记录其中一个.au 文件的名称  
    j=fix((length(y1)/fs-overlap)/(t-overlap));%切割后音乐的份数   
    for k=1:j%对每首音乐进行切割并命名  
        y2=y1(((k-1)*t*fs-(k-1)*overlap*fs +1):(k*t*fs-(k-1)*overlap*fs+1));   
        filename=strcat(str1,'_');  
        filename=strcat(filename,num2str(k-1));   
        filename=strcat(filename,'.wav');  
        %cd(foldername)  
        %if (j<=2)|| (k~=1 && k~=j)%若是 Jamendo 数据库,则调用切去首尾   
        audiowrite(filename,y2,fs);%若.wav 文件则为 wavwrite.  
        %end   
    cd ..  
    end  
end  
end  
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年01月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档