AIパーソナル・ラーニング
と実践的なガイダンス
豆包Marscode1

F5-TTS: 滑らかで感情豊かなクローン音声を生成するサンプルレス・スピーチ・クローニング

はじめに

F5-TTSは、ストリームにマッチした拡散変換器(Diffusion)に基づく新しい非自己回帰的音声合成(TTS)システムである。 変圧器F5-TTSは、非常に自然で効率的な合成で、多言語データセットでのトレーニングをサポートしています)。F5-TTSは、非常に自然で表現力豊かなゼロサンプル機能、シームレスなコード切り替え、スピードコントロールの効率化により、多言語データセットでの学習をサポートします。このプロジェクトはオープンソースであり、コミュニティ開発を促進することを目的としています。

このモデルは、デュレーションモデル、音素アライメント、テキストエンコーダなど、従来のTTSシステムの複雑なモジュールを排除し、代わりにテキストを入力音声と同じ長さにパディングし、ノイズ除去法を適用することで音声生成を実現する。

F5-TTSの大きな革新のひとつは、次のようなものだ。 スウェイ・サンプリング 戦略により、推論段階の効率が大幅に改善され、リアルタイム処理機能が可能になった。この特徴は、音声アシスタントや対話型音声システムなど、高速な音声合成を必要とするシナリオに適している。


F5-TTSサポート ゼロサンプル音声クローニングまた、大量のトレーニングデータを必要とせず、幅広い音声やアクセントを生成する能力も備えている。 感情コントロール 歌で応える スピード調整 特徴強力な多言語サポートにより、このシステムは、オーディオブック、eラーニングモジュール、マーケティング資料など、多様なオーディオコンテンツの生成を必要とするアプリケーションに特に適しています。

 

F5-TTS:少样本语音克隆,生成流畅且感情丰富的克隆声音-1

 

F5-TTS:少样本语音克隆,生成流畅且感情丰富的克隆声音-1

 

機能一覧

  • テキスト音声変換:入力テキストを自然で滑らかな音声に変換します。
  • ゼロサンプル生成:事前に録音したサンプルなしで高品質の音声を生成します。
  • 感情再生:感情を伴う音声生成のサポート。
  • スピードコントロール:ユーザーは音声生成のスピードをコントロールできる。
  • 多言語サポート:多言語での音声生成をサポート。
  • オープンソースコード:コミュニティでの使用や開発を容易にするために、完全なコードとモデルのチェックポイントが提供されています。

 

ヘルプの使用

設置プロセス

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分享圈,今天将为大家详细演示另一款开源语音克隆项目。"

 

使用プロセス

トレーニングモデル

  1. 複数のGPUやFP16の使用など、アクセラレーション設定を行う:
    accelerate config
    
  2. トレーニングを開始する:
    accelerate launch test_train.py
    

推論

  1. 訓練済みモデルのチェックポイントをダウンロードする。
  2. 単一の推論:
    • コンフィギュレーション・ファイルを修正し、例えば固定持続時間やステップ・サイズなどの要件を満たす:
      python test_infer_single.py
      
  3. バッチ推理:
    • テストデータセットを用意し、パスを更新する:
      bash test_infer_batch.sh
      

詳しい操作手順

  1. 音声合成::
    • テキストが入力されると、システムは自動的にそれを音声に変換し、ユーザーはさまざまな発話スタイルや感情を選択することができる。
  2. ゼロ・サンプル・ジェネレーション::
    • ユーザーは事前に録音されたサンプルを提供する必要がなく、システムは入力テキストに基づいて高品質の音声を生成する。
  3. 感情的再生産::
    • ユーザーはさまざまな感情ラベルを選択することができ、システムは対応する感情の音声を生成する。
  4. スピードコントロール::
    • ユーザーは、さまざまなシナリオのニーズに合わせてパラメータを調整することで、音声生成の速度を制御することができます。
  5. 多言語サポート::
    • システムは多言語での音声生成をサポートしており、ユーザーは必要に応じて異なる言語を選択することができる。

 

F5ワンクリックインストーラー

首席AI分享圈このコンテンツは作者によって非表示にされています。コンテンツを表示するには認証コードを入力してください。
キャプチャ
このサイトWeChat公開番号に注意してください、返信"CAPTCHA、チャレンジ・レスポンス・テストの一種(コンピューティング)"、認証コードを取得します。WeChatで"チーフAIシェアリングサークル「またはルックスAI"またはWeChatは、QRコードの右側をスキャンすると、このサイトWeChatの公開番号に注意を払うことができます。

関連文書ダウンロードアドレス
このサイト上のすべてのリソースは、学習目的のためにのみ、ネットワークからのものです!
無断転載を禁じます:チーフAIシェアリングサークル " F5-TTS: 滑らかで感情豊かなクローン音声を生成するサンプルレス・スピーチ・クローニング
ja日本語