5 个不稳定版本
0.3.1 | 2021年11月9日 |
---|---|
0.3.0 | 2020年12月4日 |
0.2.0 | 2020年2月20日 |
0.1.1 | 2019年12月31日 |
0.1.0 | 2019年12月31日 |
#1449 在 解析器实现
29KB
741 行
chordpro-rs
用 Rust 编写的 Chordpro 文件解析器。Chordpro 是一种简单的文本格式,用于和弦歌词的标记。虽然最初是为吉他手设计的,但可以用于所有类型的音乐目的。
该格式的规范可以在官方网站找到:https://www.chordpro.org/
示例
为 std::str::FromStr
实现了 Song
结构体
# use chordpro::Song;
# use std::str::FromStr;
let song = Song::from_str(r##"
{title: Song Title}"
{artist: The Artist}
This is the first verse.
You can specify chords using brackets.
This is a [G]chord
{soc}
This is the chorus of the song
[Em]You can also add some chords
{eoc}
"##).unwrap();
支持指令
- 元数据
- 标题(简称:t)
- 副标题(简称:st)
- 艺术家
- 作曲家
- 作词家
- 版权
- 专辑
- 年份
- 调性
- 时间
- 速度
- 时长
- 变调夹
- 元数据
- 格式化
- 注释(简称:c)
- 斜体注释(简称:ci)
- 方框注释(简称:cb)
- 图片
- 环境
- 副歌开始(简称:soc)
- 副歌结束(简称:eoc)
- 副歌
- 诗句开始
- 诗句结束
- 吉他谱开始(简称:sot)
- 吉他谱结束(简称:eot)
- 网格开始
- 网格结束
- 自定义扩展(以
x_
为前缀)
支持和弦
目前,仅支持 A-G 记号进行解析。降音(带有 b
),升音(带有 #
)和常见后缀(m
,min
,maj
,数字)。
将和弦引用包裹在 chordpro::Latin
中,该和弦以拉丁符号格式化(Do
,Re ,
Mi
)。
依赖项
~4MB
~84K SLoC