【问题标题】:Python: midi to audio streamPython:midi 到音频流
【发布时间】:2010-12-04 18:00:56
【问题描述】:

我需要将 MIDI 数据转换/合成为音频流 PCM 数据。有什么简单的方法可以做到这一点?

【问题讨论】:

  • is.gd/igp4m -- 我已经看到很多关于将 MIDI 转换为音频的问题,我不得不写这个。如果您正在考虑编写一些需要这样做的软件系统,请花时间阅读它。
  • @Nik:我当然知道所有这些(而且我认为大多数人都会这样做,因为这是合乎逻辑的)。您认为这里用什么词来代替“转换”更合适?
  • 我会使用“合成”这个词。 ;) 抱歉,我不是故意要听起来居高临下;似乎低估了完成这项任务的难度的人经常问这个问题。
  • @NikReiman 我想阅读您所写的关于“音频到 midi”的内容,但链接 (is.gd/igp4m) 已失效。可以发个固定链接吗?
  • @samboosalis 是的,我迁移了一些域。新链接在这里:mergeconflict.net/2010/12/just-for-record-you-dont-convert.html

标签: python audio midi


【解决方案1】:

Take your pick关于你想要做什么,页面上有一个 MIDI 部分。

【讨论】:

  • 看来那里列出的所有 MIDI 库都不能满足我的要求。还是我错过了一个?
  • 我不知道您的问题的具体答案,但是请浏览链接中的库,也许它们确实符合您的目的。如果您知道可以为您执行此操作的外部命令/软件,那么subprocess 可以提供帮助。
  • @Albert:几乎所有“播放和创建声音”中的 MIDI 工具都可以处理。
  • @Ignacio:我不太明白他们如何支持这一点。你能解释一下吗?
  • 我认为我的问题是我没有意识到我想要的东西叫做“合成器”。
【解决方案2】:

我决定自己编写代码(基于胆怯和子流程)。代码可以在这里看到: https://github.com/albertz/learn-midi/blob/master/decode.py

我在这里为 MacOSX 下载了 Timidty 的预编译二进制文件: http://www.merenbach.com/software/ports/timidity

我从这里安装了 Freepats 包: http://freepats.zenvoid.org/

【讨论】:

    【解决方案3】:

    使用 Jython 是一种选择吗? 我认为 javax.sound.midi 类会处理这个问题。

    【讨论】:

      【解决方案4】:

      你可以试试这个:

      midi2audio

      项目描述:

      “轻松将 MIDI 合成为音频或只是播放它。它为 FluidSynth 合成器提供 Python 和命令行界面,使其易于使用并适用于脚本和批处理。相比之下,大多数 MIDI 处理软件是 GUI - 基于。”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-23
        • 1970-01-01
        • 2016-04-11
        • 1970-01-01
        • 1970-01-01
        • 2012-02-17
        • 2011-07-15
        • 2011-06-13
        相关资源
        最近更新 更多