Orpheus-TTS: 자연스러운 중국어 음성 생성을 위한 텍스트 음성 변환 도구

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
1.7K 00

일반 소개

오르페우스-TTS는 사람의 자연스러운 음성에 가까운 오디오를 생성하는 것을 목표로 Llama-3b 아키텍처에서 개발된 오픈 소스 텍스트 음성 변환(TTS) 시스템입니다. Canopy AI 팀에서 출시했으며 영어, 스페인어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 중국어 등 여러 언어를 지원합니다. 이 시스템은 텍스트 입력에서 억양, 감정, 리듬이 있는 음성을 생성하고 웃음, 한숨과 같은 비언어적 표현을 지원하여 실시간 대화, 오디오북 제작, 지능형 비서 개발에 적합하며, 오르페우스-TTS는 사전 학습되고 미세 조정된 모델을 제공하여 개발자가 필요에 따라 음성 또는 언어를 사용자 지정할 수 있습니다.

Orpheus-TTS:生成自然中文语音的文本转语音工具

 

기능 목록

  • 인간에 가까운 음성 생성: 텍스트를 자연스러운 억양, 감정, 리듬이 있는 오디오로 변환하는 것은 부분적인 비공개 소스 모델보다 성능이 뛰어납니다.
  • 제로 샘플 음성 복제: 추가 훈련 없이 대상 음성의 음색을 모방합니다.
  • 감정 및 억양 제어: 라벨링(예 <laugh><sigh>) 사실감을 높이기 위해 음성 표현을 조정합니다.
  • 지연 시간이 짧은 스트리밍 출력: 실시간 음성 생성 지연 시간은 약 200밀리초이며, 100밀리초까지 최적화되었습니다.
  • 다국어 지원: 영어, 스페인어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 중국어 및 기타 언어.
  • 모델 미세 조정: 데이터 처리 스크립트와 예제 데이터 세트가 제공되어 개발자가 음성 스타일이나 언어를 사용자 지정할 수 있도록 지원합니다.
  • 로컬 및 클라우드에서 실행: LM Studio, llama.cpp 또는 vLLM 로컬 또는 클라우드에서 실행하세요.
  • 오디오 워터마킹: 사일런트 사이퍼 기술로 생성된 오디오에 워터마킹을 하여 저작권을 보호합니다.

 

도움말 사용

설치 프로세스

Orpheus-TTS를 사용하려면 Python 환경과 기본 하드웨어 지원(GPU 권장)이 필요합니다. 자세한 설치 단계는 다음과 같습니다:

  1. 코드 베이스 복제
    Git을 사용하여 Orpheus-TTS 프로젝트를 다운로드하세요:

    git clone https://github.com/canopyai/Orpheus-TTS.git
    cd Orpheus-TTS
    
  2. 종속성 설치
    핵심 패키지 설치 orpheus-speech빠른 추론을 위해 vLLM에 의존합니다:

    pip install orpheus-speech
    

    참고: 2025년 3월 18일 버전의 vLLM에는 버그가 있을 수 있으므로 안정 버전을 설치하는 것이 좋습니다:

    pip install vllm==0.7.3
    

    기타 종속성은 다음과 같습니다. transformersdatasets 노래로 응답 torch요청 시 설치가 가능합니다:

    pip install transformers datasets torch
    
  3. 하드웨어 요구 사항 확인
    • Python 버전: 3.8-3.11(3.12는 지원되지 않음).
    • GPU: 원활한 작동을 위해 12GB 이상의 비디오 메모리가 있는 NVIDIA CUDA 드라이버를 권장합니다.
    • CPU: 다음을 통해 지원 orpheus-cpp 실행되지만, 가벼운 테스트를 위해 성능이 더 낮습니다.
    • 네트워크: 처음 실행하려면 모델을 다운로드해야 하므로 안정적인 인터넷 연결을 권장합니다.
  4. 모델 다운로드
    오르페우스-TTS는 허깅 페이스에서 호스팅하는 다음 모델을 제공합니다:

    • 모델 미세 조정(canopylabs/orpheus-tts-0.1-finetune-prod): 일상적인 음성 생성 작업에 적합합니다.
    • 사전 학습된 모델(canopylabs/orpheus-tts-0.1-pretrained): 100,000시간의 영어 음성 데이터 학습을 기반으로 하며, 음성 복제와 같은 고급 작업에 적합합니다.
    • 다국어 모델링(canopylabs/orpheus-multilingual-research-release): 다국어 학습을 지원하기 위해 사전 학습되고 미세 조정된 7가지 모델 세트가 포함되어 있습니다.
      다운로드 방법:
    huggingface-cli download canopylabs/orpheus-tts-0.1-finetune-prod
    
  5. 테스트 설치
    다음 Python 스크립트를 실행하여 설치가 성공했는지 확인합니다:

    from orpheus_tts import OrpheusModel
    model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod")
    prompt = "tara: 你好,这是一个测试!"
    audio = model.generate_speech(prompt)
    with wave.open("test_output.wav", "wb") as file:
    file.setnchannels(1)
    file.setsampwidth(2)
    file.setframerate(24000)
    file.writeframes(audio)
    

    성공적으로 실행되면 입력 텍스트의 음성이 포함된 WAV 파일이 생성됩니다.

