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

기능 목록
- 인간에 가까운 음성 생성: 텍스트를 자연스러운 억양, 감정, 리듬이 있는 오디오로 변환하는 것은 부분적인 비공개 소스 모델보다 성능이 뛰어납니다.
- 제로 샘플 음성 복제: 추가 훈련 없이 대상 음성의 음색을 모방합니다.
- 감정 및 억양 제어: 라벨링(예
<laugh>
및<sigh>
) 사실감을 높이기 위해 음성 표현을 조정합니다. - 지연 시간이 짧은 스트리밍 출력: 실시간 음성 생성 지연 시간은 약 200밀리초이며, 100밀리초까지 최적화되었습니다.
- 다국어 지원: 영어, 스페인어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 중국어 및 기타 언어.
- 모델 미세 조정: 데이터 처리 스크립트와 예제 데이터 세트가 제공되어 개발자가 음성 스타일이나 언어를 사용자 지정할 수 있도록 지원합니다.
- 로컬 및 클라우드에서 실행: LM Studio, llama.cpp 또는 vLLM 로컬 또는 클라우드에서 실행하세요.
- 오디오 워터마킹: 사일런트 사이퍼 기술로 생성된 오디오에 워터마킹을 하여 저작권을 보호합니다.
도움말 사용
설치 프로세스
Orpheus-TTS를 사용하려면 Python 환경과 기본 하드웨어 지원(GPU 권장)이 필요합니다. 자세한 설치 단계는 다음과 같습니다:
- 코드 베이스 복제
Git을 사용하여 Orpheus-TTS 프로젝트를 다운로드하세요:git clone https://github.com/canopyai/Orpheus-TTS.git cd Orpheus-TTS
- 종속성 설치
핵심 패키지 설치orpheus-speech
빠른 추론을 위해 vLLM에 의존합니다:pip install orpheus-speech
참고: 2025년 3월 18일 버전의 vLLM에는 버그가 있을 수 있으므로 안정 버전을 설치하는 것이 좋습니다:
pip install vllm==0.7.3
기타 종속성은 다음과 같습니다.
transformers
및datasets
노래로 응답torch
요청 시 설치가 가능합니다:pip install transformers datasets torch
- 하드웨어 요구 사항 확인
- Python 버전: 3.8-3.11(3.12는 지원되지 않음).
- GPU: 원활한 작동을 위해 12GB 이상의 비디오 메모리가 있는 NVIDIA CUDA 드라이버를 권장합니다.
- CPU: 다음을 통해 지원
orpheus-cpp
실행되지만, 가벼운 테스트를 위해 성능이 더 낮습니다. - 네트워크: 처음 실행하려면 모델을 다운로드해야 하므로 안정적인 인터넷 연결을 권장합니다.
- 모델 다운로드
오르페우스-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
- 모델 미세 조정(
- 테스트 설치
다음 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
가장 자연스러운 말하기 감각, 다른 문자는 다음과 같습니다. leah
및jess
및leo
및dan
및mia
및zac
노래로 응답 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
).
애플리케이션 시나리오
- 지능형 고객 서비스 로봇
오르페우스-TTS는 고객 서비스 시스템을 위한 자연스러운 음성을 생성하여 실시간 대화와 감정 표현을 지원하여 사용자 경험을 향상시킵니다.
예를 들어, 이커머스 플랫폼은 Orpheus-TTS를 통합하여 고객 문의에 응답할 때 친근한 어조를 더할 수 있습니다. - 오디오북 및 팟캐스트 제작
출판사는 소설이나 기사를 오디오북으로 변환하여 다양한 캐릭터 및 감정 라벨링을 지원하고 음성 해설 비용을 절감할 수 있습니다.
팟캐스트 제작자는 역동적인 오프닝 대사를 생성하여 쇼의 매력을 높일 수 있습니다. - 언어 학습 도구
교육용 앱은 표준 음성을 생성하여 학생들이 듣고 말하는 연습을 할 수 있도록 도와줍니다.
예를 들어 중국어 학습자는 중국어 모델을 사용하여 중국어 발음을 연습할 수 있습니다. - 게임 캐릭터 음성 해설
게임 개발자는 몰입감을 높이기 위해 다국어 및 감정 표현을 지원하여 NPC의 역동적인 대화를 생성할 수 있습니다.
예를 들어 RPG는 캐릭터마다 고유한 톤을 생성할 수 있습니다. - 접근성 보조 도구
Orpheus-TTS는 텍스트를 음성으로 변환하여 시각 장애가 있는 사용자를 위한 실시간 읽기 지원을 제공합니다.
예를 들어, 전자책 리더에 통합하여 긴 글을 소리 내어 읽을 수 있습니다.
QA
- 오르페우스-TTS는 어떤 언어를 지원하나요?
영어, 스페인어, 프랑스어, 독일어, 이탈리아어, 포르투갈어 및 중국어가 지원됩니다. 다국어 모델은 더 많은 언어를 지원하므로 허깅 페이스 문서를 참조하세요. - 실시간 음성 지연 시간을 최적화하는 방법은 무엇인가요?
KV 캐싱 및 입력 스트리밍을 활성화하여 지연 시간을 200ms에서 100ms로 줄입니다. 최소 12GB의 비디오 메모리로 충분한 GPU 성능을 확보합니다. - 제로 샘플 음성 복제를 위해서는 어떤 준비가 필요하나요?
모델의 사전 학습을 위해 샘플링 속도가 24000Hz인 WAV 형식의 10~30초 분량의 레퍼런스 오디오를 제공합니다. - CPU가 Orpheus-TTS를 실행할 수 있나요?
예, 사용orpheus-cpp
GPU만큼 강력하지는 않지만 GPU보다 성능이 낮기 때문에 테스트나 가벼운 작업에 적합합니다. - 내 오디오에 워터마크를 추가하려면 어떻게 하나요?
사일런트 사이퍼 기술을 사용하여add_watermark
함수를 구현하려면 공식 스크립트를 참조해야 합니다. - 미세 조정에 필요한 데이터의 양은 어느 정도인가요?
초기 결과의 경우 50개 샘플, 최상의 품질을 위해 300개 샘플/문자. 데이터는 허깅 페이스 형식이어야 합니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 게시물
댓글 없음...