#日语 #语音合成 #openjtalk #

jlabel

HTS风格的全上下文标签结构和解析/序列化字符串

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

Download history 648/week @ 2024-04-15 138/week @ 2024-04-22 1067/week @ 2024-04-29 654/week @ 2024-05-06 372/week @ 2024-05-13 755/week @ 2024-05-20 269/week @ 2024-05-27 324/week @ 2024-06-03 246/week @ 2024-06-10 233/week @ 2024-06-17 704/week @ 2024-06-24 641/week @ 2024-07-01 57/week @ 2024-07-08 298/week @ 2024-07-15 264/week @ 2024-07-22 614/week @ 2024-07-29

1,298 个月下载量
用于 4 crates

BSD-3-Clause

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