【问题标题】:Mac/Windows MIDI application programming languageMac/Windows MIDI 应用程序编程语言
【发布时间】:2011-01-03 15:07:00
【问题描述】:

编写可在 MAC 和 Windows 上运行的 MIDI 交互式音乐应用程序的最佳编程语言是什么?

【问题讨论】:

  • 无论你熟悉什么,都有一个不错的 MIDI 库可供使用。
  • 这个问题应该是维基,因为没有正确/不正确的答案。

标签: windows macos programming-languages midi


【解决方案1】:

我使用 C++ 编写了跨平台(Mac OS X 和 Windows)MIDI 应用程序。我将RtMidi 用于 MIDI I/O,这非常容易上手(在每个平台上,它只是开箱即用)。 C++ 的优点是您可以在每个平台上使用本机 GUI,但如果您还没有接触 C++,我会说跨平台项目是一个非常雄心勃勃的第一个项目。

【讨论】:

  • RtMidi +1。但请注意,如果您想在 OS X 上打开虚拟 midi 端口,RtMidi 实现不允许您在运行期间保留同名虚拟端口。
【解决方案2】:

一个可能性是 .NET(C# 或 VB.Net),它可以在 Windows(当然)和 Mac(感谢 Mono)上运行。缺点是 .NET 对 MIDI 没有任何本机支持,因此您必须为 MIDI 开发两个不同的本机 API。

Java 是另一种可能性,因为它有许多支持 MIDI 的库可用。不过,你的 UI 看起来肯定很糟糕。

【讨论】:

  • @liquidblueocean:我相信你的时间比发布这样无用的 cmets 有更好的用途。
  • 我们已经成功地在 Windows 和 Mac 上使用 Mono 编写了一个 MIDI 应用程序。尽管我们在 Windows 上使用了 WinForms UI,在 Mono 应用程序上使用了 Cocoa UI。他们当然分享了一些代码,但不是 100%。
  • @IainMNorman:MIDI 样本转储标准还是普通 MIDI?这是一个我可以查看的公开可用的应用程序吗?
【解决方案3】:

Python 对 MIDI 有大量支持,可在 Mac 和 Win 上运行。 pygame.midi PyPortMidi PythonMIDI 蝼蛄

【讨论】:

    【解决方案4】:

    对于 mac 和 windows,我建议使用 Java。 Midi 只是一个协议,所以任何语言都可以做到。一个好的框架会加快速度。 Java 具有与 Midi 和其他多媒体源一起工作的框架。

    【讨论】:

      【解决方案5】:

      PortMidi 是另一个流行的跨平台 MIDI 库。 Qt 是一个不错的跨平台框架、GUI 和实用程序库。

      【讨论】:

        【解决方案6】:

        这是一个旧线程,但现在您可以使用 .NET。我的意思是微软的官方跨平台 .NET,而不是 Mono。在这种情况下,我可以推荐我的图书馆——DryWetMIDI。它的核心部分(处理 MIDI 文件、处理 MIDI 数据等)对于 .NET 支持的任何操作系统都是跨平台的。

        至于使用 MIDI 设备,此 API 支持 Windows 和 macOS(这正是您所需要的)。此处提供库的完整文档:https://melanchall.github.io/drywetmidi。在那里你可以找到完整的 API 参考和帮助文章。例如,working with MIDI devices 上的概述文章。

        该库通过NuGet package 分发,可以通过 NuGet 在 Windows 和 macOS 上安装。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-03
          • 2011-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-01
          • 2011-03-17
          相关资源
          最近更新 更多