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 行
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