网站开发属于什么大学专业,wordpress评论列表美化,vi设计品牌图片,宜昌网站建设哪家好2013年认证杯SPSSPRO杯数学建模
B题 流行音乐发展简史
原题再现#xff1a; 随着互联网的发展#xff0c;流行音乐的主要传播媒介从传统的电台和唱片逐渐过渡到网络下载和网络电台等。网络电台需要根据收听者的已知喜好#xff0c;自动推荐并播放其它音乐。由于每个人喜好…2013年认证杯SPSSPRO杯数学建模
B题 流行音乐发展简史
原题再现 随着互联网的发展流行音乐的主要传播媒介从传统的电台和唱片逐渐过渡到网络下载和网络电台等。网络电台需要根据收听者的已知喜好自动推荐并播放其它音乐。由于每个人喜好的音乐可能横跨若干种风格区别甚大需要分别对待。这就需要探讨如何区分音乐风格的问题。 在流行音乐中传统的风格概念包括 Pop流行、Country乡村、Jazz爵士、Rock摇滚、RB节奏布鲁斯、New Age新世纪等若干大类它们分别可以细分成许多小类有些小类甚至可以做更进一步的细分。而每首歌曲只能靠人工赋予风格标签。这样的做法有许多不足有的类别之间关系不清楚造成混乱有的类别过度粗略或精细有的类别标签没有得到公认有的音乐归属则存在争议或者难以划归。请你建立合理的数学模型对流行音乐的风格给出一个自然、合理的分类方法以便给网络电台的推荐功能和其它可能的用途1提供支持。
整体求解过程概述(摘要) 由于社会文化的发展流行音乐的风格日趋多元化风格之间相互融合发展造成类别混乱难以划分存在分类不当等诸多不足。本文采用循序渐进的方法对流行音乐的风格给出多模型优势互补的分类方法。 模型一是基于标签的流行音乐风格分类模型。随着 Web日益健全完善标签数据日益丰富且趋于稳定标签所表达的语义信息要比描述文档中的关键词更接近被描述事物的特性标签资源在音乐风格分类领域有着广阔的应用。模型通过 LDA 分析器对抽取的标签资源进行语料库建模达到音乐风格分类的目的。 模型二是基于语义的流行音乐风格分类模型。互联网上拥有海量的文本资源当我们在网络上抓取数据的时候如果一段流行音乐总与某个特定的流行音乐风格出现在一起那么我们就认为此流行音乐与这个风格有着非常紧密的联系从而我们就可以推断其风格同时也能弥补某些类别标签不够准确、没有得到公认的缺点。 模型三是基于 LDA 和多类 SVM的流行音乐风格分类模型。模型一和模型二都是在音乐文件具有大量相关数据的前提下具有较高分类准确率的对于没有标签数据较少的原创歌曲体现了其局限性此时需要提取底层的声学特征进行分类。这也是当前使用广泛且成熟的音频分类方法本文通过对主流的特征提取及分类的算法进行改进不但能取得最佳的分类精确率而且也能实现最好的时间复杂度。 模型四是基于分形维数的流行音乐风格分类模型。传统的基于声学特征的分类方法算法复杂数据庞大开销高不具有深度推广的潜质如何在准确率和开销之间做出权衡十分必要。基于分形维数的优势在于只用一维特征就能区分音乐的不同类型即分形刻画了音乐的内在特征——部分与整体的相似性。该方法具有应用简单分类准确度较高速度快等优点。 没有一种模型能应对所有情况只有扩大其优点针对性解决优势互补才能达到理想的分类效果本文在模型的优化中将多种模型综合提出了多模态音乐风格分类方法使分类更加自然、合理、准确。
问题分析 伴随着数字技术的飞速发展越来越多的音乐被上传到互联网上正是这种海量的且不断增长的音乐资源使得用来处理音乐数据库的音乐信息检索(MIR)系统受到了越来越多的关注。网络用户更希望可以利用和音乐内容有关的信息来检索音乐。音乐的风格,例如蓝调(Blues)、摇滚(Rock)等就是经常被用户使用的检索词。目前很多音乐网站例如 Last.fmmp3.com 等都相继推出了基于风格的音乐检索系统。因此音乐风格的准确分类对于现代音乐信息检索系统来说是至关重要的。 音乐风格分类历经了人工化和自动化两个阶段。早期绝大多数的音乐网站都是对音乐的风格进行人工标注其中最著名的就是潘多拉网站(pandora.com)聘请音乐专家所进行的“音乐染色体工程(music genome project)”。虽然人工地对音乐进行风格标注取得了一定的成功但是这样做消耗了大量的人力成本、时间成本和资金成本而更为严重的问题是人工标注的速度显然已经不能满足网络中音乐资源飞速增长的需求。 基于标签数据的分类方法 Web 时代的到来恰恰提供了这样的一个机遇。Web 技术允许网络用户使用标签对其感兴趣的资源进行个性化标注这其中自然也包括音乐资源文献通过实验证明了互联网中的标签数据的分布服从无标度网络的特征在若干时间间隔后标签会趋于稳定而且标签所表达的语义信息要比描述文档中的关键词更接近被描述事物的特性文献通过大量的实验数据验证了用户对歌曲进行标注时使用的标签与音乐专家对音乐的评价具有高度的一致性。因此标签资源在音乐风格的自动分类领域同样有着广阔的应用前景。在此提出了基于标签的音乐风格分类方法使用 LDA 方法对由音乐标签组成的语料库进行建模。 基于语义的分类方法 模型一中存在标签信息的不明确有的标签没有得到公认等问题使其不具有普遍适用性。在此提出了基于语义音乐风格分类模型使用音乐名称和艺术家姓名这些与音乐有关的语义信息通过搜索网络资源计算音乐与不同音乐风格之间的联系紧密度并以此为依据进行音乐的风格分类。 基于声学特征的分类方法 模型一和模型二都是在音乐文件具有大量相关数据的前提下具有较高分类准确率的当音乐文件最初发布时其相关数据相对而言较少基于标签和语义的方法不再适用。此时需要提取音乐自身的声学特征然后根据这些特征对音乐进行风格分类。在此提出了基于线性判别分析和支持向量机的音乐分类模型。 基于分形的分类方法 目前绝大多数音频分类算法集中在两方面——音频的特征提取以及根据音频特征进行分类。现有的音频特征算法有短时过零率、时域的短时能量、谱质心分析、频域带宽等还有基于听觉感受的 MFCC(Mel-frequency cepstral coefficients)梅尔倒频谱系数等。另一方面分类算法可利用模式识别和模式分类中已知算法如CMM(Gaussian mixture model) 高斯混合模型、NN(Neural Network) 神经网络、HMM(Hidden Markov Model) 隐马尔可夫模型等。这些方法都存在着算法复杂数据庞大高精度带来的高开销等问题。在此提出了基于分形维数的音乐分类模型通过对不同风格音乐的分形维数的计算与比较确定音乐分类的范围指标然后利用此指标作为依据对音乐进行自动分类。由于维数为 1所以此方法使用简单速度较快同时也具有较高的分类精度。
模型假设 当代流行音乐进入了高度细分化的时代同时尚在继续细分更微观的类型。流行音乐电台细分市场的类型化方向正是来自流行音乐的细分化。对于流行音乐的分类目前尚无统一标准我们使用目前认同度较高的分类标准对流行音乐类型进行筛选合并后将流行音乐分为如下类型。 1. Pop 流行(Dream-Pop, Classical Pop, Britpop, Synth Pop) 2. RB 节奏布鲁斯(Soul) 3. Hip-Hop 饶舌(Trip-Hop, Brit-Hop) 4. Rap 说唱(Gangsta Rap) 5. Jazz 爵士(Bossa Nova) 6. Rock 摇滚(ReggaePunk) 7. Electro 电子TechnoHouseDisco,Chill Out 8. Country 乡村 9. Blue 蓝调 10. Newage 新世纪
论文缩略图 全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码(代码和文档not free)
%%Feature_Extract.m
function [FileName,mean_value,variance]Feature_Extract(FileName)
% [mean_value,variance]Feature_Extract(FileName)
% FileName是需要分析的波形文件的路径
% mean_value是计算得出的特征值的平均值
% variance是计算得出的特征值的方差
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[F,Fs,NBITS] wavread(FileName,20*44100); % 读入波形数据
time 20; % 采样时间60秒
T 1:time*Fs; % 采样时间轴
Wave F(T); % 采样段数据
Wave Wave/max(abs(Wave)); % 数据归一化处理
WLen length(T); % 统计采样数据点的数量winlen 2^nextpow2(Fs*20/1000); % 窗长为10ms~30ms,这里取20ms
dupwin 2^nextpow2(Fs*5/1000); % 为保持连续性窗口有重叠重叠5ms
stepwin winlen-dupwin; % 窗每次移动stepwin个采样点
E zeros(WLen-stepwin,1); % 初始化能量矩阵
for i 1:stepwin:WLen-stepwin % 计算帧能量FExm Wave(i:istepwin);E(i) sum(xm.*xm);
end
E0 [E zeros(length(E),1)]; % 为记录帧的位置准备E0第一维是E,% 第二维是相应的位置
E0 setxor(E0(:,1),0); % 删除末尾零记录
j1;
for i 1:length(E) % 记录帧的位置if E(i)0E0(j,1)E(i);E0(j,2)i;j j1;end
end
Emin min(E0(:,1)); % 计算帧能量的最小值
Emax max(E0(:,1)); % 计算帧能量的最大值
Emean mean(E0(:,1)); % 计算帧能量的平均值
lamda 0.5; % 设定静音阈值
Ttfe Emin lamda * (Emean - Emin);for i 1:length(E0(:,1)) % 屏蔽E0中对饮帧能量小于静音阈值的值if E0(i,1) Ttfe E0(i,1) 0;end
end
% 寻找特征片段
FER ones(length(E0(:,1)),2); % 初始化帧能量比矩阵
for i 1:(length(E0(:,1))-1) % 计算帧能量比if(and(E0(i,1),E0(i1,1))) % 若当前帧与后一帧都不为零FERa E0(i1,1)/E0(i,1);FERb E0(i,1)/E0(i1,1);FER(i,1)max(FERa,FERb);FER(i,2)E0(i,2);end
end
level mean(FER(:,1)); % 设定高潮端点阈值
result0 zeros(length(FER(:,2)),1); % 初始化结果矩阵
j 2;
if FER(1,1)-level 0result(1) FER(1,2);
end %过滤出高潮端点
for i 2:length(FER(:,2))-1if FER(i,2)-level 0if FER(i-1,2)-level 0result0(j) FER(i,2);j j1;endend
end
result0 setxor(result0,0); % 删除多余的零元素
result zeros(length(result0)-1,1);
for i 1:length(result0)-1result(i) result0(i1)-result(i);
end
charaction zeros(size(result));
for i 1:length(result)-1charaction(i) result(i1)-result(i);
end
result charaction;
FileName; %输出特征向量
u mean(result);
d var(result);
disp([FileName])
disp([ 均值 num2str(u) 方差 num2str(d)]);
mean_value u; % 函数返回特征向量
variance d;
end全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可