What?! 时间序列还能造音乐

时间序列分析是一种常用的处理随时间变化数据的统计方法,它通过寻找数据过去的规律来预测其未来的发展趋势。时间序列分析广泛应用于自然科学和社会科学的各个领域,比如天气预报、销量预测等等。

时间序列分析+音乐=?

What?! 时间序列还能造音乐

时间序列分析是一种常用的处理随时间变化数据的统计方法,它通过寻找数据过去的规律来预测其未来的发展趋势。时间序列分析广泛应用于自然科学和社会科学的各个领域,比如天气预报、销量预测等等。

而音乐,是反映人们现实生活情感的艺术,是人类的精神食粮。时间序列和音乐,两个听起来不太相干的事物能碰撞出什么样的火花呢?让我们在下面的故事中寻找真相。

有故事哦?

What?! 时间序列还能造音乐

故事的主人公叫王大锤,他有一个相恋多年的女友苏小美。两人的爱情始于校园,从相识相知到相亲相爱,他们共同走过了四年的大学生活。

转眼又是一年毕业季,大学生活即将结束,人生将迈入新的旅程。在这一特殊时刻,王大锤也希望为自己的爱情开启一个新阶段,他决定向小美求婚,成为守护她一生的男人。

What?! 时间序列还能造音乐

可是如何求婚才能给小美一个惊喜呢?王大锤犯难了……这时,作为王大锤好基友的慕容白同学,想出了一个好主意:“小美平时那么喜欢唱歌,你为她作一首独一无二的求婚歌,她一定会被感动的!”这个主意让王大锤眼前一亮。然而,理想很美好,现实很骨感。作曲这么高级的操作对于王大锤这种音乐小白来说,简直是难于上青天啊!

正所谓帮人帮到底,为了帮助王大锤同学实现作曲的目标,慕容白抛出了终极大招:“直接创作确实有难度,不过可以以一段现有旋律为基础,采用时间序列的方法进行乐曲改编,这样也能得到你的专属旋律哦~”

What?! 时间序列还能造音乐

艰辛的音乐探索之路

What?! 时间序列还能造音乐

虽然可以借助时间序列分析来降低改编乐曲的难度,但还是需要了解基本的乐理知识。于是,慕容白为好友王大锤开启了音乐小课堂。

一首音乐主要由曲调、节奏、力度等构成。我们常见的乐谱有两种,一种是简谱,一种是五线谱。简谱主要展示乐曲的主旋律,而五线谱可以展示所有的音乐要素。下图展示了我们熟悉的do re mi fa sol la xi do在五线谱和钢琴上的对应位置。

What?! 时间序列还能造音乐

五线谱是一种世界通用的记谱法,主要由音符、谱号、谱表组成。五线谱中的内容非常复杂,它可以记录音域的高低、音阶的升降、弹奏的强弱以及多音弹奏形成的和弦等。对五线谱感兴趣的童鞋可以阅读下图了解每个符号的具体含义哦。

What?! 时间序列还能造音乐

看完五线谱后,王大锤的内心是崩溃的……这么复杂的内容很难一时都掌握啊啊啊。别着急,在使用时间序列作曲时,我们可以把五线谱中的内容简化,只抽取乐曲中的主旋律,体现曲调和节奏即可,和弦、强弱、踏板什么的就不管了。

然后需要做的就是把主旋律变成数字,让时间序列模型可以“认识”乐曲。具体来说,我们将主旋律中的每个音符按照其在钢琴键盘上的对应位置编码成1到103的数字。熟悉钢琴的朋友可能会疑惑,钢琴不是只有88个键吗?怎么多出了几个?这是因为白健和黑键之间差半个音,但相邻的两个白健之间差一个音,为了保证音的跨度和数字的间隔相等,特意将没有黑键的部分也进行了编号。

What?! 时间序列还能造音乐

此外,我们用数字的重复来体现音乐的节奏。比如一段旋律的节奏最小单位为半拍,那对于一个两拍的音符,就将其重复4次。这样我们就实现了乐谱的结构化,已经离成功不远了。下面进入真正的造音乐环节。

选乐曲

What?! 时间序列还能造音乐

首先需要确定曲目。由于在乐谱结构化时只提取了主旋律,所以慕容白建议大锤可以选一首主旋律比较鲜明,和旋和伴奏较少的歌,一般来说纯音乐比较合适。王大锤还是懂小美的,因此他选择了小美最爱的钢琴曲《忧伤还是快乐》。

What?! 时间序列还能造音乐 忧伤还是快乐 K.Williams – The Golden Piano What?! 时间序列还能造音乐

