F5-TTS: 음성 복제 샘플을 줄여 부드럽고 감정적으로 풍부한 복제 음성을 생성합니다.

최신 AI 리소스6개월 전 업데이트 AI 공유 서클
4.9K 00

일반 소개

F5-TTS는 스트림 일치 확산 변환기(Diffusion) 기반의 새로운 비자동 텍스트 음성 변환(TTS) 시스템입니다. 트랜스포머F5-TTS는 매우 자연스럽고 효율적인 합성을 통해 다국어 데이터 세트에 대한 학습을 지원합니다.) 이 시스템은 ConvNeXt 모델을 사용하여 텍스트 표현을 최적화함으로써 합성 품질과 효율성을 크게 향상시켜 음성과의 정렬을 용이하게 합니다.F5-TTS는 매우 자연스럽고 표현력이 뛰어난 제로 샘플 기능, 원활한 코드 전환 및 속도 제어 효율성을 통해 다국어 데이터 세트에 대한 학습을 지원합니다. 이 프로젝트는 오픈 소스이며 커뮤니티 개발을 촉진하는 것을 목표로 합니다.

이 모델은 지속 시간 모델, 음소 정렬 및 텍스트 인코더와 같은 기존 TTS 시스템의 복잡한 모듈을 없애고 대신 입력 음성과 동일한 길이로 텍스트를 패딩하고 노이즈 제거 방법을 적용하여 음성 생성을 수행합니다.

F5-TTS의 주요 혁신 중 하나는 다음과 같습니다. 스웨이 샘플링 전략을 사용하여 추론 단계의 효율성을 크게 개선하고 실시간 처리 기능을 지원합니다. 이 기능은 음성 어시스턴트 및 대화형 음성 시스템과 같이 빠른 음성 합성이 필요한 시나리오에 적합합니다.

F5-TTS 지원 제로 샘플 음성 복제또한 대량의 학습 데이터 없이도 다양한 음성과 억양을 생성할 수 있는 기능을 제공합니다. 감정 조절 노래로 응답 속도 조정 특징. 강력한 다국어 지원 기능을 갖춘 이 시스템은 오디오북, e-러닝 모듈, 마케팅 자료 등 다양한 오디오 콘텐츠를 생성해야 하는 애플리케이션에 특히 적합합니다.

 

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 원클릭 설치 프로그램

Quark: https://pan.quark.cn/s/3a7054a379ce

© 저작권 정책

관련 게시물

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...