F5-TTSは、ストリームにマッチした拡散変換器(Diffusion)に基づく新しい非自己回帰的音声合成(TTS)システムである。 変圧器F5-TTSは、非常に自然で効率的な合成で、多言語データセットでのトレーニングをサポートしています)。F5-TTSは、非常に自然で表現力豊かなゼロサンプル機能、シームレスなコード切り替え、スピードコントロールの効率化により、多言語データセットでの学習をサポートします。このプロジェクトはオープンソースであり、コミュニティ開発を促進することを目的としています。
このモデルは、デュレーションモデル、音素アライメント、テキストエンコーダなど、従来のTTSシステムの複雑なモジュールを排除し、代わりにテキストを入力音声と同じ長さにパディングし、ノイズ除去法を適用することで音声生成を実現する。
F5-TTSの大きな革新のひとつは、次のようなものだ。 スウェイ・サンプリング 戦略により、推論段階の効率が大幅に改善され、リアルタイム処理機能が可能になった。この特徴は、音声アシスタントや対話型音声システムなど、高速な音声合成を必要とするシナリオに適している。
F5-TTSサポート ゼロサンプル音声クローニングまた、大量のトレーニングデータを必要とせず、幅広い音声やアクセントを生成する能力も備えている。 感情コントロール 歌で応える スピード調整 特徴強力な多言語サポートにより、このシステムは、オーディオブック、eラーニングモジュール、マーケティング資料など、多様なオーディオコンテンツの生成を必要とするアプリケーションに特に適しています。


機能一覧
- テキスト音声変換:入力テキストを自然で滑らかな音声に変換します。
- ゼロサンプル生成:事前に録音したサンプルなしで高品質の音声を生成します。
- 感情再生:感情を伴う音声生成のサポート。
- スピードコントロール:ユーザーは音声生成のスピードをコントロールできる。
- 多言語サポート:多言語での音声生成をサポート。
- オープンソースコード:コミュニティでの使用や開発を容易にするために、完全なコードとモデルのチェックポイントが提供されています。
ヘルプの使用
設置プロセス
conda create -n f5-tts python=3.10 conda activate f5-tts sudo apt update sudo apt install -y ffmpeg pip uninstall torch torchvision torchaudio transformers # 安装 PyTorch(包含 CUDA 支持) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 安装 transformers pip install transformers git clone https://github.com/SWivid/F5-TTS.git cd F5-TTS pip install -e . # Launch a Gradio app (web interface) f5-tts_infer-gradio # Specify the port/host f5-tts_infer-gradio --port 7860 --host 0.0.0.0 # Launch a share link f5-tts_infer-gradio --share
F5-TTSワンクリックインストールコマンド
conda create -n f5-tts python=3.10 -y && \ conda activate f5-tts && \ sudo apt update && sudo apt install -y ffmpeg && \ pip uninstall -y torch torchvision torchaudio transformers && \ pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 transformers && \ git clone https://github.com/SWivid/F5-TTS.git && \ cd F5-TTS && \ pip install -e . && \ f5-tts_infer-gradio --port 7860 --host 0.0.0.0
F5-TTS グーグル コラボ ランニング
注:イントラネットへの侵入を達成するためのキーを申請するには、ngrokの登録が必要です。

!pip install pyngrok transformers gradio
# 导入所需库
import os
from pyngrok import ngrok
!apt-get update && apt-get install -y ffmpeg
!pip uninstall -y torch torchvision torchaudio transformers
!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 transformers
# 克隆并安装项目
!git clone https://github.com/SWivid/F5-TTS.git
%cd F5-TTS
!pip install -e .
!ngrok config add-authtoken 2hKI7tLqJVdnbgM8pxM4nyYP7kQ_3vL3RWtqXQUUdwY5JE4nj
# 配置 ngrok 和 gradio
import gradio as gr
from pyngrok import ngrok
import threading
import time
import socket
import requests
def is_port_in_use(port):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
return s.connect_ex(('localhost', port)) == 0
def wait_for_server(port, timeout=60):
start_time = time.time()
while time.time() - start_time < timeout:
if is_port_in_use(port):
try:
response = requests.get(f'http://localhost:{port}')
if response.status_code == 200:
return True
except:
pass
time.sleep(2)
return False
# 确保 ngrok 没有在运行
ngrok.kill()
# 在新线程中启动 Gradio
def run_gradio():
import sys
import f5_tts.infer.infer_gradio
sys.argv = ['f5-tts_infer-gradio', '--port', '7860', '--host', '0.0.0.0']
f5_tts.infer.infer_gradio.main()
thread = threading.Thread(target=run_gradio)
thread.daemon = True
thread.start()
# 等待 Gradio 服务启动
print("等待 Gradio 服务启动...")
if wait_for_server(7860):
print("Gradio 服务已启动")
# 启动 ngrok
public_url = ngrok.connect(7860)
print(f"\n=== 访问信息 ===")
print(f"Ngrok URL: {public_url}")
print("===============\n")
else:
print("Gradio 服务启动超时")
# 保持程序运行
while True:
try:
time.sleep(1)
except KeyboardInterrupt:
ngrok.kill()
break
!f5-tts_infer-cli \
--model "F5-TTS" \
--ref_audio "/content/test.MP3" \
--ref_text "欢迎来到AI生产力工具,微软发布了一款基于大模型的屏幕解析工具OmniParser.这款工具是专为增强用户界面自动化而设计的它." \
--gen_text "欢迎来到AI生产力工具,今天将为大家详细演示另一款开源语音克隆项目。"
使用プロセス
トレーニングモデル
- 複数のGPUやFP16の使用など、アクセラレーション設定を行う:
accelerate config - トレーニングを開始する:
accelerate launch test_train.py
推論
- 訓練済みモデルのチェックポイントをダウンロードする。
- 単一の推論:
- コンフィギュレーション・ファイルを修正し、例えば固定持続時間やステップ・サイズなどの要件を満たす:
python test_infer_single.py
- コンフィギュレーション・ファイルを修正し、例えば固定持続時間やステップ・サイズなどの要件を満たす:
- バッチ推理:
- テストデータセットを用意し、パスを更新する:
bash test_infer_batch.sh
- テストデータセットを用意し、パスを更新する:
詳しい操作手順
- 音声合成::
- テキストが入力されると、システムは自動的にそれを音声に変換し、ユーザーはさまざまな発話スタイルや感情を選択することができる。
- ゼロ・サンプル・ジェネレーション::
- ユーザーは事前に録音されたサンプルを提供する必要がなく、システムは入力テキストに基づいて高品質の音声を生成する。
- 感情的再生産::
- ユーザーはさまざまな感情ラベルを選択することができ、システムは対応する感情の音声を生成する。
- スピードコントロール::
- ユーザーは、さまざまなシナリオのニーズに合わせてパラメータを調整することで、音声生成の速度を制御することができます。
- 多言語サポート::
- システムは多言語での音声生成をサポートしており、ユーザーは必要に応じて異なる言語を選択することができる。






