주요 기능

1. 인간에 가까운 음성 생성

오르페우스-TTS의 핵심 기능은 텍스트를 자연스러운 사람의 말투에 가까운 오디오로 변환하는 것입니다. 이 시스템은 영어 모델에서 다양한 음성 문자를 지원합니다. tara 가장 자연스러운 말하기 감각, 다른 문자는 다음과 같습니다. leahjessleodanmiazac 노래로 응답 zoe. 다국어 모델의 역할은 공식 문서를 참조해야 합니다. 절차:

  • 다음과 같은 형식으로 텍스트 프롬프트를 준비합니다. {角色名}: {文本}예를 들면 다음과 같습니다. tara: 你好,今天天气很好!.
  • 생성 함수를 호출합니다:
    audio = model.generate_speech(prompt="tara: 你好,今天天气很好!")
    
  • 출력은 모노에서 샘플링 속도가 24000Hz인 WAV 형식의 오디오입니다.

2. 감정 및 톤 조절

사용자는 태그를 통해 음성의 감정 표현을 제어하여 음성의 사실감을 높일 수 있습니다. 지원되는 태그는 다음과 같습니다:

  • <laugh>웃음.
  • <sigh>: 한숨.
  • <cough>: 기침.
  • <sniffle>: 스니플.
  • <groan>:신음.
  • <yawn>: 하품.
  • <gasp>: 놀라움.
    예시:
prompt = "tara: 这个消息太震撼了!<gasp> 你听说了吗?"
audio = model.generate_speech(prompt)

생성된 오디오에는 적절한 위치에 깜짝 효과가 포함됩니다. 다국어 모델 태그 지원은 포옹하는 얼굴 문서를 참조하세요.

3. 제로 샘플 음성 복제

오르페우스-TTS는 사전 학습 없이 대상 음성을 직접 모방할 수 있는 제로 샘플 음성 복제를 지원합니다. 작동 단계:

  • 10~30초의 권장 길이와 24000Hz의 샘플링 속도로 대상 음성의 WAV 파일을 준비합니다.
  • 다음 스크립트를 사용합니다:
    audio_ref = "path/to/reference.wav"
    prompt = "tara: 这段话会模仿你的声音!"
    audio = model.generate_with_voice_clone(prompt, audio_ref)
    
  • 출력 오디오는 참조 음성의 음색에 가깝습니다. 사전 학습된 모델이 복제 작업에서 더 나은 성능을 발휘합니다.

4. 저지연 스트리밍 출력

