로컬 음성 인식·합성

최종 업데이트

Supertonic 3로 GPU 없이 한국어 음성 파일 만들기

문장과 한국어 코드 `ko`, 포함된 프리셋을 지정하면 WAV를 만들 수 있어요.

Supertonic 3는 31개 언어를 지원하는 온디바이스 TTS1예요. 공개 ONNX 자산은 CPU2에서 실행하고, 포함된 M1~M5·F1~F5 음성 프리셋을 골라 한국어를 WAV로 저장할 수 있어요. 사용자 목소리 스타일은 공개 프리셋과 다른 Voice Builder 서비스 경로예요.

실행 조건과 핵심 내용
  • 한국어 문장에 --lang ko를 지정해 ONNX 모델로 WAV를 만들어요.
  • M1~M5·F1~F5 중 하나를 --voice-style로 골라요.
  • 포함된 프리셋과 사용자 voice style 서비스는 별도 경로예요.

보관된 공개 모델로 CPU 합성을 시작해요

Supertonic 3는 글과 언어 코드를 받아 음성을 만드는 다국어 TTS예요. 공개 모델 파일을 ONNX Runtime3으로 실행하고, 한국어에 ko를 지정하면 미리 준비된 화자 프리셋으로 WAV를 저장할 수 있어요. 모델 카드에는 한국어·영어·일본어를 포함한 31개 언어가 안내되어 있어요. Supertonic 3 모델 카드

공개 저장소는 2026년 9월 9일 보관 처리돼 코드 변경과 지원이 중단됐어요. 아래 절차에서는 보관된 저장소의 현재 코드와 고정한 모델 자산 revision을 내려받아요.

펼쳐진 책과 작은 컴퓨터, 스피커가 놓인 책상
읽을 문장과 화자 프리셋을 먼저 정해요.

고정된 모델 파일을 준비해요

Python 3.11과 Git이 필요해요. 아래는 macOS와 Linux 터미널용이며, 코드는 보관된 기본 브랜치에서 받고 모델 파일 revision을 고정해요.

저장소와 모델 자산 준비
git clone https://github.com/supertone-oss-archive/supertonic.git
cd supertonic
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install huggingface_hub
hf download supertone-oss-archive/supertonic-3 --revision aafc6e32416a594460b32413efc49d7fe4ce6d46 --local-dir assets

한국어 WAV를 만들고 프리셋을 바꿔 들어요

같은 가상환경4에서 ONNX 예제 패키지를 설치하고 py/ 폴더에서 합성 명령을 실행해요. 기본 예제는 M1 목소리를 사용하지만, 여기서는 파일을 지정해 사용하는 스타일을 분명히 해요. --lang ko는 입력 문장이 한국어라는 뜻이에요.

M1 프리셋으로 한국어 문장 합성
python -m pip install -r py/requirements.txt
cd py
python example_onnx.py --n-test 1 --text "오늘 회의는 오후 두 시에 시작합니다." --lang ko --voice-style ../assets/voice_styles/M1.json

Apple M4 CPU, ONNX Runtime 1.23.1 CPUExecutionProvider, F3, 8 steps, speed 1.05, seed 42 조건으로 측정했어요. 언어마다 한 번 워밍업한 뒤 세 번 실행했고, 모델을 적재한 다음 tts() 호출 시간만 쟀어요.

약 12초 분량의 한국어 음성은 합성 호출 중앙값이 2.30초였어요. 모델 다운로드와 적재, WAV 저장, MP3 인코딩 시간은 이 값에 들어가지 않아요. 공개 샘플을 듣고 실제 원고도 CPU에서 생성해 확인해 보세요. 측정 조건과 데이터

성공하면 py/results/에 입력 문장 일부가 파일명에 들어간 WAV가 생겨요. 파일을 열어 숫자, 제품명, 문장 끝을 확인하고 다른 목소리를 듣고 싶으면 M1.json을 F3.json처럼 assets/voice_styles/ 안의 파일로 바꿔요. 생성물이 없으면 터미널의 첫 오류와 py/results/ 폴더를 살펴보세요.

