Davinci Voice
High-quality Korean Text-to-Speech with Voice Cloning
Davinci Voice๋ ํ๊ตญ์ด์ ์ต์ ํ๋ ๊ณ ํ์ง ์์ฑ ํฉ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. 3์ด์ ๋ ํผ๋ฐ์ค ์ค๋์ค๋ง์ผ๋ก ์์ฑ ํด๋ก๋์ด ๊ฐ๋ฅํ๋ฉฐ, ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ์ ์ง์ํฉ๋๋ค.
ํน์ง
- ๐ฏ ํ๊ตญ์ด ๋ค์ดํฐ๋ธ ์ง์: ํ๊ตญ์ด์ ์ต์ ํ๋ ๋ฐ์๊ณผ ์ด์จ
- ๐๏ธ 3์ด ์์ฑ ํด๋ก๋: ์งง์ ๋ ํผ๋ฐ์ค๋ก ๋น ๋ฅธ ์์ฑ ๋ณต์
- โก 97ms ๋ ์ดํด์: ์ค์๊ฐ ๋ํ์ ์ ํฉํ ๋น ๋ฅธ ์๋ต
- ๐ ๋ค๊ตญ์ด ์ง์: ํ๊ตญ์ด, ์์ด, ์ค๊ตญ์ด, ์ผ๋ณธ์ด ๋ฑ 10๊ฐ ์ธ์ด
- ๐ Apache 2.0 ๋ผ์ด์ ์ค: ์์ ์ ์ฌ์ฉ ๊ฐ๋ฅ
์ค์น
```bash pip install davinci-voice ```
๋น ๋ฅธ ์์
```python import torch from davinci_voice import DavinciVoiceModel
๋ชจ๋ธ ๋ก๋
model = DavinciVoiceModel.from_pretrained( "andrewkim80/davinci-voice", device_map="cuda:0", dtype=torch.bfloat16, attn_implementation="flash_attention_2", )
์์ฑ ํด๋ก๋
audio_list, sample_rate = model.generate_voice_clone( text="์๋ ํ์ธ์, ๋ค๋น์น ๋ณด์ด์ค์ ๋๋ค.", ref_audio="path/to/reference.wav", x_vector_only_mode=True, )
์ ์ฅ
import soundfile as sf sf.write("output.wav", audio_list[0], sample_rate) ```
์ฑ๋ฅ
| ์งํ | ๊ฐ |
|---|---|
| TTFA (Time To First Audio) | ~97ms |
| RTF (Real-Time Factor) | < 1.0 |
| MOS (Mean Opinion Score) | 4.6 |
| WER (Word Error Rate) | 1.8% |
๋ผ์ด์ ์ค
Apache License 2.0
๊ฐ์ฌ์ ๋ง
์ด ํ๋ก์ ํธ๋ Qwen3-TTS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.