2013年认证杯SPSSPRO杯数学建模B题(第二阶段)流行音乐发展简史全过程文档及程序

本文主要是介绍2013年认证杯SPSSPRO杯数学建模B题(第二阶段)流行音乐发展简史全过程文档及程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2013年认证杯SPSSPRO杯数学建模

B题 流行音乐发展简史

原题再现:

  随着互联网的发展,流行音乐的主要传播媒介从传统的电台和唱片逐渐过渡到网络下载和网络电台等。网络电台需要根据收听者的已知喜好,自动推荐并播放其它音乐。由于每个人喜好的音乐可能横跨若干种风格,区别甚大,需要分别对待。这就需要探讨如何区分音乐风格的问题。
  第二阶段问题: 近几十年来,流行音乐的风格经历了相当复杂的演变过程。每个时代都有其代表性的人物和风格,歌曲的成功要素也随时间不断改变。请你建立合理的数学模型,对曾经走红过的流行歌曲,通过其原唱录音或曲谱来推断其所处时代。并请你写一篇短文2,向大众简述(在某个时期内)流行歌曲的“成功要素”是如何变化的。

整体求解过程概述(摘要)

  近几十年来,中国流行音乐的风格经历了相当复杂的演变过程,每个时代都有其代表性的人物和风格,歌曲的成功要素也随着时间不断变化。不同时期的流行音乐不仅反映了不同历史时期人们的精神面貌,也用音乐这个特殊的方式记载着不同历史时期人们的日常生活和人文背景。
  我们建立了基于层次分析法的模糊评价模型,先对各时代的流行歌曲进行随机选择(各 30 首,时间有限,理论上各 100 首为宜),然后对它们的音乐标签进行分析,总结出各时代的特点。接着随机选择 10 首歌,通过分析其特点判断出它所属的年代。并通过对近几十年来音乐发展的分析,得出了歌曲成功要素的变化趋势。
  在对歌曲的年代进行判断的问题中,我们首先使用了层次分析法,把影响歌曲分类的因素分为风格,主题和情感这三个因素。将风格又分为流行、乡村、摇滚和布鲁斯这四种;将主题分为爱国、爱情、友情、亲情和理想;将情感分为喜悦、忧伤、思念和励志。我们选取百度音乐、酷狗音乐、酷我音乐、QQ 音乐及 Last.fm 等大型音乐网站,从上面免费获得音乐(所筛选的歌曲)的标签(包括风格、主题和情感三个方面)。统计得出不同的时代各个因素在总体中的比例,然后运用模糊评价法,建立因子集、评判集等,从而确定风格、主题、情感对应的权值,即这三种因素在不同年代对流行音乐的影响程度。
  为了验证模型的正确性,我们对每个年代的流行歌曲再次进行随机选取(各 10 首,时间有限,理论上 30 首为宜)。我们建立了 BP 神经网络模型,并用matlab对歌曲的风格进行频谱和波形的分析,然后从歌词中总结其主体和情感。结果,运用所建模型得到的音乐标签与权威音乐网站所给标签的一致性很高(均超过 70%)。这表明所建模型具有可行性,因此,是正确的。
  在对音乐的成功要素进行分析的过程中,我们根据之前所统计的结果,并对其建立柱状图,可以清晰地得出风格、主题、情感这三种要素随时代的变化情况,从而分析出成功要素的变化趋势。从 60 年代开始,流行音乐在风格方面从单一化慢慢发展成丰富多元化。主题上以爱国、亲情和友情为主题的流行音乐逐渐减少,表达达爱情的歌曲则明显增加。情感方面表达忧伤的歌曲的比重上升明显,而表达喜悦的歌曲则明显下降;以励志和思念为情感的歌曲则变化不大。

