gpt4 book ai didi

python - 如何 "slow down"一个 MIDI 文件(最好在 Python 中)?

转载 作者:太空狗 更新时间:2023-10-29 17:04:02 26 4
gpt4 key购买 nike

我有一些 .MID 和 .KAR 格式的歌曲背景音乐,但在每种情况下播放速度都比我想要的要快。创建具有相同内容但速度较慢的 .MID 或 .KAR 文件的最简单方法是什么——比如说,一个减慢 20% 左右,另一个减慢 15%,第三个减慢 25%,等等?

理想情况下,我更喜欢跨平台的 Python 脚本(因为这可以让我轻松地通过实验调整源代码以收敛到我想要的确切效果;-),但我会采用在Linux(Ubuntu 8.04,如果重要的话)和 Mac(Mac OS X 10.5,但最好兼容 10.6)。

最佳答案

正如 Vinko 所说,您可以编辑 midi 文件,但由于它是一种二进制格式,压缩到尽可能少的位数,因此获得帮助会很有帮助。

这是一个 midi 到文本的转换器(反之亦然):
http://midicomp.opensrc.org/
我最近一直在使用它。一旦将 midifile 作为文本,进行文本处理(例如搜索带有“Tempo”的行)进行简单操作就非常简单了。没有在 mac 上试过(在 ubuntu 8.04 上编译没有问题)。

特别是关于 midifile 速度,放慢或加快播放速度真的很容易,因为事件的时间是根据“节拍”指定的,其实际持续时间(以秒为单位)由 Vinko 的引述中描述的速度参数决定。我认为拍号不是那么重要,主要是为了在 MIDI 音序器中打开时正确显示小节/节拍。

此外,除了 pyPortMidi 之外,还有一些其他 python midi 模块。

[嗯...作为新用户,我似乎只能在每个帖子的链接上发帖。我将尝试在一些评论或其他几个答案中发布指向 python 模块的链接...]

关于python - 如何 "slow down"一个 MIDI 文件(最好在 Python 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1384588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com