#日语 #语音合成 #文本语音转换 #openjtalk #

bin+lib jpreprocess

日语文本预处理工具,用于语音合成应用(OpenJTalk 的 Rust 语言重写)

17 个版本 (9 个重大变更)

新功能 0.10.0 2024 年 8 月 14 日
0.9.1 2024 年 4 月 29 日
0.8.1 2024 年 3 月 23 日
0.6.3 2023 年 12 月 16 日
0.2.0 2023 年 6 月 6 日

文本处理 中排名 #271

Download history 202/week @ 2024-04-26 14/week @ 2024-05-03 69/week @ 2024-05-10 138/week @ 2024-05-17 50/week @ 2024-05-24 2/week @ 2024-05-31 1/week @ 2024-06-07 93/week @ 2024-08-09

每月下载量 93

BSD-3-Clause 许可

330KB
8K SLoC

jpreprocess

用于语音合成应用的日语文本预处理工具。

此项目是 OpenJTalk 的 Rust 语言重写。

用法

在 Cargo.toml 中添加以下内容

[dependencies]
jpreprocess = "0.10.0"

如果需要控制 njd 和 jpcommon 的处理方式,可能需要添加 jpreprocess-njd 和/或 jpreprocess-jpcommon

示例

在此示例中,jpreprocess 使用 lindera 字典将文本预处理为 jpcommon 标签。

use jpreprocess::*;

let config = JPreprocessConfig {
     dictionary: SystemDictionaryConfig::File(path),
     user_dictionary: None,
 };
let jpreprocess = JPreprocess::from_config(config)?;

let jpcommon_label = jpreprocess
    .extract_fullcontext("日本語文を解析し、音声合成エンジンに渡せる形式に変換します.")?;
assert_eq!(
  jpcommon_label[2].to_string(),
  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"
  )
);

其他示例可以在 GitHub 上找到。

版权

此软件包含以下来源的源代码

  • OpenJTalk. 版权所有 (c) 2008-2016 纳谷工业大学计算机科学部
  • Lindera. 版权所有 (c) 2019 项目作者

许可证

BSD-3-Clause 许可

API 参考文档

依赖项

~17MB
~337K SLoC