🚀 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 許可證。
版權及使用免責聲明
請遵守以下條件:
- 適用性免責:創建者不對使用本模型所獲得結果的準確性、合法性或適用性做任何保證。
- 用戶責任:使用本模型時,請遵守所有適用的法律法規。因生成內容而產生的所有責任由用戶承擔。
- 創建者免責:本倉庫和模型的創建者對版權侵權或其他法律問題不承擔任何責任。
- 刪除請求響應:如發生版權問題,將立即刪除有問題的資源或數據。
信用信息
音頻解碼器
模型