《忧伤还是快乐》原名《My Soul》,出自韩国作曲家July。这首歌夹带着淡淡的悲伤缓缓道来,然后节奏逐渐变得欢快,就像人生,由悲转喜,由苦到甘。虽然人生难免遇到忧愁和困苦,但是大锤希望能够为小美带来欢快和幸福。所以这首歌正和心意!

What?! 时间序列还能造音乐

造音乐

What?! 时间序列还能造音乐

王大锤将乐曲中反复出现的一段旋律作为训练集,并对它进行了结构化处理。从结构化之后的时序图中可以发现,这段旋律具有明显的周期性特征,属于非平稳序列,对该序列的平稳性检验也支持了这一结果。

What?! 时间序列还能造音乐

对非平稳序列的分析方法,常用的有ARIMA模型和指数平滑法。ARIMA模型是一种常用的非平稳序列分析方法,它的实质是先对时序数据进行差分运算,使数据变为平稳序列,然后再建立ARMA模型。在确定性时序分析中,选择了holt-winters三参数指数平滑法,它可以削弱短期随机波动对序列的影响,使序列平滑,从而显示出变化规律。

ARIMA模型

What?! 时间序列还能造音乐

由于原始序列属于非平稳序列,因此对非平稳序列进行差分处理,也就是计算t时刻到t-1时刻的差值。对于差分后的序列,可以用单位根检验来判断它的平稳性,用Ljung-Box检验来判断它的纯随机性。从下面展示的结果中看到,差分后的序列是平稳的、非白噪声序列,因此可以进行后续建模。

What?! 时间序列还能造音乐

为了确定模型并选择阶数,对差分后的序列计算了ACF(自相关系数)和PACF(偏自相关系数),如下图所示,可以看出两者均有明显的拖尾特征。当序列表现出这种特征时,说明单纯使用AR模型或者MA模型已经不再合适,因此考虑用ARMA模型。通过进一步计算数据的EACF(延伸自相关系数),王大锤最终选择使用ARMA(1,1)模型对差分后的序列建模,也就是对原序列建立ARIMA(1,1,1)模型。

What?! 时间序列还能造音乐

下图展示了模型估计的结果,可以看出AR部分和MA部分的系数都是显著的。此外,在建模结束之后还需要检验一下模型的有效性,也就是看模型的残差是否是白噪声。检验结果表明,没有证据表明残差是非白噪声序列,这说明建立的ARIMA(1,1,1)模型已经能够完全提取序列间的相关性,因此该模型是可以接受的。

What?! 时间序列还能造音乐

接着进入最关键的一个环节,生成新乐曲。王大锤摩拳擦掌,能不能给小美一个惊喜就看它了!王大锤根据建立的模型对乐曲未来走势进行预测,通过这种方法自动的生成新旋律。但结果出来后,王大锤傻眼了,新生成的旋律波动并不明显,后期的乐曲都一直维持在相同的水平上,也就是一直在播放同一个音符,这可不好听。只能试试其他方法了。

What?! 时间序列还能造音乐

指数平滑模型

What?! 时间序列还能造音乐

由于序列具有明显的周期性特征,因此王大锤选择了holt-winters三参数指数平滑模型。平滑法是时间序列分析中一种常用的数据修匀技术,它可以削弱短期随机波动对序列的影响,使序列平滑,从而显示出变化规律。holt-winters三参数指数平滑模型认为一个序列受到水平因素(at)、趋势因素(bt)和季节因素(st)的影响,并给出不同因素之间相互作用的关系,因此可以处理既包含时间趋势项,又有周期性变化规律的时序数据。模型的具体形式和部分估计结果见下图:

What?! 时间序列还能造音乐

同样,王大锤进行了预测编曲,发现新生成的旋律和原始乐曲的变动趋势差不多,保留了之前的周期性。把这次新生成的乐曲播放出来一听,惊喜的发现,哎呦,不错哦,立马决定求婚时就用它啦!!

改编后乐曲 来自狗熊会 00:00 00:41

What?! 时间序列还能造音乐

Happy Ending

What?! 时间序列还能造音乐

微风不燥,阳光正好,就像那天大锤和小美第一次约会时那样。此时此刻,王大锤拨动着手里的琴弦,悠扬的琴声触动了小美的心弦。王大锤终于说出了一直埋藏在心里的话,那句“你是否愿意”饱含深情与期待。小美也为大锤的的心意所感动,轻轻说出那句“我愿意” ……故事完美结局。

What?! 时间序列还能造音乐

本文为专栏文章,来自:狗熊会,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/56324.html 。

(3)
狗熊会的头像狗熊会专栏
上一篇 2018-06-14 23:03
下一篇 2018-07-02 18:58

相关文章

关注我们
关注我们
分享本页
返回顶部