问题分析:

  不同时期的流行音乐不仅反映了不同历史时期人们的精神面貌,也用音乐这个特殊的方式记载着不同历史时期人们的日常生活和人文背景。
  我们研究一首歌曲能够成为一个时代的流行歌曲的原因,首先要从其流行要素来分析。所谓流行要素,即歌曲在流行过程中所必须具备的条件。毫无疑问,好的歌词在歌曲的流行要素中比之音乐是第一位的。词作者借助于艺术想象力和各种其它处理,使得艺术幻象中的空间形象得以再现。歌词创作是一种造型的艺术,词作者要通过各种想象和艺术处理,创造一种美的艺术的幻象。同时,所有的歌词又必须能够传达一个可以用音乐来谱写的思想,并且能够提供某种感情基调和联系线索,以此来激发音乐家的想象力。实际上,当今的流行歌曲已经成为体现当代社会群体文化生活质量的重要衡量标准之一,歌曲的主题和情感主要通过歌词来表现。
  歌曲的第二个重要的流行要素是音乐。当作曲家被一首好的歌词所激励并为它谱曲时,这首词才能变成一支歌。在音乐艺术的创作过程中,音乐家始终处于一种纯粹音响的天地里,大脑里所有的世界有形的影象和现实都变得模糊不清了,感觉对象变得与视觉影象关系不再那么紧密,在其音乐想象中异常充实的是具有广阔连续性的无比激情,每一种东西都能用一种曲调表现出来,并使其组合成为一部完整的作品。音乐的旋律能够反映一首歌的风格。
  我国流行音乐逐渐发展起来是在 70 年代,改革开放后,随着通俗文艺的兴起,流行歌曲在中国大陆保持着迅猛的发展态势,产生了广泛的社会影响。为了进行有针对性的研究,我们将研究对象定义在中国流行音乐范围内,并且将研究阶段分为:60 年代-70年代末、80 年代、90 年代、21 世纪-今…四个时期。
  我们将研究分为两个步骤完成,第一步总结出每个时期流行音乐的特点,第二步根据所得结论将音乐按时代分类。因此建立基于层次分析法的模糊评价模型和 BP 神经网络模型。
  1.第一部分:每个时代流行音乐的特点:可以利用逐层分析法,通过分析不同时代流行音乐的不同标签,总结出其风格特点、主题特点、情感特点这三种具有决定性因素的性质,从而归纳总结出每个时代的流行要素。然后将音乐按时代划分等级,即 60-80年代音乐、80 年代音乐、90 年代音乐、21 世纪音乐,构成评语集。利用模糊分析法,将影响因素分为两个层次,组成一级、二级因素集,再根据抽取的歌曲的数据找出相应的权重集,模糊矩阵,建立模糊评价模型,从而得出歌曲所属的年代。
  2.第二部分:将音乐按时代分类:先建立 BP 神经网络模型,找出能提取流行音乐风格的方法,在分析其主题和情感,按权重得出所在年代。

模型假设:

  (1)随机抽取的音乐具有代表性,能购反映时代的音乐特点。
  (2)音乐的高潮部分能反映它的音乐风格特征。
  (3)流行音乐所属年代的判别因素主要由风格、主题和情感三种因素决定。
  (4)流行音乐的风格特征主要由流行、乡村、摇滚、新世纪这四种因素决定;其他因素影响不大。
  (5)流行音乐的主题特征主要由理想、爱国、爱情、亲情、友情这五种因素决定,其他因素忽略不计。
  (6)流行音乐的情感特征主要由喜悦、忧伤、思念、励志这四种因素决定,其他因素忽略不计。
  (7)所选取的百度音乐、酷狗音乐、酷我音乐、QQ 音乐及 Last.fm 等大型音乐网站上给出的音乐标签具有权威性,即所给标签是正确合理的。

论文缩略图:

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

%画出频谱图和波形图
[y,Fs,bits]=wavread('1yao.wav');%读出信号,采样率和采样位数。
y=y(:,1);
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y.* conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));
title('摇滚音乐的频谱图');
xlabel('Frequency(Hz)');%频谱图
t=(0:sigLength-1)/Fs;
figure;plot(t,y);
title('摇滚音乐的波形图');%波形图
xlabel('Time(s)');
%这是提取特征值函数,返回值为各个端点之间距离的平均值和方差。
function [ FileName,mean_value,variance ] = Feature_Extract( FileName )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
[F,Fs,bits]=wavread(FileName,20*44100);%读入波形函数
time=20;%采样时间
T=1:time*Fs;%采样时间轴
Wave=F(T);
Wave=Wave/max(abs(Wave));%数据统一化处理
WLen=length(T);
winlen=2^nextpow2(Fs*20/1000);
dupwin=2^nextpow2(Fs*5/1000);
stepwin=winlen-dupwin;
E=zeros(WLen-stepwin,1);%初始化能量矩阵
for i=1:stepwin:WLen-stepwin%计算帧能量 FE
xm=Wave(i:i+stepwin);
E(i)=sum(xm.*xm);
end
E0=[E zeros(length(E),1)];
E0=setxor(E0(:,1),0);
j=1;
for i=1:length(E)%记录帧的位置
if E(i)>0
E0(j,1)=E(i);
E0(j,2)=i;
j=j+1;
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(i+1,1)))%若当前帧与后一帧都不为 0
FERa=E0(i+1,1)/E0(i,1);
FERb=E0(i,1)/E0(i+1,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>0
result(1)=FER(1,2);
end%过滤出高潮端点
for i=2:length(FER(:,2))-1
if FER(i,2)-level>0
if FER(i-1,2)-level<0
result0(j)=FER(i,2);
j=j+1;
end
end
end
result0=setxor(result0,0);%删除多余的 0 元素
result=zeros(length(result0)-1,1);
for i=1:length(result0)-1
result(i)=result0(i+1)-result(i);
end
charaction=zeros(size(result));
for i=1:length(result)-1
charaction(i)=result(i+1)-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名片即可

这篇关于2013年认证杯SPSSPRO杯数学建模B题(第二阶段)流行音乐发展简史全过程文档及程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/872373

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展

【科技明说 | 科技热点关注】 2024戴尔科技峰会在8月如期举行,虽然因事未能抵达现场参加,我只是观看了网上在线直播,也未能采访到DTF现场重要与会者,但是通过数十年对戴尔的跟踪与观察,我觉得2024戴尔科技峰会给业界传递了6大重要信号。不妨简单聊聊:从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展? 1)退出中国的谣言不攻自破。 之前有不良媒体宣扬戴尔将退出中国的谣言,随着2