5 个版本
0.1.4 | 2024年3月25日 |
---|---|
0.1.3 | 2024年3月2日 |
0.1.2 | 2024年2月6日 |
0.1.1 | 2024年2月4日 |
0.1.0 | 2024年1月25日 |
#2 in #openjtalk
1,298 个月下载量
用于 4 crates
31KB
629 行
jlabel
HTS风格的全上下文标签结构和解析/序列化字符串。
使用方法
将以下内容放入Cargo.toml
[dependencies]
jlabel = "0.1.4"
许可证
BSD-3-Clause
API参考
lib.rs
:
HTS风格的全上下文标签结构和解析/序列化字符串。
use jlabel::{Label, Mora, Phoneme, Word};
use std::str::FromStr;
let label_str = concat!(
"sil^n-i+h=o",
"/A:-3+1+7",
"/B:xx-xx_xx",
"/C:02_xx+xx",
"/D:02+xx_xx",
"/E:xx_xx!xx_xx-xx",
"/F:7_4#0_xx@1_3|1_12",
"/G:4_4%0_xx_1",
"/H:xx_xx",
"/I:3-12@1+2&1-8|1+41",
"/J:5_29",
"/K:2+8-41"
);
let label: Label = label_str.parse()?;
assert_eq!(
label.phoneme,
Phoneme {
p2: Some("sil".to_string()),
p1: Some("n".to_string()),
c: Some("i".to_string()),
n1: Some("h".to_string()),
n2: Some("o".to_string()),
}
);
assert_eq!(
label.mora,
Some(Mora {
relative_accent_position: -3,
position_forward: 1,
position_backward: 7,
})
);
assert_eq!(
label.word_next,
Some(Word {
pos: Some(2),
ctype: None,
cform: None,
})
);
assert_eq!(label.breath_group_prev, None);
#
依赖关系
~275–790KB
~19K SLoC