||
网易云下架了周杰伦的几乎所有歌曲,于是尝试下载一套周杰伦的音乐全集。从微盘上下载到的音乐前面有一段奇葩的广告,长约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吊诡的世界,还是写代码有意思。
最后祝你,身体健康,再见。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-4-27 07:36
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社