좌우로 밀어 표 전체를 비교하세요.

언어별 생성 음성 길이와 합성 호출 시간
언어음성 길이tts() 중앙값RTF
한국어12.04초2.299초0.191
영어11.15초2.215초0.199
일본어14.64초2.943초0.201
마이크와 헤드폰, 파형이 표시된 모니터가 있는 작업대
생성한 WAV를 들어 문장 끝과 숫자 발음을 확인해요.

프리셋 목소리와 사용자 스타일을 구분해요

공개 모델 묶음에는 M1~M5와 F1~F5의 열 가지 preset voice style이 포함돼요. 이 파일로 바로 선택할 수 있는 것은 모델이 제공하는 음성 스타일이에요. 같은 문장과 언어를 두고 --voice-style 경로만 바꾸면 프리셋의 발음과 속도를 비교할 수 있어요.

Voice Builder는 참조 녹음으로 사용자 스타일을 만드는 별도 서비스였고, 보관된 저장소에는 포함되지 않아요. 로컬 예제에서는 M1~F5 프리셋 가운데 하나를 골라 사용해요. 다른 사람의 목소리를 본뜰 때는 먼저 허락을 받아요.

코드와 모델에 적용되는 라이선스를 따로 봐요

예제 코드는 MIT 라이선스, 모델 가중치는 OpenRAIL-M 라이선스예요. 프로그램을 수정하거나 배포할 때의 조건과 모델 가중치·생성물에 적용되는 조건은 각각 읽어야 해요. 저장소와 모델 카드는 라이선스 원문을 연결해 두었으니 사용 목적에 맞춰 확인하세요.

실제 사용할 분량을 CPU에서 생성해 숫자와 이름, 문장 끝을 들어봐요. 브라우저에서 실행하려면 보관 저장소의 web/README.md에 있는 로컬 예제로 개발 서버를 시작해요.

헤드폰과 오디오 플레이어, 펼쳐진 노트가 놓인 책상
내장된 프리셋과 사용자 목소리 스타일은 준비 방식이 달라요.

용어 각주

  1. 음성 합성 — 텍스트를 발음과 운율을 가진 음성 신호로 변환하는 기술입니다.

    본문으로 돌아가기
  2. CPU — 운영체제와 일반 프로그램 명령을 실행하고, AI에서는 전처리·데이터 이동 등 범용 연산을 맡는 중앙 처리 장치입니다.

    본문으로 돌아가기
  3. 런타임 — 프로그램이 실행될 때 필요한 기능을 제공하는 소프트웨어 환경입니다. 로컬 AI에서는 모델을 실행하는 엔진을 가리키기도 합니다.

    본문으로 돌아가기
  4. Python 가상환경 — 프로젝트별로 Python 패키지를 분리해 설치하는 공간입니다. 패키지 버전 충돌을 줄이는 데 쓰입니다.

    본문으로 돌아가기

자주 묻는 질문

이 글에서 가장 먼저 확인할 것은 무엇인가요?
Supertonic 3는 31개 언어를 지원하는 온디바이스 TTS예요. 공개 ONNX 자산은 CPU에서 실행하고, 포함된 M1~M5·F1~F5 음성 프리셋을 골라 한국어를 WAV로 저장할 수 있어요. 사용자 목소리 스타일은 공개 프리셋과 다른 Voice Builder 서비스 경로예요.
조건과 출처는 어디서 확인하나요?
Supertonic 3는 글과 언어 코드를 받아 음성을 만드는 다국어 TTS예요. 공개 모델 파일을 ONNX Runtime으로 실행하고, 한국어에 `ko`를 지정하면 미리 준비된 화자 프리셋으로 WAV를 저장할 수 있어요. 모델 카드에는 한국어·영어·일본어를 포함한 31개 언어가 안내되어 있어요. [Supertonic 3 모델 카드](https://huggingface.co/supertone-oss-archive/supertonic-3)