sunx.ai

sunx.ai

自分自身のテキストを音声に変換するためにChatTTSのデプロイをゼロから始めましょう。

基礎環境#

PyTorch  2.1.0

Python  3.10(ubuntu22.04)

Cuda  12.1

インストール#

git clone https://github.com/2noise/ChatTTS.git
cd ChatTTS
pip install -r requirements.txt


# もしwebui.pyを起動したい場合は、gradioも追加でインストールしてください
pip install gradio

実行#

python webui.py
# 実行後、モデルが自動的にhuggingfaceフォルダにダウンロードされます。魔法を持っているか、huggingfaceのプロキシサイトを使用してください
# ポートを指定して実行する場合
python webui.py --server_port 1234

API の作成#

# 簡易版 api.py      実行 python api.py
import ChatTTS
import torch
import torchaudio
from IPython.display import Audio

# ChatTTSモデルの初期化
chat = ChatTTS.Chat()
chat.load_models(compile=False)  # パフォーマンスを向上させる場合はTrueに設定できます
rand_spk = chat.sample_random_speaker()
# 変換するテキスト
texts = ["こんにちは、私はテキストを音声に変換します"]

# 推論を実行
wavs = chat.infer(texts)

# 音声ファイルを保存
torchaudio.save("output1.wav", torch.from_numpy(wavs[0]), 24000)

###################################
# 高度なバージョン v-api.py       実行 python v-api.py
import ChatTTS 
import torch
import torchaudio
from IPython.display import Audio


chat = ChatTTS.Chat()
chat.load_models(compile=False)  # パフォーマンスを向上させる場合はTrueに設定できます

###################################
# ガウス分布から話者をサンプリング

rand_spk = chat.sample_random_speaker()

params_infer_code = {
  'spk_emb': rand_spk, # サンプリングされた話者を追加
  'temperature': .3, # カスタムの温度を使用
  'top_P': 0.7, # 上位Pのデコード
  'top_K': 20, # 上位Kのデコード
}

###################################
# 文レベルの手動制御のため

# テキスト内でoral_(0-9), laugh_(0-2), break_(0-7)を使用して、特殊トークンを生成して合成します。
params_refine_text = {
  'prompt': '[oral_2][laugh_0][break_6]'
} 

###################################
# 単語レベルの手動制御のため。
text = 'What is [uv_break]your favorite english food?[laugh][lbreak]'
wav = chat.infer(text, skip_refine_text=True, params_refine_text=params_refine_text,  params_infer_code=params_infer_code)
torchaudio.save("output2.wav", torch.from_numpy(wav[0]), 24000)

結論#

さまざまな調整があります。速度、ランダムなキャラクターの保存、特殊な記号、笑い声、間隔など、このオープンソースは新しくリリースされましたが、とても良い音がします。成長の余地がたくさんあります。

API を作成して使用することもできます。とても便利です。

出典:

この記事は Mix Space から xLog に同期されています。
元のリンクは https://sunx.ai/posts/nlp/chattts


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。