#midi #音乐 #歌曲 #midi-file #m8 #track #dirtywave

app midi-m8

将 Dirtywave M8 歌曲转换为 Midi 轨道

5 个版本 (稳定版)

1.3.0 2023 年 5 月 7 日
1.2.0 2023 年 4 月 3 日
1.1.0 2023 年 3 月 5 日
1.0.0 2023 年 2 月 26 日
0.1.0 2023 年 2 月 25 日

#276 in 音频

MIT 许可证

25KB
487

midi-m8

一个将 Dirtywave M8 歌曲转换为 Midi 轨道的工具。适用于 CLI 或独立 GUI 应用程序、VST3 或 CLAP 插件(适用于 Windows 和 OSX)。

Crates.io CI

Plugin in action

安装

预编译的 64 位二进制文件(适用于 Linux、Windows 和 OS X)可以在 发行版 中找到。

midi-m8 有 4 个版本:CLI 应用程序、独立 GUI、VST3 插件和 CLAP 插件。只有 CLI 版本适用于 Linux。所有版本都已编译为 x64 Windows、x64 OSX 和 ARM arm64 OSX。

用法

Usage: midi-m8 [OPTIONS] <INPUT_FILE>

Arguments:
  <INPUT_FILE>  Input (.m8s) file

Options:
  -o, --output <OUTPUT>
          Output file name [default: tracks.midi]
  -g, --global-transpose <GLOBAL_TRANSPOSE>
          How to map M8 note numbers to Midi Note numbers [default: 36]
  -t, --only-track <ONLY_TRACK_N>
          Only output track number (1-8)
  -s, --start-from <START_FROM>
          Start from this song position (hex: 00-FF)
  -m, --max-note-length <MAX_NOTE_LENGTH>
          Cap the maximum note length to this value in quarter notes
      --track-1-max-note-length <TRACK_1_MAX_NOTE_LEN>
          Cap the maximum note length for track 1 to this value in quarter notes
      --track-2-max-note-length <TRACK_2_MAX_NOTE_LEN>
          Cap the maximum note length for track 2 to this value in quarter notes
      --track-3-max-note-length <TRACK_3_MAX_NOTE_LEN>
          Cap the maximum note length for track 3 to this value in quarter notes
      --track-4-max-note-length <TRACK_4_MAX_NOTE_LEN>
          Cap the maximum note length for track 4 to this value in quarter notes
      --track-5-max-note-length <TRACK_5_MAX_NOTE_LEN>
          Cap the maximum note length for track 5 to this value in quarter notes
      --track-6-max-note-length <TRACK_6_MAX_NOTE_LEN>
          Cap the maximum note length for track 6 to this value in quarter notes
      --track-7-max-note-length <TRACK_7_MAX_NOTE_LEN>
          Cap the maximum note length for track 7 to this value in quarter notes
      --track-8-max-note-length <TRACK_8_MAX_NOTE_LEN>
          Cap the maximum note length for track 8 to this value in quarter notes
  -h, --help
          Print help
  -V, --version
          Print version

换句话说,将命令指向一个 .m8s 文件,您将获得一个多轨 Midi 文件。您应该能够将这些 Midi 文件拖入您的 DAW。

示例

基本

$ midi-m8 Songs/Demos/DEMO1.m8s

这将创建一个名为 tracks.midi 的文件。

选择输出文件名

$ midi-m8 Songs/Demos/DEMO1.m8s -o output.mid

这将创建一个名为 output.mid 的文件。

限制音符长度

$ midi-m8 -m 2 Songs/Demos/DEMO1.m8s

这将音符长度限制为 2 个四分音符。

单轨

$ midi-m8 --only-track 5 Songs/Demos/DEMO1.m8s

这将只输出轨道 5 到 track-5.midi

起始位置

$ midi-m8 -s 02 Songs/Demos/DEMO1.m8s

这将从歌曲中的位置 02 开始渲染 Midi。

可能的功能

目前尚未支持

  • 时间签名
  • 速度
  • 表格支持
  • 尊重序列器命令(除已支持的 GRV 外)
  • 乐器模式:每个乐器输出一个轨道
  • 可配置的通道
  • 乐器(程序)更改
  • CC 支持

编译

要编译自己的版本,您首先需要 安装 Rust 工具链

然后,获得 midi-m8 的最简单方法是 $ cargo-install midi-m8

或者您也可以

  1. $git clone https://github.com/AlexCharlton/midi-m8.git && cdmidi-m8
  2. cargo build --release 您现在会在 ./target/release/ 目录下获得一个二进制文件。

更新日志

v1.3

  • 添加了GUI版本
  • MIDI音轨名称现在包含歌曲名称

v1.2

  • V3支持

依赖项

~7–16MB
~222K SLoC