🚀 Canary-TTS-0.5B
Canary-TTS-0.5B 是一个基于 llm-jp/llm-jp-3-150m-instruct3 训练的 TTS 基础模型。通过删除控制提示减少了参数数量,为进一步的微调做准备。
🚀 快速开始
本项目提供了一个基于 llm-jp/llm-jp-3-150m-instruct3 的 TTS 模型。以下是快速开始使用该模型的步骤。
✨ 主要特性
- 参数优化:以追加学习为前提,通过删除控制提示减少了参数数量。
- 文本朗读:支持通过朗读提示进行文本朗读。
- 代码基础:基于 Parler‑TTS 和 WavTokenizer 的代码构建。
- 技术复用:由于基于 llama,可复用 LLM 的技术。
📦 安装指南
pip install torch torchvision torchaudio
pip install git+https://github.com/getuka/canary-tts.git
💻 使用示例
基础用法
import torch, torchaudio
from transformers import AutoModelForCausalLM, AutoTokenizer
from canary_tts.wavtokenizer import WavDecoder
from rubyinserter import add_ruby
tokenizer = AutoTokenizer.from_pretrained("2121-8/canary-tts-0.5b")
model = AutoModelForCausalLM.from_pretrained("2121-8/canary-tts-0.5b", device_map="auto", torch_dtype=torch.bfloat16)
cache_dir = os.path.join(os.path.join(os.path.expanduser("~"), ".cache"),"outeai", "tts", "wavtokenizer_75_token_interface")
decoder = WavDecoder.from_pretrained(os.path.join(cache_dir, 'decoder')).to(model.device)
prompt = 'こんにちは。お元気ですか?'
prompt = add_ruby(prompt)
chat = [
{"role": "user", "content": prompt}
]
tokenized_input = tokenizer.apply_chat_template(chat, add_generation_prompt=True, tokenize=True, return_tensors="pt").to(model.device)
with torch.no_grad():
output = model.generate(
tokenized_input,
max_new_tokens=512,
do_sample=True,
temperature=0.9,
)[0]
audio_tokens = output[len(tokenized_input[0]):]
features = decoder.codes_to_features(audio_tokens.unsqueeze(0).unsqueeze(0))
output_audios = decoder(features, bandwidth_id=torch.tensor([0], device=features.device))
torchaudio.save("sample.wav", src=output_audios.cpu(), sample_rate=24000)
高级用法
特定话者的语音生成
可以使用 示例的 TTS 模型 进行特定话者的语音生成。
📚 详细文档
模型信息
属性 |
详情 |
模型名称 |
2121‑8/canary‑tts‑0.5b |
基础模型 |
llm-jp/llm-jp-3-150m-instruct3 |
音频解码器 |
OuteAI/wavtokenizer-large-75token-interface |
索引链接
快速索引
示例语音
⚠️ 重要提示
由于这是基础模型,语音质量可能较粗糙。但通过对单一说话者进行额外训练可以解决这个问题。
致谢
感谢以下社区和开发者的贡献:
- Parler‑TTS 社区
- OuteAI 开发者
- wavtokenizer 开发者
许可证
本项目采用 MIT 许可证。
版权及使用免责声明
请遵守以下条件:
- 适用性免责:创建者不对使用本模型所获得结果的准确性、合法性或适用性做任何保证。
- 用户责任:使用本模型时,请遵守所有适用的法律法规。因生成内容而产生的所有责任由用户承担。
- 创建者免责:本仓库和模型的创建者对版权侵权或其他法律问题不承担任何责任。
- 删除请求响应:如发生版权问题,将立即删除有问题的资源或数据。
信用信息
音频解码器
模型