语言:
- 日语
基础模型:
- parler-tts/parler-tts-large-v1
- retrieva-jp/t5-base-long
数据集:
- ylacombe/libritts_r_filtered
- ylacombe/libritts-r-filtered-descriptions-10k-v5-without-accents
任务标签: 文本转音频
库名称: transformers
标签:
- 文本转语音
- 标注
- 日语
许可证: 其他
日语Parler-TTS大模型(β版)
本仓库基于parler-tts/parler-tts-large-v1进行再训练,实现了日语文本朗读功能。该模型在保持轻量化的同时能生成高质量语音。
注意:与原版Parler-TTS使用的分词器不兼容,本模型采用专用分词器。
当前为β测试版,功能优化与模型调整仍在进行中。
正式版发布地址:
日语Parler-TTS索引
注意事项
日语Parler-TTS大模型虽具备出色的语音表现力与高品质生成能力,但因训练不足可能存在稳定性问题。若需稳定运行,建议使用更轻量且稳定的日语Parler-TTS迷你版。
由于训练数据构成限制,本模型对男性声线的生成效果可能欠佳,特别是在自然语调和音质调整方面存在局限,敬请谅解。
📖 快速索引
🛠️ 使用指南
👨💻 安装
执行以下命令安装依赖:
pip install git+https://github.com/huggingface/parler-tts.git
pip install git+https://github.com/getuka/RubyInserter.git
🎲 随机语音生成
import torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
from rubyinserter import add_ruby
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = ParlerTTSForConditionalGeneration.from_pretrained("2121-8/japanese-parler-tts-large-bate").to(device)
tokenizer = AutoTokenizer.from_pretrained("2121-8/japanese-parler-tts-large-bate")
prompt = "こんにちは、今日はどのようにお過ごしですか?"
description = "一位音调稍高的女声以中等语速在密闭环境中进行平淡叙述,录音效果清晰"
prompt = add_ruby(prompt)
input_ids = tokenizer(description, return_tensors="pt").input_ids.to(device)
prompt_input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
audio_arr = generation.cpu().numpy().squeeze()
sf.write("parler_tts_japanese_out.wav", audio_arr, model.config.sampling_rate)
示例音频
🎯 指定说话人
开发中
致谢
特别鸣谢以下资源提供者对本项目的支持:
没有他们的贡献,本项目将难以实现。
版权与免责声明
本模型及仓库允许用于研究、教育及商业用途,但需遵守以下条款:
-
商业使用限制
允许将生成音频用于商业目的,但禁止直接转售模型文件或权重数据。
-
适用性声明
开发者不保证生成结果的准确性、合法性或适用性。
-
用户责任
使用者须确保符合所有法律法规,并对生成内容承担全部责任。
-
开发者免责
开发者不承担因版权侵权等法律问题引发的责任。
-
侵权处理
如遇版权争议,将立即删除相关资源。