网易云下架了周杰伦的几乎所有歌曲,于是尝试下载一套周杰伦的音乐全集。从微盘上下载到的音乐前面有一段奇葩的广告,长约8秒。因为广告长度一样可以轻松的裁剪处理,于是想到可以用matlab写一个简单的小程序。
程序的思路是这样的:
s1:将所有音乐下载到本地,保存在一个文件夹中;
s2:读取文件夹中文件的信息,获取文件数量;
s3:对每一个文件:
s31:读取名字;
s32:裁剪广告;
s33:改名字(备注);
s34:输出;
备注:原音乐是mp3格式,但是matlab输出函数sudiowrite不支持mp3,所以必须改一下。
代码是这样的:
clear all
clc
file = dir('F:\matlab\jay\*.mp3');%将歌曲都保存在一个文件夹中,读取其中所有mp3后缀的文件
for n = 1:length(file)
[data,fs] = audioread(file(n).name);%读取mp3文件,data是音频信号,fs为采样率
data = data((416130:end),:);%416130通过直接给data绘图查看得到
name = file(n).name;
name = name(1:end-4);%去除后缀
name = strcat(name,'.m4a')%添加matlab承认的后缀,相对来说m4a文件较小
audiowrite(name,data,fs);%是输出到原路径
end
程序非常简单,但是涉及到了读取文件夹中文件信息,文件输入输出和音频裁剪,还是有很多原来不会的,其中结构体的操作很有意思。
至于盗版的问题,咋说呢。
emmmm吊诡的世界,还是写代码有意思。
最后祝你,身体健康,再见。
转载本文请联系原作者获取授权,同时请注明本文来自张智昊科学网博客。
链接地址:http://blog.sciencenet.cn/blog-3378736-1106780.html
上一篇:激光导热仪
下一篇:夹具,连接件,伸缩杆