Orpheus-TTS는 실시간 대화 시나리오를 위한 스트리밍 음성 생성 기능을 제공하며, 지연 시간은 약 200ms로 100ms까지 최적화되어 있습니다. 운영 예시:

from flask import Flask, Response
from orpheus_tts import OrpheusModel
app = Flask(__name__)
[1]
model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod")
@app.route("/stream")
def stream_audio():
def generate():
prompt = "tara: 这是实时语音测试!"
for chunk in model.stream_generate(prompt):
yield chunk
return Response(generate(), mimetype="audio/wav")

플라스크 서비스를 실행한 후 http://localhost:5000/stream 실시간 음성을 들을 수 있습니다. 지연 시간을 최적화하려면 KV 캐싱과 입력 스트리밍을 활성화해야 합니다.

5. 모델 미세 조정

개발자는 새로운 언어나 음성 스타일을 지원하도록 모델을 미세 조정할 수 있습니다. 단계는 다음과 같습니다:

  • 데이터 집합 준비: 형식은 포옹하는 얼굴 예제 데이터 집합을 참조하세요(canopylabs/zac-sample-dataset). 최상의 결과를 얻으려면 50~300개의 샘플/문자를 포함하는 것이 좋으며, 300개의 샘플을 포함하는 것이 좋습니다.
  • 데이터 전처리: 공식적으로 제공되는 Colab 노트북 사용(1wg_CPCA-MzsWtsujwy-1Ovhv-tn8Q1nD데이터는 약 1분/1,000개 항목 단위로 처리됩니다.
  • 구성 교육: 수정 finetune/config.yaml를 클릭하고 데이터 세트 경로와 매개변수를 설정합니다.
  • 교육을 실행합니다:
    huggingface-cli login
    wandb login
    accelerate launch train.py
    
  • 미세 조정된 모델은 중국어 음성 최적화와 같은 특정 작업에 사용할 수 있습니다.

6. 오디오 워터마킹

오르페우스-TTS는 사일런트 사이퍼 기술을 통해 저작권 보호를 위한 오디오 워터마킹을 지원합니다. 작동 방식:

  • 공식 구현 스크립트(additional_inference_options/watermark_audio).
  • 예시:
    from orpheus_tts import add_watermark
    audio = model.generate_speech(prompt)
    watermarked_audio = add_watermark(audio, watermark_id="user123")
    

7. GPU 추론 없음

GPU가 없는 사용자는 orpheus-cpp CPU에서 단계별로 실행합니다:

  • 마운팅 llama.cpp 환경.
  • 공식 문서(additional_inference_options/no_gpu/README.md).
  • 가벼운 작업에는 GPU보다 낮은 성능을 제공합니다.

주의

  • 모델 선택미세 조정된 모델은 일상적인 작업에 적합하고 사전 학습된 모델은 음성 복제와 같은 고급 작업에 적합합니다.
  • 하드웨어 제한비디오 메모리가 12GB 미만인 경우 메모리가 부족할 수 있으므로 하드웨어 구성을 확인하는 것이 좋습니다.
  • 다국어 지원영어 이외의 언어는 다국어 모델 설명서를 참조해야 하며, 일부 언어는 미세 조정이 필요할 수 있습니다.
  • 테스트 중 구성 요소 조정vLLM이 오류를 보고하는 경우(예 vllm._C), 다른 버전으로 시도하거나 CUDA 호환성을 확인하세요.

보완 기능: 커뮤니티 확장

오르페우스-TTS의 오픈 소스 특성으로 인해 커뮤니티의 기여가 이어지고 있으며, 다음과 같은 구현(완전히 검증되지는 않음)이 공식적으로 권장됩니다:

  • LM Studio 로컬 클라이언트LM Studio API를 통해 Orpheus-TTS 실행(isaiahbjork/orpheus-tts-local).
  • 개방형 AI와 호환되는 FastAPI개방형 AI 스타일 API 인터페이스 제공(Lex-au/Orpheus-FastAPI).
  • Gradio WebUIWSL 및 CUDA 지원 웹 인터페이스(Saganaki22/OrpheusTTS-WebUI).
  • 포옹하는 얼굴 공간커뮤니티 사용자 모하메드라샤드가 구축한 온라인 경험(MohamedRashad/Orpheus-TTS).

 

애플리케이션 시나리오

  1. 지능형 고객 서비스 로봇
    오르페우스-TTS는 고객 서비스 시스템을 위한 자연스러운 음성을 생성하여 실시간 대화와 감정 표현을 지원하여 사용자 경험을 향상시킵니다.
    예를 들어, 이커머스 플랫폼은 Orpheus-TTS를 통합하여 고객 문의에 응답할 때 친근한 어조를 더할 수 있습니다.
  2. 오디오북 및 팟캐스트 제작
    출판사는 소설이나 기사를 오디오북으로 변환하여 다양한 캐릭터 및 감정 라벨링을 지원하고 음성 해설 비용을 절감할 수 있습니다.
    팟캐스트 제작자는 역동적인 오프닝 대사를 생성하여 쇼의 매력을 높일 수 있습니다.
  3. 언어 학습 도구
    교육용 앱은 표준 음성을 생성하여 학생들이 듣고 말하는 연습을 할 수 있도록 도와줍니다.
    예를 들어 중국어 학습자는 중국어 모델을 사용하여 중국어 발음을 연습할 수 있습니다.
  4. 게임 캐릭터 음성 해설
    게임 개발자는 몰입감을 높이기 위해 다국어 및 감정 표현을 지원하여 NPC의 역동적인 대화를 생성할 수 있습니다.
    예를 들어 RPG는 캐릭터마다 고유한 톤을 생성할 수 있습니다.
  5. 접근성 보조 도구
    Orpheus-TTS는 텍스트를 음성으로 변환하여 시각 장애가 있는 사용자를 위한 실시간 읽기 지원을 제공합니다.
    예를 들어, 전자책 리더에 통합하여 긴 글을 소리 내어 읽을 수 있습니다.

 

QA

  1. 오르페우스-TTS는 어떤 언어를 지원하나요?
    영어, 스페인어, 프랑스어, 독일어, 이탈리아어, 포르투갈어 및 중국어가 지원됩니다. 다국어 모델은 더 많은 언어를 지원하므로 허깅 페이스 문서를 참조하세요.
  2. 실시간 음성 지연 시간을 최적화하는 방법은 무엇인가요?
    KV 캐싱 및 입력 스트리밍을 활성화하여 지연 시간을 200ms에서 100ms로 줄입니다. 최소 12GB의 비디오 메모리로 충분한 GPU 성능을 확보합니다.
  3. 제로 샘플 음성 복제를 위해서는 어떤 준비가 필요하나요?
    모델의 사전 학습을 위해 샘플링 속도가 24000Hz인 WAV 형식의 10~30초 분량의 레퍼런스 오디오를 제공합니다.
  4. CPU가 Orpheus-TTS를 실행할 수 있나요?
    예, 사용 orpheus-cppGPU만큼 강력하지는 않지만 GPU보다 성능이 낮기 때문에 테스트나 가벼운 작업에 적합합니다.
  5. 내 오디오에 워터마크를 추가하려면 어떻게 하나요?
    사일런트 사이퍼 기술을 사용하여 add_watermark 함수를 구현하려면 공식 스크립트를 참조해야 합니다.
  6. 미세 조정에 필요한 데이터의 양은 어느 정도인가요?
    초기 결과의 경우 50개 샘플, 최상의 품질을 위해 300개 샘플/문자. 데이터는 허깅 페이스 형식이어야 합니다.
© 저작권 정책
AiPPT

관련 게시물

댓글 없음

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