Boson AI에서 오픈 소스로 제공하는 텍스트-오디오 기반 모델로, 1,000만 시간 분량의 오디오 데이터로 사전 훈련되었으며, 표현력이 풍부한 음성 합성 및 다국어 오디오 생성을 지원합니다.
Higgs Audio V2 프로젝트 상세 소개
프로젝트 개요
Higgs Audio V2는 Boson AI가 오픈소스로 공개한 강력한 오디오 기반 모델로, 1,000만 시간 이상의 오디오 데이터와 다양한 텍스트 데이터를 기반으로 사전 훈련되었습니다. 후속 훈련이나 미세 조정 없이도, Higgs Audio V2는 깊이 있는 언어 및 음향 이해 능력 덕분에 표현력이 풍부한 오디오 생성에서 탁월한 성능을 보여줍니다.
핵심 기능
1. 강력한 음성 합성 능력
- 표현력이 풍부한 음성 생성 지원
- 다국어 오디오 생성 지원
- 자연스러운 다중 화자 대화 생성
- 내러티브에 대한 자동 운율 적응
- 클론 음성으로 멜로디 흥얼거림 (Humming)
- 음성 및 배경 음악 동시 생성
2. 탁월한 성능
EmergentTTS-Eval 평가에서 이 모델은 "감정" 및 "질문" 카테고리에서 각각 75.7%와 55.7%의 승률을 기록하여 "gpt-4o-mini-tts"를 능가했습니다. 또한 Seed-TTS Eval 및 감정 음성 데이터셋(ESD)과 같은 기존 TTS 벤치마크에서도 업계 최고 수준의 성능을 달성했습니다.
3. 독특한 발현 능력 (Emergent Capabilities)
이 모델은 이전 시스템에서는 거의 볼 수 없었던 능력을 보여줍니다:
- 자연스러운 다국어 다중 화자 대화 생성
- 내러티브 과정에서의 자동 운율 적응
- 클론 음성을 사용한 멜로디 흥얼거림
- 음성 및 배경 음악 동시 생성
기술 아키텍처
핵심 기술 혁신
자동화된 주석 파이프라인: 여러 ASR 모델, 사운드 이벤트 분류 모델 및 내부 오디오 이해 모델을 활용하여 1,000만 시간의 오디오 데이터(AudioVerse라고 함)를 정리하고 주석을 달았습니다.
통합 오디오 토크나이저: 의미론적 및 음향적 특징을 포착할 수 있도록 처음부터 훈련된 통합 오디오 토크나이저.
DualFFN 아키텍처: 최소한의 계산 오버헤드를 유지하면서 LLM이 음향 토큰을 모델링하는 능력을 향상시켰습니다.
환경 설정
권장 Docker 환경
# NVIDIA Deep Learning Container 사용
docker run --gpus all --ipc=host --net=host --ulimit memlock=-1 --ulimit stack=67108864 -it --rm nvcr.io/nvidia/pytorch:25.02-py3 bash
표준 설치 방법
Git + pip 사용
git clone https://github.com/boson-ai/higgs-audio.git
cd higgs-audio
pip install -r requirements.txt
pip install -e .
가상 환경 사용
git clone https://github.com/boson-ai/higgs-audio.git
cd higgs-audio
python3 -m venv higgs_audio_env
source higgs_audio_env/bin/activate
pip install -r requirements.txt
pip install -e .
Conda 사용
git clone https://github.com/boson-ai/higgs-audio.git
cd higgs-audio
conda create -n higgs_audio_env python=3.10
conda activate higgs_audio_env
pip install -r requirements.txt
pip install -e .
uv 사용
git clone https://github.com/boson-ai/higgs-audio.git
cd higgs-audio
uv venv --python 3.10
source .venv/bin/activate
uv pip install -r requirements.txt
uv pip install -e .
사용 예시
기본 Python 코드 예시
from boson_multimodal.serve.serve_engine import HiggsAudioServeEngine, HiggsAudioResponse
from boson_multimodal.data_types import ChatMLSample, Message, AudioContent
import torch
import torchaudio
import time
import click
MODEL_PATH = "bosonai/higgs-audio-v2-generation-3B-base"
AUDIO_TOKENIZER_PATH = "bosonai/higgs-audio-v2-tokenizer"
system_prompt = (
"Generate audio following instruction.\n\n<|scene_desc_start|>\nAudio is recorded from a quiet room.\n<|scene_desc_end|>"
)
messages = [
Message(
role="system",
content=system_prompt,
),
Message(
role="user",
content="The sun rises in the east and sets in the west. This simple fact has been observed by humans for thousands of years.",
),
]
device = "cuda" if torch.cuda.is_available() else "cpu"
serve_engine = HiggsAudioServeEngine(MODEL_PATH, AUDIO_TOKENIZER_PATH, device=device)
output: HiggsAudioResponse = serve_engine.generate(
chat_ml_sample=ChatMLSample(messages=messages),
max_new_tokens=1024,
temperature=0.3,
top_p=0.95,
top_k=50,
stop_strings=["<|end_of_text|>", "<|eot_id|>"],
)
torchaudio.save(f"output.wav", torch.from_numpy(output.audio)[None, :], output.sampling_rate)
명령줄 사용 예시
참조 오디오를 사용하여 음성 생성
python3 examples/generation.py \
--transcript "The sun rises in the east and sets in the west. This simple fact has been observed by humans for thousands of years." \
--ref_audio belinda \
--temperature 0.3 \
--out_path generation.wav
참조 오디오 없이 (모델이 자동으로 음성 결정)
python3 examples/generation.py \
--transcript "The sun rises in the east and sets in the west. This simple fact has been observed by humans for thousands of years." \
--temperature 0.3 \
--out_path generation.wav
다중 화자 대화 생성
python3 examples/generation.py \
--transcript examples/transcript/multi_speaker/en_argument.txt \
--seed 12345 \
--out_path generation.wav
지정된 음성을 사용하여 다중 화자 대화 생성
python3 examples/generation.py \
--transcript examples/transcript/multi_speaker/en_argument.txt \
--ref_audio belinda,broom_salesman \
--ref_audio_in_system_message \
--chunk_method speaker \
--seed 12345 \
--out_path generation.wav
성능 평가 결과
기존 TTS 벤치마크
SeedTTS-Eval 및 ESD 평가 결과
모델 | SeedTTS-Eval | ESD | ||
---|---|---|---|---|
WER ↓ | SIM ↑ | WER ↓ | SIM (emo2vec) ↑ | |
Cosyvoice2 | 2.28 | 65.49 | 2.71 | 80.48 |
Qwen2.5-omni† | 2.33 | 64.10 | - | - |
ElevenLabs Multilingual V2 | 1.43 | 50.00 | 1.66 | 65.87 |
Higgs Audio v1 | 2.18 | 66.27 | 1.49 | 82.84 |
Higgs Audio v2 (base) | 2.44 | 67.70 | 1.78 | 86.13 |
EmergentTTS-Eval 평가
모델 | 감정 (%) ↑ | 질문 (%) ↑ |
---|---|---|
Higgs Audio v2 (base) | 75.71% | 55.71% |
다중 화자 평가
이 프로젝트는 또한 세 가지 하위 집합을 포함하는 전용 다중 화자 평가 벤치마크를 설계했습니다:
two-speaker-conversation
: 두 명의 화자가 참여하는 1,000개의 합성 대화small talk (no ref)
: 짧은 발화와 제한된 턴이 특징인 250개의 합성 대화small talk (ref)
: 더 짧은 발화를 포함하는 250개의 유사한 합성 대화
하드웨어 요구 사항
중요: 최적의 성능을 위해 최소 24GB VRAM을 갖춘 GPU 머신에서 생성 예시를 실행하는 것이 좋습니다.
고급 기능
vLLM API 서버
이 프로젝트는 또한 높은 처리량을 위한 고급 사용을 위해 vLLM 엔진 기반의 OpenAI 호환 API 서버를 제공합니다. 자세한 내용은 examples/vllm
디렉토리를 참조하십시오.
사용자 정의 오디오 토크나이저
이 프로젝트는 초당 25프레임의 낮은 주파수로 작동하면서도 두 배의 비트레이트를 가진 토크나이저에 비해 오디오 품질을 유지하거나 심지어 향상시키는 새로운 이산화 오디오 토크나이저를 도입했습니다. 이 모델은 음성, 음악 및 사운드 이벤트를 포괄하는 24kHz 데이터로 훈련된 최초의 통합 시스템입니다.
프로젝트의 의미
오픈소스 버전 출시와 함께, Higgs Audio V2는 전 세계 개발자들이 인간-컴퓨터 상호작용의 미래를 형성하는 데 참여하도록 초대합니다. 첫 번째 샘플을 생성할 때, 여러분은 단순히 합성된 음성을 듣는 것이 아니라 음성 기술의 다음 진화 단계를 경험하고 있는 것입니다.
Higgs Audio V2는 오디오 생성 기술의 중요한 돌파구를 나타내며, 개발자와 연구자들에게 오디오 AI 애플리케이션을 탐색하고 혁신할 수 있는 강력한 도구를 제공합니다.