일반 소개
F5-TTS는 스트림 일치 확산 변환기(Diffusion) 기반의 새로운 비자동 텍스트 음성 변환(TTS) 시스템입니다. 트랜스포머F5-TTS는 매우 자연스럽고 효율적인 합성을 통해 다국어 데이터 세트에 대한 학습을 지원합니다.) 이 시스템은 ConvNeXt 모델을 사용하여 텍스트 표현을 최적화함으로써 합성 품질과 효율성을 크게 향상시켜 음성과의 정렬을 용이하게 합니다.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 Google Colab 실행
참고: 인트라넷 침투를 위한 키를 신청하려면 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
- 테스트 데이터 세트를 준비하고 경로를 업데이트합니다:
세부 운영 절차
- 텍스트 음성 변환::
- 텍스트를 입력하면 시스템이 자동으로 음성으로 변환하고 사용자는 다양한 음성 스타일과 감정을 선택할 수 있습니다.
- 제로 샘플 생성::
- 사용자는 미리 녹음된 샘플을 제공할 필요가 없으며, 시스템은 입력된 텍스트를 기반으로 고품질 음성을 생성합니다.
- 감정적 재생산::
- 사용자가 다양한 감정 레이블을 선택하면 시스템이 해당 감정으로 음성을 생성합니다.
- 속도 제어::
- 사용자는 다양한 시나리오의 요구에 맞게 매개변수를 조정하여 음성 생성 속도를 제어할 수 있습니다.
- 다국어 지원::
- 이 시스템은 여러 언어로 음성 생성을 지원하며, 사용자는 필요에 따라 다른 언어를 선택할 수 있습니다.
F5 원클릭 설치 프로그램
Quark: https://pan.quark.cn/s/3a7054a379ce
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 게시물
댓글 없음...