#音乐 #声音 #音频 #萨克斯风

应用 萨克斯指法图生成器

接受midi文件,并输出萨克斯风的指法图

8个版本

0.2.5 2022年8月12日
0.2.4 2021年10月21日
0.2.2 2020年9月10日
0.1.2 2020年8月19日

73多媒体 中排名

每月 30 次下载

MIT 许可证

50KB
1K SLoC

Rust 719 SLoC // 0.0% comments Rusty Object Notation 380 SLoC // 0.1% comments

萨克斯指法图生成器

此程序以MIDI文件作为输入,并生成与该MIDI文件中音符匹配的萨克斯风指法图。时间、音符长度和其他音乐元素不被保留,这只是学习每个音符指法的途径。尽管如此,这可能在将来扩展并变得更加复杂。

指法由一个简单的加权算法决定,该算法根据前一个音符中的键选择音符的指法。可能还有更聪明的处理方式,我欢迎意见。

用法

  • fingering_chart [midi_file...]

只需用fingering_chart打开midi文件,等待生成图表!您也可以通过指定一个或多个midi文件来通过命令行运行它,如上所示。确保cfg.ron文件与fingering_chart位于同一目录中。以下为附加设置。

cfg.ron

cfg.ron是配置文件

  • transposition_type设置转调。可以使用AltoTenorBaritoneSopranoBassCMelodyContrabassSopraninoSubcontrabassSopranissimo
  • output_path设置输出路径。如果这是一个不存在的目录,将尝试创建。
  • output_format设置输出格式。可以使用TracksRowsSeparateTracks以单个文件输出每个midi轨道的图表。 Rows将轨道拆分为多个文件,每个文件包含一行的音符。 Separate以单独的文件输出每个单独的音符。
  • spacing设置连续音符之间的视觉间距。当使用Separate输出格式时,不适用。
  • notes_per_row设置每行的音符数量。当使用Separate输出格式时,不适用。
  • notes您现在可以完全自定义支持的音符以及每个音符将使用的指法。详细说明存在于cfg.ron文件中。

计划中的功能

  • altissimo/trill的指法
  • 检测MIDI文件中是否有超出范围的音符,可选择自动尝试将MIDI文件转调以适应萨克斯管音域(首先按八度,然后按半音)。目前超出范围的音符只是被警告并保留。

示例

The Lizards

依赖项

~15MB
~107K SLoC