如何从给定的歌曲文件构建笔记?

时间:2009-01-05 07:17:32

标签: python

Python中是否有任何模块可以帮助我们构建或获取给定原创歌曲中的音符和八度音?

感谢您的帮助

5 个答案:

答案 0 :(得分:3)

正如lassevk所提到的,这是一个复杂的主题 - 有点像在某种程度上从汇编中重构C代码。话虽这么说,一个很好的框架来播放音频的东西是CLAM:

http://clam.iua.upf.edu/

它是一个用于音乐/音频算法原型设计的开源C ++框架,但是有python包装器和用于原型设计的图形工具。

答案 1 :(得分:2)

这个问题的细节太少,无法提供任何有意义的答案。

问题:

  • 通过歌曲文件,你的意思是MP3吗?
  • 是“歌”还是“乐器”?我会收集试图破解声音背后的笔记会更难
  • 这是一首简单的歌曲,就像在一个简单的乐器上演奏的单个声音,如钢琴或长笛?或者它是一个复杂的,就像在收音机上播放的最新点击一样?

我认为,除了最简单的事情之外,尝试从这样的程序中获得良好的输出对于任何事情都是非常困难的。

话虽如此,看看快速傅里叶变换,它可以为你提供所播放事物的频谱,但是很难确定那是什么。

答案 2 :(得分:2)

我认为您感兴趣的仍然是研究课题。你找不到任何准备就绪的模块。

除了“笔记和八度音”你的意思还不清楚?您希望提取哪些信息?

答案 3 :(得分:0)

Python有一些库。从Audio Misc的此FSF列表开始。

但是,有一些优秀的产品:请参阅Transcribe!TwelveKeys。另请参阅Transcribe Software List

答案 4 :(得分:0)

JordiBartoloméGuillen的“audioSearch.transcriber”模块包含在music21中,可以从单声道声音文件中提供非常准确的转录,所以如果你正在处理一首独奏曲目(或者旋律比伴奏声音大得多) ),它是一个有用的工具,除了研究特征外,你还可以将分数输出到Finale,MuseScore,Lilypond或MIDI。

对于复音转录,其他人提到的情况要少得多。最好的工作是在Melodyne editor,但这是一个商业包。我们距离开源解决方案还有2到2年的时间了。