가이드

Supertonic 3 목소리: 커스텀 목소리를 구하는 곳과 사용법

Supertonic 3는 일반 컴퓨터에서 돌아가는 작은 오픈 음성 합성 모델입니다. 기본 목소리 10개가 들어 있고, 그 밖의 목소리는 직접 추가하는 작은 파일 하나입니다. 이 파일만 있으면 모델이 지원하는 31개 언어 중 어떤 언어로든 내 CPU나 GPU에서 오프라인으로 음성을 만들 수 있습니다.

이 가이드에서는 Supertonic 3 목소리가 무엇인지, 원래 Supertonic 프로젝트가 보관(아카이브)된 지금 커스텀 목소리를 어디서 구하는지, 그리고 공식 코드·SuperClonica 엔진·Docker에서 목소리를 쓰는 방법을 설명합니다. SuperClonica는 이런 목소리를 판매하고 학습하므로, 저희 서비스에 관한 부분은 그렇다고 밝힙니다.

Supertonic 3 목소리란

Supertonic 3 목소리는 보이스 스타일입니다. 약 0.3MB 크기의 JSON 파일로, 작은 숫자 묶음 두 개를 담고 있습니다. 하나는 음색과 말투를, 다른 하나는 속도와 쉼을 정합니다. 모델 자체(약 385MB의 ONNX 파일)는 모든 목소리가 함께 쓰며 한 번만 내려받습니다.

목소리가 모델과 분리되어 있어 목소리를 바꾸는 데 아무 부담이 없습니다. 같은 설치로 어떤 목소리 파일이든 넘겨주면 그 목소리로 말합니다. 목소리는 모델의 모든 언어에서 작동하며, 영어·스페인어·독일어부터 러시아어·일본어·한국어·아랍어·힌디어까지 말합니다. 가장 자연스럽게 들리는 것은 목소리를 만든 녹음의 언어입니다. 중국어는 31개 언어에 포함되지 않습니다.

Supertonic 3 목소리를 구하는 곳

M1~M5와 F1~F5의 기본 목소리 10개는 모델과 함께 제공됩니다. 그 밖의 목소리는 몇 가지 경로로 구할 수 있습니다.

  • GitHub의 무료 목소리: superclonica/supertonic-voices 저장소에 9개 언어 음성 샘플이 함께 있는 무료 목소리 파일이 있습니다.
  • SuperClonica 카탈로그: 게임·애니메이션 캐릭터, 내레이터, 남성·여성·어린이 목소리 등 170개 이상의 목소리가 있습니다. 각 목소리 페이지에는 데모가 있고, 짧은 문장을 온라인에서 무료로 합성해 볼 수 있습니다. 무료 목소리는 계정 없이 내려받고, 유료 목소리는 한 번 구매합니다.
  • 주문 제작 목소리: 의뢰 페이지에서 원하는 목소리를 설명하고 녹음을 첨부하면 제작자가 학습해 줍니다.
  • 나만의 목소리: SuperClonica는 짧고 깨끗한 녹음으로 내 NVIDIA GPU에서 무료로 목소리를 학습합니다(저희 워커 프로그램 사용).
  • Supertone의 예전 커스텀 목소리 서비스인 Voice Builder는 보관된 프로젝트에 포함되지 않아, 이제 그곳에서 새 목소리를 만들 수 없습니다.

공식 Supertonic 코드로 목소리 사용하기

보관된 Supertonic 저장소는 지금도 작동합니다. 저장소를 클론하고 Python 3.11 가상 환경을 만든 뒤 huggingface_hub를 설치하고, hf download supertone-oss-archive/supertonic-3 --local-dir assets 로 모델을 assets 폴더에 내려받습니다(프로젝트 빠른 시작에 정확한 리비전이 지정되어 있습니다). 이어서 py/requirements.txt의 패키지를 설치합니다.

커스텀 목소리로 말하려면 py 폴더에서 예제 스크립트를 실행하며 목소리 파일을 넘깁니다: python example_onnx.py --voice-style ./voice.json --text "여기에 텍스트" --lang ko --n-test 1. WAV 파일은 results 폴더에 생깁니다. 다른 언어는 --lang을 en이나 ja 등으로 바꾸면 됩니다.

SuperClonica 엔진으로 목소리 사용하기

SuperClonica는 Supertonic 3를 바탕으로 한 저희 엔진입니다. 같은 목소리 파일을 변환 없이 읽고, 저희 측정으로는 CPU에서 평균 61%, 그래픽카드에서 73% 빠르며, 단어 사이의 모델 잡음을 없애고 숫자를 말로 읽습니다.

패키지 하나를 설치합니다: python -m pip install superclonica-cpu, NVIDIA GPU라면 superclonica-gpu-cuda. Python에서는 엔진을 한 번 만들고 tts.synthesize("안녕하세요!", voice="voice.json", lang="ko", seed=7)를 호출한 뒤 tts.save("hello.wav", audio)로 저장합니다. 명령줄에서는 superclonica --text "안녕하세요!" --voice voice.json --lang ko --output hello.wav 입니다. 기본 모델은 처음 실행할 때 내려받습니다.

Docker에서 목소리 사용하기

Docker Hub의 superclonica/superclonica 이미지는 엔진을 HTTP 서버로 실행합니다: docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu. NVIDIA GPU에서는 cuda 태그와 --gpus all을 씁니다.

POST /synthesize 요청에는 텍스트, 언어, 목소리를 담습니다. 목소리 JSON의 내용을 요청에 그대로 넣습니다. 목소리가 약 0.3MB이므로 요청을 파일로 만들어 curl -d @request.json 으로 보내는 것이 편합니다. 응답은 16비트 WAV입니다.

좋은 결과를 위한 팁

몇 가지 습관으로 목소리를 가장 좋게 들을 수 있습니다.

  • 목소리가 아니라 텍스트의 언어를 지정하세요. 러시아어 목소리도 영어 텍스트는 lang=en으로 읽습니다.
  • 마음에 드는 결과가 나오면 시드(seed)를 고정하세요. 같은 텍스트·목소리·시드면 같은 음성이 다시 나옵니다.
  • 공식 코드에서는 숫자·날짜·약어를 읽히길 원하는 형태로 쓰세요. SuperClonica 엔진은 숫자를 스스로 말로 읽습니다.
  • 긴 텍스트는 문단으로 나누세요. SuperClonica 엔진은 이를 자동으로 하고 긴 글을 짧은 부분으로 나눠 읽어, 단어가 반복되거나 잘리는 일이 줄어듭니다.
  • 구매 전에 데모를 들어 보세요. 목소리는 억양을 포함해 원래 녹음의 특징을 그대로 지닙니다.

실존 인물의 목소리와 모델 규칙

카탈로그의 일부 목소리는 유명인에게서 영감을 받았습니다. 이는 그들의 실제 목소리가 아니며 본인이 참여하지도 않았으므로, 그런 음성을 본인의 실제 발언처럼 내세우지 마세요.

Supertonic 3는 BigScience Open RAIL-M 라이선스로 공개되었고, 그 사용 제한은 모든 목소리에 적용됩니다. 동의 없이 다른 사람을 사칭하거나, 속이거나, 괴롭히는 데 음성을 쓰지 말고, 중요한 경우에는 기계로 생성한 음성임을 밝히세요.