计算机音乐的构成和分析是一个巨大的领域.这类工作有两个基本领域,有些重叠.
存在许多许多库,工具和专用编程语言,它们可以帮助解决这些问题的不同部分.这是Python的音乐相关程序和库列表.有很多技术可供选择; 你应该能够找到一些能够为你工作的首要任务.通过非常低级别的频率分析工具(如傅里叶变换)重新实现"音乐解析器" ,正如其他答案所暗示的那样,虽然可能,但是很难并且几乎肯定是不必要的.
有关进一步的建议和具体问题,国际音乐信息检索协会有一个邮件列表,您可能会发现它非常有用.
一旦你超越了Lennart提到的FFT内容,你可能想看一下Markov链来分析音符和聚合模式之间的间隔.
这是一种踩踏的地面,但过去曾使用马尔可夫链来构建一种来自各种歌曲的旋律统计模型,可用于产生新的旋律.马尔可夫链可以用书面英语句子做同样的事情.有关如何看起来的一个例子,请玩megahal chatterbot以了解马尔可夫链如何产生在统计上看起来像其输入的损坏输出(在megahal的情况下,它看起来像英语句子)
你可以将前100名混合起来,然后让马尔可夫链发电机爆炸下一个大热门.
另一方面,您可能想要考虑音乐本身的任何质量都不会使歌曲流行.或者也许是与音乐营销相结合的音乐质量问题.