#key #musical #parser #notation #transpose #played #transposer

libkeynotation

一个(音乐)键标记解析器和移调器

3 个不稳定版本

0.2.0 2024年1月26日
0.1.2 2023年11月30日
0.1.1 2023年11月30日

#2 in #transpose

每月 29 次下载

自定义许可

43KB
849

crates.io badge docs.rs badge gpl license badge

libkeynotation - 一个(音乐)键标记解析器和移调器

该库支持解析不同格式的音乐键标记,并可以进行移调。您可以在不同的格式之间自由转换,如果轨道播放速度加快或减慢,还可以进行移调。

支持的标记

  • 传统(例如:F#m, Abm, G♭,...)
  • OpenKey (1m, 1d, 12m, 12d..)
  • Lancelot (1A, 1B... 12A, 12B)

示例

use libkeynotation::Key;
let key = Key::from_string("F#m").unwrap();
assert_eq!(key.lancelot(), "11A");
assert_eq!(key.open_key(), "4m");
assert_eq!(key.transpose_bpm(135.0, 140.4).lancelot(), "6A");

依赖项

~0–1MB
~18K SLoC