首页 热门歌手 正文

追忆百万大歌星苏打绿:那些年我们一起追过的演唱会

今天跟大家聊聊我搞的这个“百万大歌星苏打绿”项目,一开始就是头脑发热,觉得好玩,想看看能不能把苏打绿的歌词和旋律给扒下来,然后搞点新花样。

起步:从哪里下手?

    追忆百万大歌星苏打绿:那些年我们一起追过的演唱会

  • 我得找到苏打绿的歌词和音频资源。这年头,网上一搜一大把,但是质量参差不齐。我花了老大力气,把各种网站、App翻了个底朝天,总算找到了一些比较靠谱的资源。
  • 有了资源,下一步就是把歌词扒下来。这个简单,复制粘贴就行。但是!歌词的格式乱七八糟,还得手动整理,真是个体力活。
  • 音频就比较麻烦了。我尝试用Python写了个爬虫,想把网上的音频直接扒下来,结果发现各种反爬机制,搞得我头都大了。后来还是老老实实地用录音软件,一首一首地录,累死个人。

核心:怎么把歌词和旋律对应起来?

这才是整个项目的难点。我想了好几个方案:

追忆百万大歌星苏打绿:那些年我们一起追过的演唱会

  • 方案一:人工标注。 听一句歌,标一句歌词,然后手动对齐。这个方案最靠谱,但是太费时间了,估计得搞到猴年马月。
  • 方案二:语音识别。 用语音识别技术把音频转换成文字,然后和歌词进行匹配。这个方案听起来很高端,但是实际操作起来,语音识别的准确率太低了,匹配效果惨不忍睹。
  • 方案三:频谱分析。 分析音频的频谱,找到每个音节的起始位置,然后和歌词进行对齐。这个方案我研究了好久,但是没搞明白频谱到底是个什么玩意儿,直接放弃。

最终方案:半人工半自动

追忆百万大歌星苏打绿:那些年我们一起追过的演唱会

思来想去,我决定采用一个折中的方案:半人工半自动。

  1. 第一步:先用Python把歌词按照句子分割开来。
  2. 第二步:然后用音频处理软件,把音频也按照句子分割开来。
  3. 第三步:手动听一句歌,把对应的歌词文件和音频文件放在同一个文件夹里,并且按照顺序命名。
  4. 第四步:写一个Python脚本,把歌词文件和音频文件读取出来,然后用HTML生成一个网页,网页上可以播放音频,并且显示对应的歌词。
  5. 追忆百万大歌星苏打绿:那些年我们一起追过的演唱会

实现:代码堆砌

有了思路,就开始撸代码。我用Python写了几个脚本,主要的功能包括:

  • 歌词分割:把完整的歌词文件按照句子分割成多个小文件。
  • 音频分割:用pydub库把音频文件按照句子分割成多个小文件。
  • 追忆百万大歌星苏打绿:那些年我们一起追过的演唱会

  • 网页生成:用HTML和JavaScript生成一个网页,网页上可以播放音频,并且显示对应的歌词。

代码写得比较糙,各种if else满天飞,但是能用就行,毕竟咱也不是专业的程序员。

结果:勉强能用

最终,我把苏打绿的几首热门歌曲都做成了这种“百万大歌星”版本。虽然效果不算完美,但是勉强能用。你可以边听歌,边看歌词,还能跟着哼唱,感觉还不错。

瞎折腾也是一种乐趣

追忆百万大歌星苏打绿:那些年我们一起追过的演唱会

搞这个项目,我学到了不少东西。虽然过程很艰辛,但是也很有趣。最重要的,是让我体会到了瞎折腾的乐趣。以后有机会,我还会继续搞一些类似的小项目,说不定能搞出什么更有意思的东西来!

本文转载自互联网,如有侵权,联系删除

相关推荐