F5-TTS: клонирование речи без сэмплов для создания плавных и эмоционально насыщенных клонированных голосов

Общее введение

F5-TTS - это новая неавторегрессивная система преобразования текста в речь (TTS), основанная на диффузионном преобразователе, согласованном с потоком (Diffusion ТрансформаторF5-TTS поддерживает обучение на многоязычных наборах данных с высоко естественным и эффективным синтезом). Система значительно улучшает качество и эффективность синтеза, используя модель ConvNeXt для оптимизации представления текста для более легкого согласования с речью. F5-TTS поддерживает обучение на многоязычных наборах данных с очень естественными и выразительными возможностями нулевого сэмпла, плавным переключением кода и эффективным контролем скорости. Проект имеет открытый исходный код и направлен на развитие сообщества.

Эта модель позволяет отказаться от сложных модулей традиционных систем TTS, таких как модели длительности, выравнивание фонем и кодировщики текста, и вместо этого генерировать речь, набивая текст той же длины, что и входная речь, и применяя методы обесцвечивания.

Одной из главных инноваций F5-TTS является Отбор образцов для прохода стратегия, которая значительно повышает эффективность на этапе вывода и обеспечивает возможность обработки в реальном времени. Эта особенность подходит для сценариев, требующих быстрого синтеза речи, таких как голосовые помощники и интерактивные речевые системы.

Поддержка F5-TTS клонирование речи с нулевой выборкойОн также позволяет генерировать широкий диапазон голосов и акцентов без необходимости использования большого количества обучающих данных. эмоциональный контроль ответить пением Регулировка скорости Особенности. Благодаря мощной многоязыковой поддержке система особенно хорошо подходит для приложений, требующих создания разнообразного аудиоконтента, таких как аудиокниги, модули электронного обучения и маркетинговые материалы.

 

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

 

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

 

Список функций

  • Преобразование текста в речь: преобразуйте введенный текст в естественную и плавную речь.
  • Генерация с нулевым образцом: генерируйте высококачественную речь без предварительно записанных образцов.
  • Эмоциональное воспроизведение: поддержка генерации речи с эмоциями.
  • Управление скоростью: пользователь может регулировать скорость генерации речи.
  • Поддержка нескольких языков: поддержка генерации речи на нескольких языках.
  • Открытый исходный код: полный код и контрольные точки модели предоставляются для облегчения использования и развития сообщества.

 

Использование помощи

Процесс установки

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 google Colab работает

Примечание: чтобы получить ключ для проникновения в интрасеть, необходимо зарегистрироваться в ngrok.

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

 

!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 One-Click Installer

Кварк: https://pan.quark.cn/s/3a7054a379ce

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...