我有一些歌曲的背景音乐,有.MID和.KAR两种格式,但在每种情况下,播放速度都比我想的要快。最简单的创建.MID或.KAR文件的方法是什么?它们的内容相同,但速度较慢,例如,一个文件的速度减慢了20%左右,另一个文件的速度减慢了15%,第三个文件的速度减慢了25%,依此类推?
理想情况下,我更喜欢一个跨平台的Python脚本(因为这可以让我很容易地通过实验调整源代码,使其收敛到我想要的精确效果;-),但是我会选择任何在Linux(Ubuntu 8.04,如果重要的话)和Mac(macosx10.5,但是10.6兼容性更好)中运行的免费解决方案。
正如Vinko所说,您可以编辑midi文件,但由于它是二进制格式,压缩到尽可能少的位数,所以有帮助是有帮助的。
这是一个midi到文本转换器(反之亦然):
http://midicomp.opensrc.org/
我最近一直在用它。将midifile作为文本后,对简单操作执行文本处理(例如,使用“Tempo”搜索行)非常简单。没有在mac上试过(在Ubuntu8.04上编译没有问题)。
特别是对于midifile的节奏,很容易放慢或加快播放速度,因为事件的时间是用“滴答”来指定的,滴答的实际持续时间(以秒为单位)是由Vinko引用的tempo参数决定的。我相信时间签名并没有那么重要,它主要用于在midi音序器中正确显示小节/节拍。
此外,除了pyPortMidi之外,还有一些其他python midi模块。
[嗯。。。作为一个新用户,我似乎只能在每篇文章的链接上发表文章。我将尝试在几条评论或其他几个答案中发布到python模块的链接…]
您可以根据http://www.sonicspot.com/guide/midifiles.html编辑文件
虽然可能已经有了一个MIDI读/写库。事实上,这是一个看到相关问题的问题:Simple, Cross Platform MIDI Library for Python
您可以使用music21来完成这项工作,尽管我只在OSX 10.10.1上测试过它。
偏移量就像每个音符的时间戳,而持续时间就是音符发出的时间,我相信对每个音符应用相同的比例因子就像调整节奏一样。
如果你和我一样,那么7年后你也在听同样的歌,你可以试试看!否则,我希望这有助于像我一样今天醒来并绞尽脑汁试图轻松解决这个问题的人。
相关问题 更多 >
编程相关推荐