#midi #music #smf #encoding

nodi

一个用于播放和抽象MIDI文件的库

31个版本 (1个稳定版本)

1.0.0 2024年1月7日
0.19.2 2022年6月13日
0.18.1 2022年6月8日
0.14.0 2022年3月31日
0.13.2 2021年10月18日

#125音频

每月下载量34次
用于 3 crate

MIT许可

32KB
697

Nodi

Build Status crates.io docs.rs

Nodi提供用于播放和抽象MIDI文件的类型和函数。

此crate与midlymidircrate协同工作。然而,您可以实现自己的MIDI播放器,而不仅仅是依赖midir

特性

  • 时间映射MIDI事件。
  • 合并或合并多个MIDI轨道。
  • 播放MIDI文件。
  • 将MIDI轨道分割为小节/节。
  • 转调轨道。

示例

查看/examples/play_midi.rs以获取基本midi播放器。

我开始开发这个crate,因为我需要它现在提供的功能。以下是nodi在现实世界中的使用示例

  • midnote:一个可访问的MIDI音符查看器/播放器。
  • plmidi:一个命令行MIDI播放器。

crate特性

默认启用的特性

  • hybrid-sleep:更精确的睡眠,混合常规睡眠和高效的自旋锁定。启用此功能后,此crate中定时器的默认实现将使用此功能。强烈推荐Windows用户,但这也可能增加其他平台上的时间。

可选特性

  • midir:为midir::MidiOutputConnection添加Connection实现。
  • midir-jack:与midir相同,但使用Jack后端。
  • midir-winrt:与midir相同,但使用WinRT后端。

依赖关系

~0.2–28MB
~356K SLoC