ONNX 模型库
返回模型

说明文档

cy_GB-bu_tts - 威尔士语神经文本转语音

这是一个使用 Piper 训练的威尔士语(Cymraeg)神经文本转语音模型。Piper 是一个快速、本地化的神经 TTS 系统,专为树莓派和其他低端设备优化。

开发者: 班戈大学语言技术单元(Uned Technolegau Iaith, Bangor University) 模型类型: 神经 TTS(基于 VITS 架构) 语言: 威尔士语(cy_GB) 许可证: CC0-1.0 格式: ONNX

模型详情

  • 架构: 基于 Piper 的 VITS(变分推理对抗学习端到端文本转语音)
  • 说话人: 多说话人模型,包含 3 个说话人变体
  • 质量: 中等质量(适用于屏幕阅读器和辅助技术)
  • 模型大小: 约 77 MB
  • 推理速度: 针对CPU实时合成优化
  • 采样率: 22050 Hz
  • 训练框架: Piper 训练流水线

训练数据

该模型使用 bu-tts-cy-en 数据集(班戈大学威尔士语-英语文本转语音数据集)进行训练。

数据集特征:

  • 规模: 10,000-100,000 个样本
  • 语言: 威尔士语和英语(双语数据集)
  • 许可证: CC0 1.0(公共领域)
  • 内容: 音频录音及对应的文本转录
  • 来源: 班戈大学语言技术单元

训练数据局限性:

  • 数据集由免费可用的录音组成(公共领域有声读物和研究质量录音)
  • 覆盖范围不全面,未涵盖所有威尔士语词汇和语境
  • 某些发音模式可能受训练数据中说话人多样性有限的限制
  • 使用更大、更多样化、专业录制的数据集可能提升质量

预期用途

