Expand description
HTS-style full-context label structure and parser/serializer from/to string.
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);
Structs§
AccentPhrase
field of full-context label for current accent phrase (F
field).AccentPhrase
field of full-context label for previous or next accent phrase (E
andG
field).BreathGroup
field of full-context label for current breath group (I
field).BreathGroup
field of full-context label for previous or next breath group (H
andJ
field).- The structure representing a single line of HTS-style full-context label.
Mora
field of full-context label (A
field).Phoneme
field of full-context label.Utterance
field of full-context label (K
field).Word
field of full-context label (B
,C
, andD
field).
Enums§
- Errors from jlabel parser.