主要用例:

  • 屏幕阅读器和辅助技术(特别是 NVDA 集成
  • 为视力障碍的威尔士语使用者提供的无障碍工具
  • 威尔士语学习应用
  • 本地、离线威尔士语 TTS 应用
  • 威尔士语语音合成研究

支持的平台:

  • 兼容 Piper TTS 运行时
  • 支持 Sonata TTS 引擎
  • x86/x64 架构上的 ONNX Runtime
  • 树莓派和其他资源受限设备

使用方法

使用 Piper

# 下载模型文件
wget https://huggingface.co/techiaith/cy_GB-bu_tts/resolve/main/cy_GB-bu_tts.onnx
wget https://huggingface.co/techiaith/cy_GB-bu_tts/resolve/main/cy_GB-bu_tts.onnx.json

# 运行合成
echo \"Bore da, sut wyt ti?\" | piper \
  --model cy_GB-bu_tts.onnx \
  --output_file output.wav

使用 NVDA 屏幕阅读器

安装 techiaith 威尔士语神经语音 NVDA 插件

  1. 发布页面 下载插件
  2. 安装并重启 NVDA
  3. 首次运行时语音将自动下载(77 MB)
  4. 在 NVDA 的语音设置中选择 "Uned Technolegau Iaith - Welsh Neural Voices"

使用 Python(ONNX Runtime)

import onnxruntime as ort
import numpy as np
import json
import wave

# 加载模型
session = ort.InferenceSession(\"cy_GB-bu_tts.onnx\")

# 加载配置
with open(\"cy_GB-bu_tts.onnx.json\") as f:
    config = json.load(f)

# 完整实现请参考:
# https://github.com/rhasspy/piper/blob/master/src/python_run/piper/voice.py

使用 Sonata 引擎

from sonata import tts_engine

engine = tts_engine.TTSEngine()
engine.load_voice(\"cy_GB-bu_tts.onnx\")

# 合成语音
audio = engine.synthesize(\"Bore da!\")
engine.save_audio(audio, \"output.wav\")

音频样本

收听语音样本:Piper 威尔士语样本

局限性

  • 发音: 某些单词可能表现出不正确或不寻常的发音,特别是:
    • 技术术语和新词
    • 训练数据中未出现的地名
    • 发音规则有歧义的单词
  • 音频质量: 中等质量 - 适用于辅助技术但非录音室级别
  • 领域覆盖: 在一般对话文本上表现最佳;可能在专业领域表现欠佳
  • 表现力: 情感范围有限(中性/信息性语调)
  • 平台: 针对 x86/x64 上的 CPU 推理优化;不支持 ARM64 Windows
  • 语言混合: 虽然在双语数据上训练,但使用纯威尔士语文本效果最佳

性能

  • 实时因子: 在现代 CPU 上 < 1.0(比实时合成更快)
  • 延迟: 低延迟,适用于交互式应用
  • 内存使用: 推理期间约 100 MB RAM
  • 支持平台: Windows 10/11 (x86/x64)、Linux (x86/x64)、树莓派

模型文件

本仓库包含:

  • cy_GB-bu_tts.onnx - ONNX 格式的神经 TTS 模型
  • cy_GB-bu_tts.onnx.json - 模型配置文件(音素映射、采样率等)

引用

如果您使用此模型,请引用:

@misc{cy_GB_bu_tts_2025,
  author = {{Language Technologies Unit, Bangor University}},
  title = {cy\_GB-bu\_tts: Welsh Neural Text-to-Speech Model},
  year = {2025},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/techiaith/cy_GB-bu_tts}}
}

@dataset{bu_tts_cy_en_2025,
  author = {{Language Technologies Unit, Bangor University}},
  title = {Bangor University Text to Speech Welsh-English Dataset},
  year = {2025},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/datasets/techiaith/bu-tts-cy-en}}
}

@misc{piper_tts,
  author = {{Rhasspy Community}},
  title = {Piper: A fast, local neural text to speech system},
  year = {2023},
  publisher = {GitHub},
  howpublished = {\url{https://github.com/rhasspy/piper}},
  note = {Now maintained at \url{https://github.com/OHF-Voice/piper1-gpl}}
}

致谢

本工作建立在更广泛的开源 TTS 社区贡献之上:

  • Piper TTSRhasspy 社区 开发了训练框架和 TTS 架构,使高质量、本地化神经 TTS 变得触手可及
  • Musharraf Omer 创建了 Sonata TTS 引擎Sonata-NVDA 插件,实现了与屏幕阅读器的无缝集成
  • 威尔士语 TTS 训练数据的贡献者
  • 更广泛的开源语音合成社区,推动了无障碍语音技术的发展

许可证

本模型以 CC0-1.0(公共领域) 发布。您可以自由使用、修改和分发本模型,用于任何目的,不受限制。

训练代码采用 MIT 许可证。

联系与支持

组织: Uned Technolegau Iaith / 班戈大学语言技术单元 问题反馈:GitHub Issues 报告问题 项目页面: NVDA 威尔士语神经语音

版本历史

  • 2025.11.0 (Beta): 首次公开发布,包含 3 个说话人变体,中等质量

相关资源


本模型旨在支持威尔士语无障碍功能,并通过现代语音技术保护和推广威尔士语。

techiaith/cy_GB-bu_tts

作者 techiaith

text-to-speech piper-tts
↓ 0 ♥ 0

创建时间: 2025-11-05 10:47:37+00:00

更新时间: 2025-11-16 22:33:36+00:00

在 Hugging Face 上查看

文件 (18)

.gitattributes
MODEL_CARD.md
README.md
cy_GB-bu_tts.onnx ONNX
cy_GB-bu_tts.onnx.json
tensorboard/checkpoints/epoch=14-step=35070.ckpt
tensorboard/checkpoints/epoch=19-step=46760.ckpt
tensorboard/checkpoints/epoch=24-step=58450.ckpt
tensorboard/checkpoints/epoch=29-step=70140.ckpt
tensorboard/checkpoints/epoch=34-step=81830.ckpt
tensorboard/checkpoints/epoch=39-step=93520.ckpt
tensorboard/checkpoints/epoch=4-step=11690.ckpt
tensorboard/checkpoints/epoch=44-step=105210.ckpt
tensorboard/checkpoints/epoch=54-step=128590.ckpt
tensorboard/checkpoints/epoch=59-step=140280.ckpt
tensorboard/checkpoints/epoch=9-step=23380.ckpt
tensorboard/events.out.tfevents.1763153410.ee7dfbfa50b1.99.0
tensorboard/hparams.yaml