Definition
로컬 TTS ZIP의 정체
Supertonic 3는 슈퍼톤이 공개한 온디바이스 다국어 TTS 엔진입니다. 공식 저장소는 ONNX 런타임 기반의 실행 구조, 31개 언어 지원, 약 99M 파라미터 규모의 공개 가중치, 그리고 데스크톱·모바일·브라우저·라즈베리파이까지 아우르는 폭넓은 배포 환경을 강조합니다. 핵심은 “로컬 실행”이라는 설계 철학입니다. 텍스트를 외부 서버로 전송해 합성하는 방식이 아니라, 사용자의 PC 안에서 준비된 모델과 런타임만으로 음성을 생성합니다.
이 도구는 그 위에 웹 UI, 실행.bat, 음성 샘플, 대본 카탈로그, faster-whisper 자막 보정 도구를 결합한 통합 패키지입니다. 사용자는 ZIP을 해제한 뒤 실행 파일을 더블클릭하고, 브라우저에서 대본과 화자를 선택하기만 하면 됩니다. 명령행 도구를 직접 다루어야 하는 진입 장벽을 최소화하는 데 초점을 두었습니다. 이 칼럼의 재생바에서 들을 수 있는 내레이션도 같은 흐름으로 만든 Supertonic 3 로컬 TTS 샘플이므로, 설치 전에 실제 음성 품질을 먼저 들어 볼 수 있습니다.

TTS 실행 방식
GPU 불필요
Supertonic 3는 ONNX 런타임 기반의 온디바이스 TTS 엔진입니다. NVIDIA GPU나 CUDA 환경을 별도로 갖추지 않아도, 일반적인 사양의 CPU만으로 한국어를 비롯한 다국어 음성을 합성할 수 있습니다.
자막 보정 방식
Whisper도 CPU 실행
faster-whisper의 자막 보정 또한 CPU int8 연산을 기본값으로 채택해, 별도의 GPU 가속 없이도 동작합니다. GPU가 있다면 속도 면에서 이점이 있지만, 일반 Windows PC에서도 WAV를 재분석해 SRT/VTT를 생성할 수 있다는 점이 핵심입니다.
배포 형태
ZIP + 실행.bat
공식 페이지에서 ZIP을 내려받아 압축을 푼 뒤 실행.bat을 실행하면, 로컬 서버가 127.0.0.1:3093 주소로 자동 기동됩니다. 별도의 설치 마법사나 시스템 권한 부여 과정이 필요하지 않습니다.
대본 자동 생성
LLM 직접 호출은 없음
웹앱 자체는 ChatGPT나 Claude 등 외부 LLM API를 직접 호출하지 않습니다. 사용자가 “대본 요청”을 저장하면 JSON 파일이 기록되며, Codex나 Cursor 같은 보조 도구가 이를 참고해 대본 파일과 카탈로그를 갱신하는 분리형 구조입니다.
Why it matters
CPU 기반 TTS와 자막 보정
로컬 AI 도구를 도입할 때 가장 큰 부담은 GPU 환경 구성입니다. CUDA 버전, NVIDIA 드라이버, VRAM 용량을 맞추는 과정은 입문 사용자에게 상당한 진입 장벽으로 작용합니다. 이 도구는 그 부담을 구조적으로 해소합니다. 음성 합성과 자막 보정 모두 CPU에서 처리할 수 있도록 설계되어 있어, 일반적인 사양의 Windows PC에서도 곧바로 워크플로를 검증할 수 있습니다.
Supertonic 3 TTS
공식 문서는 GPU 없이도 동작하는 온디바이스 모델이라는 점을 명확히 밝히고 있습니다. 본 ZIP은 이러한 설계 철학을 그대로 계승해 CPU 기반 WAV 합성을 기본 워크플로로 채택합니다.
faster-whisper 보정
faster-whisper는 CPU int8 실행 예시와 공식 벤치마크를 제공합니다. GPU 가속을 전제하지 않더라도, CPU만으로 생성된 WAV를 재분석해 자막 정확도를 확보할 수 있습니다.

물론 CPU 전용 실행은 GPU 대비 절대 속도에서 불리할 수 있습니다. 특히 medium이나 large-v3 모델로 장문 대본을 보정할 때는 처리 시간이 길어지는 경향이 있습니다. 그럼에도 고성능 장비 없이 음성 파일과 자막 초안을 직접 생성할 수 있다는 사실은, 실제 콘텐츠 제작 환경에서 분명한 경쟁력으로 작용합니다.
Local requirements
로컬 실행 요구사항
“CPU만 있으면 된다”는 것은 GPU가 필요 없다는 의미일 뿐, 별도의 로컬 실행 조건은 존재합니다. Supertonic 3와 faster-whisper가 CPU에서 동작한다고 해서, 아무런 사전 준비 없이 즉시 실행된다는 의미는 아닙니다. 이 ZIP은 Python 기반 웹 서버를 기동한 뒤 그 안에서 Supertonic SDK와 faster-whisper를 호출하는 구조이므로, 최소한의 런타임 환경은 반드시 갖춰져야 합니다.
운영체제
Windows 10/11 권장
기본 실행 진입점은 Windows용 실행.bat입니다. Windows 환경에서는 더블클릭만으로 기동이 가능하며, Linux나 macOS에서는 start.sh를 활용하거나 수동 실행 절차를 거쳐야 합니다.
Python
Python 3.11 권장
ZIP에는 .venv-win 가상환경이 포함되어 있지 않습니다. 실행.bat은 사용자 PC에 설치된 Python을 먼저 탐색한 뒤, 발견되지 않을 경우 winget을 통해 Python 3.11 설치 여부를 안내합니다.
Python 패키지
requirements.txt 기반 자동 설치
TTS 앱과 Whisper 보정 도구는 각각 독립된 requirements.txt를 갖습니다. 실행.bat은 .venv-win을 생성한 뒤 supertonic, Flask, faster-whisper를 포함한 필수 의존성을 자동으로 설치합니다.
ffmpeg
선택 설치 (TTS 필수 아님)
Supertonic 3 WAV 생성·기본 웹 UI 실행에는 FFmpeg가 없어도 됩니다. 실행.bat은 ffmpeg가 없을 때만 winget으로 Gyan.FFmpeg(GPLv3 빌드로 안내) 설치를 제안하며, 설치 전 라이선스 설명과 동의 확인을 표시합니다. ZIP에는 FFmpeg가 포함되지 않습니다. --skip-ffmpeg로 건너뛸 수 있습니다.
GPU/CUDA
필수 아님
GPU 없이 CPU만으로 TTS 생성과 Whisper 자막 보정이 모두 가능합니다. NVIDIA GPU, CUDA, cuDNN은 필수 요구사항이 아니며, GPU가 있을 경우 Whisper 보정 속도에서만 이점을 얻을 수 있습니다.
브라우저
Chrome/Edge 권장
실행.bat이 로컬 서버를 기동한 뒤 자동으로 http://127.0.0.1:3093 주소를 엽니다. 웹 UI를 통해 대본 선택, 음성 선택, 생성, 다운로드가 이루어지므로 최신 버전의 크로미움 계열 브라우저 사용을 권장합니다.
인터넷 연결
최초 준비 단계에서 필요할 수 있음
첫 실행 시 Python, ffmpeg, pip 패키지, Supertonic 모델, Whisper 모델을 다운로드해야 할 수 있습니다. 초기 셋업이 완료된 뒤에는 동일 PC에서 제한된 네트워크 환경으로도 운용이 가능합니다.
저장공간
여유 공간 권장
ZIP 자체는 약 159 MiB이지만, 압축 해제 이후 .venv-win, 모델 캐시, 생성 WAV 및 자막 파일이 누적되며 용량이 빠르게 증가합니다. 장문 TTS를 다룰 계획이라면 수 GB 이상의 여유 공간 확보를 권장합니다.
실행 권한
쓰기 권한이 보장된 폴더
생성 결과는 supertonic3-local-tts/data 폴더에 저장됩니다. Program Files처럼 권한이 제한된 경로보다는 사용자 폴더, 바탕화면, D 드라이브와 같이 쓰기 권한이 자유로운 경로에 압축을 푸는 것이 안정적입니다.
실행 전 점검 포인트
이 도구는 Windows 로컬 실행을 기준으로 구성되어 있습니다. GPU나 CUDA는 필요하지 않으나, Python과 필수 의존 패키지는 반드시 갖춰져야 합니다. 최종 ZIP에 .venv-win이 포함되지 않는 만큼, 첫 실행에서는 가상환경 생성과 패키지 설치 과정이 자동으로 수행됩니다.
Download check
ZIP 다운로드 검증
최종 ZIP은 파일명, SHA256, 포함·제외 항목을 사전 확인한 뒤 사용하는 편이 안전합니다. 배포 매니페스트를 살펴보면, 이 ZIP은 실행에 반드시 필요한 소스·문서·예제 산출물은 포함하되 가상환경과 서버 로그처럼 환경 의존적인 요소는 제외한 형태로 패키징되어 있습니다. 사용자는 파일명과 SHA256만 확인해도 다운로드 단계에서 발생할 수 있는 오류를 효과적으로 차단할 수 있습니다.
프로그램 배포 정보를 확인하는 중입니다.

# PowerShell에서 ZIP의 SHA256 해시 확인 예시
Get-FileHash .\supertonic3-local-tts-20260517-r4.zip -Algorithm SHA256Use cases
로컬 TTS 활용 사례
로컬 TTS는 “단번에 완성도 높은 음성을 만들어주는 도구”라기보다, “필요할 때마다 WAV를 자유롭게 다시 생성할 수 있는 제작 환경”에 가깝습니다. 글자 수, 처리 시간, 크레딧 단위로 비용이 누적되는 클라우드 TTS와 달리, 초안 검수·반복 테스트·교육 자료 제작·장문 낭독과 같이 시안 반복이 필수적인 작업에서 특히 강점을 발휘합니다. 물론 전기, 시간, 저장공간은 사용됩니다. 본문에서 “비용 부담이 없다”는 표현은 클라우드 TTS의 과금이나 월 구독 크레딧을 소모하지 않는다는 의미로 한정됩니다.

License
무료 실행과 공개 사용 조건
개인 테스트와 공개 콘텐츠 제작은 책임 범위가 다릅니다. 집에서 발음 예제를 만들거나 초안 음성을 검토하는 것과, 유튜브 영상·강의 교재·서비스 안내 음성처럼 외부에 노출되는 결과물에 활용하는 것은 적용되는 라이선스 조건과 윤리적 기준 모두에서 차이가 있습니다. 아래 내용은 ZIP 루트 LICENSE_NOTICES.txt(Supertonic 3 Local TTS Integration)를 칼럼용으로 요약한 것이며, 법적 자문을 대체하지 않습니다.
다운로드·배포 시 짧은 고지
- 이 ZIP은 Supertonic 3·faster-whisper를 묶은 로컬 통합 패키지이며, 원본 코드·모델 가중치·의존성은 각각의 업스트림 라이선스를 따릅니다.
- 「무료 다운로드」·「무료 로컬 사용」을 무제한 권리로 해석하면 안 됩니다. 코드(MIT)와 모델(Open RAIL-M)은 별개입니다.
- 생성한 텍스트·음성·자막·로그에 대한 책임은 사용자에게 있습니다. 사칭, 동의 없는 음성 복제, 기만·괴롭힘·불법·유해 자동 생성 용도는 금지됩니다.
FFmpeg — 선택 설치, ZIP 미포함, GPL 주의
이 배포 ZIP에는 FFmpeg 바이너리가 들어 있지 않습니다. 실행.bat은 사용자 PC에 ffmpeg가 없을 때만 Gyan.FFmpeg(winget) 설치를 제안합니다. 퍼블리셔는 해당 빌드를 GPLv3 빌드로 설명합니다. FFmpeg 본체는 일반적으로 LGPLv2.1 이상이지만, GPL 구성 요소가 포함된 빌드는 GPL 조건의 적용을 받을 수 있습니다.
- TTS 필수 아님: FFmpeg 없이도 Supertonic 3 WAV 생성과 로컬 웹 UI(127.0.0.1:3093) 실행이 가능합니다. MP3·M4A·MP4 등 비-WAV 미디어 변환, 변환 기반 정밀 자막 싱크는 제한될 수 있습니다.
- 설치는 선택: 실행.bat은 라이선스 설명 후 사용자 동의를 받고,
--skip-ffmpeg로 건너뛸 수 있습니다. - 재배포·서비스 제공 시: GPL FFmpeg 바이너리를 제3자에게 배포·제공하거나 자신의 제품에 포함해 배포하는 경우, GPL에 따른 소스코드 제공(source offer), 저작권·라이선스 고지 유지 등 의무가 생길 수 있습니다. 개인 PC에만 설치해 자신만 쓰는 경우와, ZIP·설치 패키지·SaaS에 FFmpeg를 묶어 다시 나누는 경우는 책임 범위가 다릅니다.
- 설치·재배포 전 FFmpeg legal, Gyan FFmpeg builds를 확인하세요.
라이선스 4계층 요약
- Supertonic GitHub 예제 코드 — MIT. 코드 라이선스가 모델 가중치까지 확장되지는 않습니다.
- Supertonic 3 모델 — Open RAIL-M 계열. 사용 제한·생성물 책임은 upstream LICENSE를 따릅니다.
- faster-whisper — MIT 런타임. Whisper 모델 파일은 별도 조건이 있을 수 있습니다.
- 이 로컬 ZIP 통합 UI — upstream 조건 준수. 공식 Supertone/SYSTRAN 제품이 아닙니다.
배포 안내는 이 칼럼에서 확인하고, 로컬 고지는 ZIP 루트의 LICENSE_NOTICES.txt 또는 실행 후 앱 안의 라이선스 고지 화면에서 확인합니다.
재배포·2차 배포 체크리스트
- ZIP 루트 LICENSE_NOTICES.txt를 유지합니다.
- Supertonic 예제 코드를 재배포하면 upstream MIT 고지·라이선스를 보존합니다 (supertonic-upstream/LICENSE).
- Supertonic 3 모델 파일을 묶어 배포하면 Hugging Face 모델 LICENSE 파일을 포함합니다.
- faster-whisper 소스·venv·모델 캐시를 묶으면 MIT 및 해당 Whisper 모델 라이선스를 함께 둡니다.
- 현재 ZIP은 FFmpeg 바이너리를 포함하지 않습니다. 향후 FFmpeg를 묶어 배포하면 GPL/LGPL에 따른 라이선스 고지·소스 제공 의무를 이행해야 합니다.
- 다운로드 페이지·README에 upstream 링크(Supertonic, 모델 LICENSE, faster-whisper, FFmpeg legal)를 보존합니다.
개인 학습·테스트에서는 부담이 상대적으로 적지만, 공개 콘텐츠·재배포 ZIP·설치 패키지 제작 시에는 LICENSE_NOTICES.txt 전문과 upstream LICENSE를 반드시 확인하세요. 다운로드 버튼 근처에도 「Supertonic 3·faster-whisper 통합 패키지이며 upstream 라이선스·생성물 책임은 사용자에게 있음」을 함께 고지하는 것을 권장합니다. FFmpeg를 언급할 때는 「ZIP 미포함·선택 설치·Gyan GPLv3 빌드」를 명시하세요.
Product context
Supertone Play와 Supertonic 3
슈퍼톤은 Supertone Play라는 유료 TTS·보이스 서비스를 운영합니다. Play는 웹 인터페이스, API 사용량, 보이스 클로닝, 다운로드 권한, 상업적 활용 조건 등을 요금제와 연계해 제공하는 전형적인 SaaS 제품입니다.
반면 Supertonic 3는 로컬 실행에 초점을 맞춘 공개 TTS 프로젝트입니다. 사용자는 외부 서비스에 원고를 전송하지 않고 자신의 PC 내부에서 음성을 합성할 수 있습니다. 유료 서비스의 대체재라기보다는, 로컬 음성 생성 워크플로를 직접 설계할 수 있도록 공개된 엔진에 가깝습니다.
Supertone Play
요금제, 계정, API, 상업적 사용 조건이 결합된 SaaS 형태의 유료 제품입니다.
카드 클릭 → Supertone Play 안내
Supertonic 3
ONNX 기반 공개 TTS 엔진으로, 로컬·브라우저·엣지 디바이스 실행에 특화되어 있습니다.
이 로컬 도구
대본 입력, 음성 합성, 자막 보정을 단일 화면에서 처리하도록 통합한 사용자 친화형 작업 환경입니다.

Supertone Play 상세 안내
아래 내용은 2025년 4월 전후 공개된 Play 제품 정보를 바탕으로 정리했습니다. 요금·크레딧·API 한도는 변경될 수 있으므로 가입·결제 전에는 반드시 공식 사이트에서 최신 조건을 확인하세요.
1. 서비스 개요
Supertone Play는 하이브(HYBE) 산하 AI 오디오 기업 슈퍼톤(Supertone)이 운영하는 클라우드 TTS·보이스 플랫폼입니다. 텍스트를 입력하면 사람에 가까운 음성으로 변환하고, 짧은 샘플만으로 자신의 목소리를 복제해 활용할 수 있습니다. 2024년 10월 31일 오픈 베타를 거쳐 2025년 4월 정식 서비스로 전환되었으며, 릴스·쇼츠 더빙, 광고, 안내방송, 오디오북, 교육 콘텐츠 등에 널리 쓰입니다.
이 칼럼의 로컬 ZIP은 Play 계정·크레딧 없이 PC에서 Supertonic 3를 돌리는 도구입니다. Play를 쓰려면 별도 가입과 요금제가 필요하며, 상업적 사용·출처 표기·API 한도는 Play 약관을 따릅니다.
2. 보이스 모델 (Sona 2 · Supertonic)
Play는 품질·속도 성격이 다른 두 TTS 모델을 제공합니다. 로컬 ZIP의 Supertonic 3 오픈소스와 이름이 같아도 제품·언어 범위는 다릅니다.
Sona 2
고품질사람과 유사한 감정·표현이 담긴 차세대 다국어 TTS 모델입니다.
- 음높이(pitch shift)·음높이 변화(pitch variance)·속도 등을 세밀하게 조절
- <laugh>(웃음), <clear>(목 가다듬기) 등 비언어적 표현 태그 지원
- 호흡·억양·페이싱이 자연스러워 오디오북·유튜브 등 장문 콘텐츠에 적합
- Sona 2 기준 23개 언어 지원
Supertonic
BETA · 빠른 모델Play에 통합된 온디바이스급 빠른 TTS입니다. GitHub의 Supertonic 3 오픈소스와 이름은 같지만 제품·언어 범위가 다릅니다.
- 네트워크 지연 없이 브라우저·모바일·PC에서 즉시 합성, 데이터 전송 최소화
- GPU 없는 일반 PC·엣지에서도 동작 — 금융·의료 등 보안이 중요한 환경에 유리
- Play 내 지원 언어: KR, US, JP, ES, PT 5개(오픈소스 Supertonic 3는 31개 언어)
- 데스크톱 앱 Pro 이상에서 무제한·크레딧 약 50% 절감(요금제·기간 조건 확인)
3. 보이스 라이브러리
2026년 5월 17일 기준 Play 보이스 라이브러리는 총 257개입니다. 이 중 4개는 사용자가 직접 만든 클론 보이스이며, 나머지는 슈퍼톤이 제공하는 기본·카테고리 보이스 풀입니다. 최근 사용 보이스는 계정별로 별도 관리됩니다.
- 카테고리 예: All, Meme, Conversational, Business, Narration, Announcement, Education 등
- 언어·성별·연령대(Young-Adult, Middle-Aged 등) 필터, NEW·CHOICE 태그
- 용도 라벨: Acting, Storytelling, Audiobook, Documentary, Game, News, Short-Form, Humor 등
4. 지원 언어 (Sona 2 · 23개)
Play는 한국 TTS 서비스 중 다국어 지원 폭이 넓은 편으로, Sona 2 기준 23개 언어를 제공합니다. 핵심은 한 번의 보이스 클로닝 샘플로 23개 언어에서 동일한 음색(timbre)을 유지할 수 있다는 점입니다. 언어별 추가 녹음 없이 글로벌 더빙 워크플로를 단순화할 수 있습니다.
중국어는 보이스 라이브러리 UI에 미표시된 경우가 있습니다. 최신 지원 목록은 공식 Play에서 확인하세요.
5. 보이스 클로닝
약 10초 분량의 음성 샘플만으로 사용자 목소리를 복제해, 입력한 텍스트를 그 음색으로 읽게 할 수 있습니다. 복제 보이스도 Sona 2의 23개 언어에서 사용 가능해, 한국어 샘플 하나로 영어·일본어·스페인어 등 외국어 내레이션을 만드는 다국어 더빙이 가능합니다.
무료 플랜에서도 스크립트 낭독 절차를 거친 뒤 보이스 클로닝을 무제한 이용할 수 있다는 안내가 있으며, 유료 플랜은 상업적 사용·출처 표기 조건이 플랜별로 달라집니다.
6. 요금제 (2025년 4월 17일 기준)
표는 당시 공개된 USD 요금·크레딧을 요약한 것입니다. Supertonic(Play 내 빠른 모델) 사용 시 체감 분량이 늘어날 수 있으며, 데스크톱 앱·프로모션 조건은 공식 페이지를 따릅니다.
Enterprise — 맞춤 가격, 볼륨 할인, 전담 매니저, 우선 지원. API 한도는 Free·Starter 분당 20회, Creator 30회, Pro 60회 수준으로 안내된 바 있습니다.
7. API 및 추가 기능
- Cloned Voice API, TTS API — 요금제별 분당 요청 한도 상이
- Creator 이상: 단어·줄 간격 조절(Word & Line Spacing Control)
- 데스크톱 앱: 로컬 편집, 파일 관리, 배치 생성 — 장시간 영상·팟캐스트·오디오북에 적합
8. 활용 분야
쇼츠·릴스·틱톡 더빙, 유튜브 내레이션, 광고·안내방송, 교육·오디오북, 게임 캐릭터 보이싱, 다국어 로컬라이제이션 등에 쓰입니다. 자신의 목소리를 23개 언어로 확장할 수 있다는 점이 글로벌 크리에이터에게 자주 언급되는 장점입니다.
Company context
하이브와 슈퍼톤 배경
슈퍼톤은 하이브 계열의 AI 오디오 기술 회사입니다. 연합뉴스 보도에 따르면 하이브는 2023년 1월 31일 슈퍼톤에 450억 원을 추가 투자해 지분 56.1%를 확보했으며, 2021년에 먼저 취득한 18.2% 지분을 더해 최대주주 지위에 올랐습니다.
사용자가 이러한 배경을 인지해 두면 도움이 됩니다. 음성 AI는 모델 연구, 음성 데이터 확보, 제품화, 안전 정책의 지속적 업데이트가 필수적인 분야이기 때문입니다. 콘텐츠 기업인 하이브와 음성 합성 기술을 보유한 슈퍼톤의 결합은 향후 기술적 개선 가능성을 기대하게 만드는 요인입니다. 다만 모기업의 안정성과 별개로, 개별 라이선스 조건은 별도로 검토해야 한다는 원칙은 그대로 유지됩니다.
하이브 공식 사업 페이지 역시 슈퍼톤을 AI 오디오 기술 회사로 소개하며 음악, 영화, 유튜브, 버튜버 콘텐츠 영역과의 시너지를 언급하고 있습니다. 유튜브 내레이션, 언어 교육 음성, 안내 멘트처럼 크리에이터가 자주 활용하는 음성 자료를 로컬에서 직접 생성할 수 있다는 점이 이러한 사업 방향과 자연스럽게 맞물립니다.
Official sourceHYBE 공식 사업 페이지 — 슈퍼톤하이브가 슈퍼톤을 AI 오디오 기술 회사로 소개하는 공식 자료입니다. 슈퍼톤의 음성 합성 기술이 음악, 영상, 유튜브, 버튜버 콘텐츠와 어떻게 연결되는지 확인할 수 있습니다.hybecorp.com/ko/company/businessPackage map
ZIP 폴더 구조
처음에는 폴더 구성이 다소 복잡해 보일 수 있지만, 실제로 사용자가 직접 실행해야 하는 파일은 루트의 실행.bat 하나입니다. 나머지 디렉터리는 음성 합성 앱, Whisper 자막 보정 도구, 공식 참고 자료, 예제 산출물, 라이선스 고지로 역할이 명확히 분리되어 있습니다.
supertonic3-local-tts-20260516-r4/
실행.bat
README.md
README-ZIP-배포.md
LICENSE_NOTICES.txt
sample.txt
scripts/create_release_zip.py
supertonic-upstream/
supertonic3-local-tts/
requirements.txt
src/
ui/
public/
data/ # 예제 WAV·자막·Whisper 결과 포함
supertonic3-whisper-subtitles/
requirements.txt
whisper_subtitle_refiner.py
refine_latest.ps1실행.bat
Windows 실행 진입점
프로젝트 루트를 자동 식별한 뒤 Python, ffmpeg, .venv-win, 필수 pip 패키지의 상태를 점검합니다. 모든 준비가 완료되면 3093 포트로 로컬 서버를 기동하고 브라우저를 자동으로 엽니다.
supertonic-upstream
공식 Supertonic 참고 원본
공식 예제와 문서를 보관하는 폴더입니다. Python, Node.js, Browser, Java, C++, C#, Go, Swift, Rust, Flutter 등 언어별 예제와 ONNX 호출 방식을 참조할 때 활용합니다.
supertonic3-local-tts
실제 웹앱 본체
Flask 서버, 브라우저 UI, Supertonic Python SDK 래퍼, 대본 카탈로그, 음성 샘플, 생성 결과 저장 로직을 포함하는 핵심 실행 폴더입니다. requirements.txt 또한 이 디렉터리에 위치합니다.
supertonic3-whisper-subtitles
CPU 기반 자막 보정 도구
faster-whisper로 WAV를 재분석해 *_whisper.srt, *_whisper.vtt, *_whisper.txt, *_whisper.json, *_whisper_log.txt를 생성합니다. 독립된 requirements.txt를 사용하므로 가상환경 또한 별도로 관리됩니다.
LICENSE_NOTICES.txt
포함 기술 라이선스 고지
Supertonic 3, faster-whisper, 로컬 웹앱에 포함된 주요 라이선스 정보를 통합 정리한 파일입니다. 서버 실행 중에는 앱 안의 라이선스 고지 화면에서도 동일한 내용을 확인할 수 있습니다.
data 예제 산출물
출력 형식 미리보기
첫 실행 사용자가 WAV, SRT, VTT, Whisper 보정 JSON 및 로그가 어떤 구조로 저장되는지 즉시 확인할 수 있도록 공개 가능한 예제 파일이 포함되어 있습니다.
README.md
사용자 매뉴얼
빠른 실행, 수동 실행, 환경변수, 트러블슈팅, 라이선스 유의사항을 정리한 문서입니다. 실행이 막힐 경우 가장 먼저 확인해야 할 파일입니다.
sample.txt
테스트용 샘플 대본
첫 사용자가 곧바로 음성을 생성해 볼 수 있도록 준비된 한국어 장문 샘플 대본입니다.
Run guide
실행.bat 사용법
Windows 사용자에게 가장 직관적인 진입점은 루트 폴더의 실행.bat입니다. 이 배치 파일은 현재 작업 디렉터리에 의존하지 않고 자기 위치와 호출 경로를 기준으로 프로젝트 루트를 식별한 뒤, 사전 점검 항목을 순차적으로 검증합니다. Supertonic SDK와 faster-whisper의 설치 버전·최신 버전 확인도 이 과정에서 함께 표시되므로, 현재 환경이 어떤 런타임으로 실행되는지 투명하게 확인할 수 있습니다.
실행 후 열리는 터미널은 단순한 장식 창이 아니라 로컬 서버 로그입니다. 브라우저가 음성 파일을 불러오거나 다운로드할 때 GET 요청과200, 403, 500 같은 상태 코드가 표시되므로, 재생·다운로드·보정 오류를 추적할 때 함께 확인하는 것이 좋습니다.

ZIP 다운로드 및 무결성 확인
공식 페이지에서 supertonic3-local-tts-20260516-r4.zip 파일을 내려받습니다. 함께 제공되는 .zip.sha256 파일이 있다면 SHA256 해시를 비교해 다운로드의 무결성을 검증합니다.
압축 해제 위치 선정
D 드라이브나 바탕화면 등 사용자가 접근하기 쉬운 경로에 압축을 해제합니다. 한글 경로와 공백 경로를 고려해 설계되었지만, 초기 실행에서는 비교적 짧은 경로를 사용하는 편이 문제 해결에 유리합니다.
실행.bat을 통한 초기 셋업
배치 파일은 Python, ffmpeg, .venv-win, 필수 pip 패키지 상태를 점검합니다. 누락된 항목은 설치 또는 생성 절차를 안내하며, 이미 준비된 항목은 자동으로 건너뜁니다.
브라우저 자동 접속
정상 기동 시 http://127.0.0.1:3093 주소에서 웹 UI가 열립니다. 동일 포트에 서버가 이미 떠 있을 경우 중복 기동 대신 기존 인스턴스의 주소를 재오픈합니다.
# 서버를 기동하지 않고 준비 상태만 점검
실행.bat --check
# 업데이트 확인을 건너뛰고 빠르게 점검
실행.bat --check --skip-update
# Python/ffmpeg/venv/pip 자동 준비를 건너뛰고 점검
실행.bat --check --skip-bootstrap
# ffmpeg 점검과 설치 제안을 건너뛰고 점검
실행.bat --check --skip-update --skip-ffmpeg
# 수동 접속 주소
http://127.0.0.1:3093Web UI
웹 UI 사용 흐름
UI의 흐름은 단순하고 일관됩니다. 대본을 선택하거나 직접 입력하고, M1~M5 또는 F1~F5 중에서 화자를 고르고, 속도와 단계 값을 검토한 뒤 생성 버튼을 누릅니다. 합성이 완료되면 WAV, 대본 TXT, 입력 로그, 기본 SRT/VTT, Whisper 보정 파일을 일괄 다운로드할 수 있습니다. 상단에는 다크/라이트 전환, 배포 안내, 라이선스 고지, Supertonic GitHub와 faster-whisper 출처 링크가 배치되어 있어 실행 도구의 출처와 사용 조건을 바로 확인할 수 있습니다.


대본 입력
public/scripts.json에 등록된 대본을 드롭다운에서 선택하거나, 텍스트 영역에 직접 입력할 수 있습니다. 장문 대본은 public/*.txt 파일로 보관한 뒤 text_url로 연결하는 방식이 안정적입니다.
표현 태그
Supertonic 3는 대본 안의 <laugh>, <breath> 등 10개 인라인 태그로 호흡·감정을 제어합니다. 상세 표는 아래 표현 태그·생성 옵션 섹션을 참고하세요.
음성 샘플
샘플 컨트롤은 좌측 영역이 재생, 우측 영역이 선택으로 분리되어 있습니다. 샘플 청취와 실제 드롭다운 화자 변경 동작을 의도적으로 구분한 UX입니다.
사용자 설정
Custom 1~5 슬롯에 속도, 단계 수, 청크 길이, 무음 길이 등의 값을 프리셋으로 저장할 수 있습니다. 설정은 동일 브라우저의 localStorage에 보관됩니다.
31 languages
31개 언어 음성 샘플 (F4)
아래 31개 샘플은 모두 로컬 Supertonic 3에서 화자 F4로 합성한 뒤 CDN에 올린 WAV입니다. 각 카드의 대본과 lang 코드가 웹 UI의 언어 설정과 일치합니다. 공식 지원 언어: ar, bg, hr, cs, da, nl, en, et, fi, fr, de, el, hi, hu, id, it, ja, ko, lv, lt, pl, pt, ro, ru, sk, sl, es, sv, tr, uk, vi — 언어를 모를 때는 na를 쓸 수 있습니다.
lang=arvoice F4مرحبًا، هذا عرض صوتي من سوبرتونيك ثري على جهازك المحلي.
lang=bgvoice F4Здравейте, това е локален гласов пример от Supertonic 3.
lang=hrvoice F4Bok, ovo je lokalni glasovni uzorak Supertonic 3 na vašem računalu.
lang=csvoice F4Ahoj, toto je místní hlasová ukázka Supertonic 3.
lang=davoice F4Hej, dette er en lokal stemmeprøve med Supertonic 3.
lang=nlvoice F4Hallo, dit is een lokale stemdemo van Supertonic 3.
lang=envoice F4Hello, this is a local voice sample from Supertonic 3 on your PC.
lang=etvoice F4Tere, see on kohalik Supertonic 3 häälenäidis teie arvutis.
lang=fivoice F4Hei, tämä on paikallinen Supertonic 3 -ääninäyte tietokoneellasi.
lang=frvoice F4Bonjour, voici un échantillon vocal local de Supertonic 3.
lang=devoice F4Hallo, das ist eine lokale Sprachprobe von Supertonic 3 auf Ihrem PC.
lang=elvoice F4Γεια σας, αυτό είναι τοπικό δείγμα φωνής Supertonic 3.
lang=hivoice F4नमस्ते, यह आपके पीसी पर Supertonic 3 का स्थानीय वॉइस नमूना है।
lang=huvoice F4Szia, ez egy helyi hangminta a Supertonic 3-tól.
lang=idvoice F4Halo, ini sampel suara lokal Supertonic 3 di komputer Anda.
lang=itvoice F4Ciao, questo è un campione vocale locale di Supertonic 3.
lang=javoice F4こんにちは。お使いのパソコンで動く、スーパートニック3のローカル音声サンプルです。
lang=kovoice F4안녕하세요. 지금 듣는 목소리는 내 PC에서 합성한 슈퍼토닉3 샘플입니다.
lang=lvvoice F4Sveiki, šis ir lokāls Supertonic 3 balss paraugs jūsu datorā.
lang=ltvoice F4Sveiki, tai vietinis Supertonic 3 balso pavyzdys jūsų kompiuteryje.
lang=plvoice F4Cześć, to lokalna próbka głosu Supertonic 3 na twoim komputerze.
lang=ptvoice F4Olá, esta é uma amostra de voz local do Supertonic 3 no seu PC.
lang=rovoice F4Bună, acesta este un eșantion vocal local Supertonic 3 pe computerul tău.
lang=ruvoice F4Привет, это локальный голосовой пример Supertonic 3 на вашем компьютере.
lang=skvoice F4Ahoj, toto je miestna hlasová ukážka Supertonic 3.
lang=slvoice F4Pozdravljeni, to je lokalni glasovni vzorec Supertonic 3.
lang=esvoice F4Hola, esta es una muestra de voz local de Supertonic 3 en tu PC.
lang=svvoice F4Hej, det här är ett lokalt röstprov från Supertonic 3.
lang=trvoice F4Merhaba, bu bilgisayarınızda Supertonic 3 yerel ses örneğidir.
lang=ukvoice F4Привіт, це локальний голосовий зразок Supertonic 3 на вашому ПК.
lang=vivoice F4Xin chào, đây là mẫu giọng nói cục bộ Supertonic 3 trên máy tính của bạn.
31 languages · long form
31개 언어 장문 스토리 (랜덤 화자)
위 단문 샘플과 달리, 아래 31개는 언어마다 15문장 이상의 짧은 스토리(로컬 TTS 제작 흐름) 대본입니다. 화자는 M1~M5, F1~F5 중 언어별로 다르게 골라 합성했습니다. 모두 로컬 Supertonic 3의 /api/tts-job으로 생성한 뒤 CDN에 올린 WAV입니다.
lang=arvoice M2في صباحٍ هادئ، فتحت لينا ملف تحرير فيديو طويل وكانت تبحث عن صوتٍ ثابت. خدمات السحابة كانت تحسب التكلفة حرفًا بحرف، فترددت في إعادة التجربة. أرسل لها صديق رابط حزمة Supertonic 3 المحلية. نزّلت الملف المضغوط وتحققت من بصمة التجزئة قبل فك الضغط. شغّلت ملف التشغيل وفتح المتصفح على العنوان المحلي. اختارت اللغة العربية وصوتًا من القائمة بشكل عشوائي. سمعت جملة ترحيب قصيرة لتقييم النبرة والسرعة. خفّضت السرعة قليلًا وتركت عدد الخطوات على ثمانية. ضغطت زر الإنشاء وبدأ المعالج يعمل على الجهاز. بعد دقائق، حفظ النظام ملف الصوت والنص معًا. ظهرت ملفات الترجمة الأولية بصيغتي SRT وVTT. عدّلت كلمة واحدة في الجملة الأخيرة وأعادت التوليد دون قلق من الفاتورة. استخدمت تصحيح Whisper لمواءمة التوقيت مع المقطع. بحلول المساء، أصبحت مسودة التعليق الصوتي جاهزة للمونتاج. كتبت في الملاحظات أن التوليد المحلي ليس سحرًا، لكنه مثالي للتكرار. أغلقت النافذة وهي تعرف أنها تستطيع تغيير الصوت غدًا بنفس السهولة.
lang=bgvoice F1Сутринта редакторът Марин отвори дълъг сценарий и търсеше стабилен глас. Облачният синтез таксуваше всеки символ и всяка нова проба. Приятел му изпрати връзка към локалния пакет Supertonic 3. Той свали архива, провери хеша и го разархивира. Стартира batch файла и браузърът отвори локалния адрес. Избра български език и глас от списъка на случаен принцип. Първо прослуша кратко поздравително изречение. Намали леко скоростта и остави осем стъпки. Натисна генериране и процесорът започна да работи. След няколко минути получи WAV файл и текстов протокол. Системата добави и начални SRT и VTT субтитри. Поправи една дума и синтезира отново без допълнителна такса. С Whisper подравни времето към видеото. До вечерта черновата на озвучаването беше готова. Марин записа, че локалният TTS е силен при итерации, не при единствен опит. Затвори прозореца, знаейки, че утре може да смени гласа със същата лекота.
lang=hrvoice M4Ujutro je urednica Ana otvorila dugački scenarij i tražila pouzdan glas. Cloud usluga je naplaćivala svaki znak, pa se čuvala ponovnih pokušaja. Prijatelj joj je poslao poveznicu na lokalni Supertonic 3 paket. Preuzela je ZIP, provjerila hash i raspakirala arhivu. Pokrenula je batch datoteku i preglednik je otvorio lokalnu adresu. Odabrala je hrvatski i nasumičan glas s popisa. Prvo je poslušala kratku pozdravnu rečenicu. Malo je smanjila brzinu i ostavila osam koraka. Pritisnula je generiraj i CPU je počeo raditi. Nakon nekoliko minuta spremljeni su WAV i tekstualni zapis. Dobila je i osnovne SRT i VTT titlove. Ispravila je jednu riječ i ponovno sintetizirala bez dodatne naplate. Whisper je poravnao vrijeme s videom. Do večeri je nacrt naracije bio spreman. Zapisala je da lokalni TTS najbolje služi ponavljanju, ne jednom pokušaju. Zatvorila je prozor znajući da sutra može promijeniti glas jednako lako.
lang=csvoice F3Ráno editor otevřel dlouhý scénář a hledal stabilní hlas. Cloud služba účtovala každý znak, takže se bál opakovat zkoušky. Kamarád poslal odkaz na lokální balíček Supertonic 3. Stáhl ZIP, ověřil hash a rozbalil archiv. Spustil batch soubor a prohlížeč otevřel lokální adresu. Zvolil češtinu a náhodný hlas ze seznamu. Nejdřív poslechl krátkou uvítací větu. Mírně snížil rychlost a nechal osm kroků. Stiskl generovat a procesor začal pracovat. Po několika minutách uložil WAV i textový protokol. Systém přidal základní SRT a VTT titulky. Opravil jedno slovo a znovu syntetizoval bez další platby. Whisper sladil čas s videem. Večer byla hrubá verze voice-overu hotová. Poznamenal, že lokální TTS je silný při iteracích, ne při jediném pokusu. Zavřel okno s vědomím, že zítra může hlas změnit stejně snadno.
lang=davoice F5Om morgenen åbnede redaktøren et langt manuskript og ledte efter en stabil stemme. Cloud-tjenesten beregnede pris per tegn, så hun tøvede med nye forsøg. En ven sendte linket til den lokale Supertonic 3-pakke. Hun hentede ZIP-filen, tjekkede hash og pakkede ud. Hun kørte batch-filen, og browseren åbnede den lokale adresse. Hun valgte dansk og en tilfældig stemme fra listen. Først lyttede hun til en kort hilsen. Hun sænkede hastigheden lidt og beholdt otte trin. Hun trykkede generer, og processoren arbejdede. Efter få minutter blev WAV og tekst gemt sammen. Systemet tilføjede grundlæggende SRT- og VTT-filer. Hun rettede ét ord og syntetiserede igen uden ekstra gebyr. Whisper justerede timingen til videoen. Om aftenen var stemmekladden klar til klip. Hun noterede, at lokal TTS er stærk ved gentagelser, ikke ét enkelt forsøg. Hun lukkede vinduet og vidste, at hun i morgen kunne skifte stemme lige så let.
lang=nlvoice M1In de ochtend opende de editor een lang script en zocht een stabiele stem. De cloud rekent per teken, dus ze aarzelde om opnieuw te proberen. Een vriend stuurde de link naar het lokale Supertonic 3-pakket. Ze downloadde de ZIP, controleerde de hash en pakte uit. Ze startte het batchbestand en de browser opende het lokale adres. Ze koos Nederlands en een willekeurige stem uit de lijst. Eerst luisterde ze naar een korte begroeting. Ze verlaagde de snelheid een beetje en liet acht stappen staan. Ze drukte op genereren en de CPU ging aan het werk. Na enkele minuten werden WAV en tekst samen opgeslagen. Het systeem voegde basis SRT- en VTT-bestanden toe. Ze corrigeerde één woord en synthetiseerde opnieuw zonder extra kosten. Whisper stemde de timing af op de video. Tegen de avond was de stemconcept klaar voor montage. Ze noteerde dat lokale TTS sterk is bij herhaling, niet bij één enkele poging. Ze sloot het venster wetende dat ze morgen net zo gemakkelijk van stem kan wisselen.
lang=envoice M3On a quiet morning, the editor opened a long script and hunted for a steady voice. The cloud service billed every character, so she hesitated to run another take. A friend sent the link to the local Supertonic 3 bundle. She downloaded the ZIP, checked the hash, and unpacked it. She ran the batch file and the browser opened the local address. She picked English and a random speaker from the list. First she listened to a short greeting line. She lowered the speed a little and kept eight steps. She pressed generate and the CPU fan spun up. Minutes later the WAV and text log were saved together. The tool also dropped basic SRT and VTT files. She fixed one word and synthesized again with no extra charge. Whisper alignment snapped the timing to her edit timeline. By evening the narration draft was ready for the cut. She wrote that local TTS is not magic, but perfect when you must iterate. She closed the tab knowing she could swap voices tomorrow just as easily.
lang=etvoice F2Hommikul avas toimetaja pika stsenaariumi ja otsis kindlat häält. Pilveteenus arvestas iga märgi eest, seega kartis ta uusi katseid. Sõber saatis lingi kohaliku Supertonic 3 paketi juurde. Ta laadis ZIPi, kontrollis räsi ja pakkis lahti. Ta käivitas batch-faili ja brauser avas kohaliku aadressi. Ta valis eesti keele ja juhusliku hääle nimekirjast. Esmalt kuulas ta lühikest tervitust. Ta vähendas veidi kiirust ja jättis kaheksa sammu. Ta vajutas genereeri ja protsessor hakkas tööle. Mõne minuti pärast salvestati WAV ja tekst koos. Süsteem lisas põhilised SRT ja VTT failid. Ta parandas ühe sõna ja süntesis uuesti ilma lisatasuta. Whisper joondas ajastuse videole. Õhtuks oli jutustuse mustand montaažiks valmis. Ta märkis, et kohalik TTS on tugev korduste puhul, mitte ühe katse puhul. Ta sulges akna teades, et homme saab häält sama kergelt vahetada.
lang=fivoice M5Aamulla toimittaja avasi pitkän käsikirjoituksen ja etsi tasaista ääntä. Pilvipalvelu laski maksun merkeittäin, joten uusia yrityksiä arveltiin. Ystävä lähetti linkin paikalliseen Supertonic 3 -pakettiin. Hän latasi ZIPin, tarkisti tiivisteen ja purki arkiston. Hän käynnisti batch-tiedoston ja selain avasi paikallisen osoitteen. Hän valitsi suomen ja satunnaisen äänen listalta. Ensin hän kuunteli lyhyen tervehdyksen. Hän laski hieman nopeutta ja jätti kahdeksan askelta. Hän painoi luo ja prosessori alkoi työskennellä. Muutaman minuutin kuluttua WAV ja teksti tallentuivat yhdessä. Järjestelmä lisäsi perus SRT- ja VTT-tiedostot. Hän korjasi yhden sanan ja syntetisoi uudelleen ilman lisämaksua. Whisper sovitti ajoituksen videoon. Illalla selostusluonnos oli valmis leikkaukseen. Hän kirjasi, että paikallinen TTS on vahva toistossa, ei yhdessä yrityksessä. Hän sulki ikkunan tietäen, että huomenna äänen vaihto on yhtä helppoa.
lang=frvoice F4Un matin calme, l'éditrice ouvrit un long script et chercha une voix stable. Le service cloud facturait chaque caractère, elle hésitait à recommencer. Un ami envoya le lien du pack local Supertonic 3. Elle téléchargea le ZIP, vérifia le hash et décompressa. Elle lança le fichier batch et le navigateur ouvrit l'adresse locale. Elle choisit le français et une voix au hasard dans la liste. D'abord elle écouta une courte phrase d'accueil. Elle baissa un peu la vitesse et garda huit étapes. Elle appuya sur générer et le processeur travailla. Quelques minutes plus tard, le WAV et le texte furent enregistrés. L'outil ajouta aussi des fichiers SRT et VTT de base. Elle corrigea un mot et synthétisa à nouveau sans frais supplémentaires. Whisper aligna le timing sur la vidéo. Le soir, le brouillon de narration était prêt pour le montage. Elle nota que le TTS local brille quand il faut itérer, pas en un seul essai. Elle ferma l'onglet sachant qu'elle pourrait changer de voix demain aussi facilement.
lang=devoice M2An einem ruhigen Morgen öffnete die Redakteurin ein langes Skript und suchte eine stabile Stimme. Der Cloud-Dienst berechnete jedes Zeichen, daher zögerte sie mit neuen Versuchen. Ein Freund schickte den Link zum lokalen Supertonic-3-Paket. Sie lud das ZIP herunter, prüfte den Hash und entpackte es. Sie startete die Batch-Datei und der Browser öffnete die lokale Adresse. Sie wählte Deutsch und eine zufällige Stimme aus der Liste. Zuerst hörte sie einen kurzen Begrüßungssatz. Sie senkte die Geschwindigkeit leicht und ließ acht Schritte. Sie drückte auf Generieren und die CPU arbeitete. Nach wenigen Minuten wurden WAV und Text gemeinsam gespeichert. Das Tool legte auch grundlegende SRT- und VTT-Dateien ab. Sie korrigierte ein Wort und synthetisierte erneut ohne Zusatzkosten. Whisper richtete das Timing am Video aus. Am Abend war der Sprach-Entwurf für den Schnitt bereit. Sie notierte, dass lokales TTS bei Wiederholungen stark ist, nicht bei einem einzigen Versuch. Sie schloss das Fenster und wusste, dass sie morgen die Stimme genauso leicht wechseln kann.
lang=elvoice F1Το πρωί, η συντάκτρια άνοιξε ένα μακρύ σενάριο και έψαχε σταθερή φωνή. Η υπηρεσία cloud χρέωνε κάθε χαρακτήρα, οπότε διστάζει να ξαναδοκιμάσει. Ένας φίλος έστειλε τον σύνδεσμο του τοπικού πακέτου Supertonic 3. Κατέβασε το ZIP, έλεγξε το hash και το αποσυμπίεσε. Έτρεξε το batch και ο browser άνοιξε τη τοπική διεύθυνση. Επέλεξε ελληνικά και μια τυχαία φωνή από τη λίστα. Πρώτα άκουσε μια σύντομη χαιρετιστήρια πρόταση. Μείωσε ελαφρώς την ταχύτητα και κράτησε οκτώ βήματα. Πάτησε δημιουργία και ο επεξεργαστής δούλεψε. Μετά από λίγα λεπτά αποθηκεύτηκαν WAV και κείμενο μαζί. Το εργαλείο πρόσθεσε βασικά αρχεία SRT και VTT. Διόρθωσε μια λέξη και συνέθεσε ξανά χωρίς επιπλέον χρέωση. Το Whisper ευθυγράμμισε τον χρόνο με το βίντεο. Το απόγευμα το προσχέδιο αφήγησης ήταν έτοιμο για μοντάζ. Σημείωσε ότι το τοπικό TTS είναι δυνατό στην επανάληψη, όχι σε μία προσπάθεια. Έκλεισε το παράθυρο ξέροντας ότι αύριο μπορεί να αλλάξει φωνή εξίσου εύκολα.
lang=hivoice M4एक शांत सुबह, संपादक ने लंबी पटकथा खोली और स्थिर आवाज़ ढूँढी। क्लाउड सेवा हर अक्षर का शुल्क लेती थी, इसलिए वह दोबारा प्रयास से हिचकिचाती थी। एक मित्र ने स्थानीय Supertonic 3 पैकेज का लिंक भेजा। उसने ZIP डाउनलोड किया, हैश जाँचा और फाइलें निकालीं। उसने बैच फाइल चलाई और ब्राउज़र ने स्थानीय पता खोला। उसने हिंदी और सूची से एक यादृच्छिक आवाज़ चुनी। पहले उसने एक छोटा अभिवादन सुना। उसने गति थोड़ी कम की और आठ चरण रखे। उसने जनरेट दबाया और प्रोसेसर काम करने लगा। कुछ मिनट बाद WAV और पाठ एक साथ सहेजे गए। टूल ने बुनियादी SRT और VTT फाइलें भी जोड़ीं। उसने एक शब्द सुधारा और बिना अतिरिक्त शुल्क के फिर से संश्लेषण किया। Whisper ने समय को वीडियो से मिलाया। शाम तक नरेशन का मसौदा संपादन के लिए तैय था। उसने लिखा कि स्थानीय TTS दोहराव में मजबूत है, एक ही प्रयास में नहीं। उसने विंडो बंद की, जानते हुए कि कल वह उतनी ही आसानी से आवाज़ बदल सकती है।
lang=huvoice F3Reggel a szerkesztő megnyitott egy hosszú forgatókönyvet és stabil hangot keresett. A felhő szolgáltatás minden karakterért számolt fel, ezért habozott az újrapróbálással. Egy barát elküldte a helyi Supertonic 3 csomag linkjét. Letöltötte a ZIP-et, ellenőrizte a hash-t és kicsomagolta. Elindította a batch fájlt, a böngésző megnyitotta a helyi címet. Magyar nyelvet és egy véletlen hangot választott a listából. Először egy rövid üdvözlést hallgatott meg. Kissé csökkentette a sebességet és nyolc lépést hagyott. Megnyomta a generálást, a processzor dolgozni kezdett. Néhány perc múlva a WAV és a szöveg együtt mentődött. A rendszer alap SRT és VTT fájlokat is adott. Egy szót javított és díj nélkül újra szintetizált. A Whisper igazította az időzítést a videóhoz. Estére a narráció vázlat készen állt a vágáshoz. Feljegyezte, hogy a helyi TTS az ismétlésben erős, nem egyetlen próbában. Bezárta az ablakot, tudva, hogy holnap ugyanilyen könnyen cserélhet hangot.
lang=idvoice F5Pagi yang tenang, editor membuka naskah panjang dan mencari suara yang stabil. Layanan cloud menagih setiap karakter, jadi ia ragu mencoba lagi. Seorang teman mengirim tautan paket Supertonic 3 lokal. Ia mengunduh ZIP, memeriksa hash, lalu mengekstrak. Ia menjalankan file batch dan browser membuka alamat lokal. Ia memilih bahasa Indonesia dan suara acak dari daftar. Pertama ia mendengarkan sapaan singkat. Ia sedikit menurunkan kecepatan dan membiarkan delapan langkah. Ia menekan buat dan prosesor mulai bekerja. Beberapa menit kemudian WAV dan teks disimpan bersama. Sistem juga menambahkan file SRT dan VTT dasar. Ia memperbaiki satu kata dan mensintesis ulang tanpa biaya tambahan. Whisper menyelaraskan waktu dengan video. Menjelang malam draf narasi siap untuk penyuntingan. Ia mencatat bahwa TTS lokal kuat saat iterasi, bukan satu percobaan saja. Ia menutup jendela tahu besok bisa mengganti suara dengan mudah yang sama.
lang=itvoice M1In un mattino tranquillo, l'editor aprì un copione lungo e cercò una voce stabile. Il servizio cloud addebitava ogni carattere, quindi esitava a riprovare. Un amico inviò il link del pacchetto locale Supertonic 3. Scaricò lo ZIP, verificò l'hash e lo estrasse. Avviò il file batch e il browser aprì l'indirizzo locale. Scelse l'italiano e una voce casuale dall'elenco. Prima ascoltò un breve saluto. Abbassò leggermente la velocità e lasciò otto passi. Premette genera e la CPU iniziò a lavorare. Dopo pochi minuti WAV e testo furono salvati insieme. Lo strumento aggiunse anche file SRT e VTT di base. Corresse una parola e sintetizzò di nuovo senza costi extra. Whisper allineò il timing al video. Di sera la bozza di narrazione era pronta per il montaggio. Annotò che il TTS locale è forte nelle iterazioni, non in un solo tentativo. Chiuse la finestra sapendo che domani potrebbe cambiare voce con la stessa facilità.
lang=javoice M4タイトル:インフレと私たちの暮らし 皆さん、こんにちは。今日は「インフレ」について、少しお話ししたいと思います。 最近、スーパーに行くと、「あれ、また値上がりしたの?」と感じることはありませんか。卵、パン、牛乳、そして電気代やガス代まで、生活に必要なものの値段が次々と上がっています。これがいわゆる「インフレーション」、物価の上昇です。 インフレが起こる理由はいくつかあります。一つ目は、原材料やエネルギーの価格が世界的に上昇していること。二つ目は、円安によって輸入品が高くなっていること。そして三つ目は、人手不足による人件費の上昇です。 では、私たち一人ひとりはどう対応すればいいのでしょうか。まずは、家計簿をつけて、何にお金を使っているかを把握することが大切です。次に、無理のない範囲で貯蓄や投資を始め、お金にも働いてもらう仕組みを作りましょう。 経済の動きは難しく感じるかもしれませんが、毎日のニュースに少し関心を持つだけで、未来への備えは大きく変わります。 今日も最後まで聞いてくださって、ありがとうございました。
lang=kovoice M5조용한 아침, 편집자 민지는 긴 대본 파일을 열고 안정적인 목소리를 찾고 있었습니다. 클라우드 음성 합성은 글자 수마다 비용이 붙어, 같은 문장을 다시 만들기가 부담스러웠습니다. 친구가 로컬 Supertonic 3 패키지 링크를 보내 주었습니다. ZIP을 받고 해시를 확인한 뒤 압축을 풀었습니다. 실행 배치 파일을 돌리자 브라우저가 로컬 주소를 열었습니다. 언어는 한국어, 화자는 목록에서 무작위로 하나를 골랐습니다. 먼저 짧은 인사 문장으로 음색을 들어 보았습니다. 속도를 조금 낮추고 단계 수는 여덟으로 두었습니다. 생성 버튼을 누르자 CPU가 돌기 시작했습니다. 몇 분 뒤 음성 파일과 대본 텍스트가 함께 저장되었습니다. 기본 SRT와 VTT 자막 파일도 같이 내려왔습니다. 마음에 들지 않는 단어 하나를 고치고, 추가 과금 없이 다시 합성했습니다. Whisper 보정으로 타이밍을 영상 편집 타임라인에 맞췄습니다. 저녁쯤이면 내레이션 초안 전체가 준비되었습니다. 민지는 로컬 TTS가 만능은 아니지만, 시안을 반복해야 하는 작업에는 최적이라고 적었습니다. 내일도 같은 방식으로 화자만 바꿔 다시 들을 수 있다는 걸 알고 창을 닫았습니다.
lang=lvvoice F4Klusā rītā redaktore atvēra garu scenāriju un meklēja stabilu balsi. Mākoņa pakalpojums aprēķināja maksu par katru rakstzīmi, tāpēc vilcinājās atkārtot. Draugs nosūtīja saiti uz lokālo Supertonic 3 paketi. Viņa lejupielādēja ZIP, pārbaudīja hash un atzipoja. Palaist batch failu, pārlūks atvēra lokālo adresi. Izvēlējās latviešu valodu un nejaušu balsi no saraksta. Vispirms noklausījās īsu sveicienu. Nedaudz samazināja ātrumu un atstāja astoņus soļus. Nospieda ģenerēt, un procesors sāka strādāt. Pēc dažām minūtēm saglabāja WAV un tekstu kopā. Sistēma pievienoja pamata SRT un VTT failus. Laboja vienu vārdu un sintezēja atkārtoti bez papildu maksas. Whisper saskaņoja laiku ar video. Vakarā stāstījuma melnraksts bija gatavs montāžai. Viņa pierakstīja, ka lokālais TTS ir spēcīgs iterācijās, ne vienā mēģinājumā. Aizvēra logu, zinot, ka rīt balsi var mainīt tikpat viegli.
lang=ltvoice M2Ramią rytą redaktorius atidarė ilgą scenarijų ir ieškojo stabilaus balso. Debesų paslauga skaičiavo kiekvieną simbolį, todėl nedrįso kartoti. Draugas atsiuntė nuorodą į vietinį Supertonic 3 paketą. Jis atsisiuntė ZIP, patikrino hash ir išarchyvavo. Paleido batch failą, naršyklė atidarė vietinį adresą. Pasirinko lietuvių kalbą ir atsitiktinį balsą iš sąrašo. Pirmiausia išklausė trumpą pasisveikinimą. Šiek tiek sumažino greitį ir paliko aštuonis žingsnius. Paspaudė generuoti, procesorius pradėjo dirbti. Po kelių minučių išsaugotas WAV ir tekstas kartu. Sistema pridėjo pagrindinius SRT ir VTT failus. Pataisė vieną žodį ir sintezavo iš naujo be papildomo mokesčio. Whisper suderino laiką su vaizdu. Vakare pasakojimo juodraštis buvo paruoštas montažui. Jis užsirašė, kad vietinis TTS stiprus kartojant, ne viename bandyme. Uždarė langą žinodamas, kad rytoj balsą galės pakeisti taip pat lengvai.
lang=plvoice F1O poranku redaktor otworzył długi scenariusz i szukał stabilnego głosu. Usługa w chmurze liczyła każdy znak, więc wahał się przed kolejną próbą. Znajomy wysłał link do lokalnego pakietu Supertonic 3. Pobrał ZIP, sprawdził hash i rozpakował archiwum. Uruchomił plik batch, przeglądarka otworzyła lokalny adres. Wybrał polski i losowy głos z listy. Najpierw wysłuchał krótkiego powitania. Lekko obniżył prędkość i zostawił osiem kroków. Nacisnął generuj i procesor zaczął pracę. Po kilku minutach zapisano WAV i tekst razem. System dodał podstawowe pliki SRT i VTT. Poprawił jedno słowo i zsyntetyzował ponownie bez dodatkowej opłaty. Whisper dopasował czas do wideo. Wieczorem szkic narracji był gotowy do montażu. Zanotował, że lokalny TTS jest mocny przy iteracjach, nie przy jednej próbie. Zamknął okno wiedząc, że jutro może zmienić głos równie łatwo.
lang=ptvoice M3Numa manhã calma, a editora abriu um roteiro longo e procurou uma voz estável. O serviço na nuvem cobrava cada caractere, então hesitava em tentar de novo. Um amigo enviou o link do pacote local Supertonic 3. Ela baixou o ZIP, verificou o hash e extraiu. Executou o arquivo batch e o navegador abriu o endereço local. Escolheu português e uma voz aleatória da lista. Primeiro ouviu uma saudação curta. Baixou um pouco a velocidade e manteve oito passos. Pressionou gerar e o processador começou a trabalhar. Minutos depois, WAV e texto foram salvos juntos. A ferramenta também adicionou arquivos SRT e VTT básicos. Corrigiu uma palavra e sintetizou de novo sem custo extra. O Whisper alinhou o tempo ao vídeo. À noite, o rascunho da narração estava pronto para a edição. Ela anotou que o TTS local é forte na iteração, não em uma única tentativa. Fechou a janela sabendo que amanhã pode trocar de voz com a mesma facilidade.
lang=rovoice F4Într-o dimineață liniștită, editorul a deschis un scenariu lung și a căutat o voce stabilă. Serviciul cloud taxa fiecare caracter, așa că ezita să încerce din nou. Un prieten i-a trimis linkul pachetului local Supertonic 3. A descărcat ZIP-ul, a verificat hash-ul și l-a decomprimat. A rulat fișierul batch și browserul a deschis adresa locală. A ales româna și o voce aleatoare din listă. Mai întâi a ascultat un salut scurt. A coborât puțin viteza și a păstrat opt pași. A apăsat generare și procesorul a început să lucreze. După câteva minute, WAV și textul au fost salvate împreună. Sistemul a adăugat și fișiere SRT și VTT de bază. A corectat un cuvânt și a sintetizat din nou fără cost suplimentar. Whisper a aliniat timpul la video. Seara, ciorna de narațiune era gata pentru montaj. A notat că TTS local e puternic la iterare, nu la o singură încercare. A închis fereastra știind că mâine poate schimba vocea la fel de ușor.
lang=ruvoice M2Тихим утром редактор открыл длинный сценарий и искал ровный голос. Облачный сервис считал каждый символ, поэтому она боялась повторять попытки. Друг прислал ссылку на локальный пакет Supertonic 3. Она скачала ZIP, проверила хеш и распаковала архив. Запустила batch-файл, браузер открыл локальный адрес. Выбрала русский язык и случайный голос из списка. Сначала прослушала короткое приветствие. Немного снизила скорость и оставила восемь шагов. Нажала создать, и процессор заработал. Через несколько минут сохранились WAV и текст вместе. Система добавила базовые файлы SRT и VTT. Исправила одно слово и синтезировала снова без доплаты. Whisper подогнал тайминг под видео. К вечеру черновик озвучки был готов к монтажу. Она записала, что локальный TTS силён в повторениях, а не в одной попытке. Закрыла окно, зная, что завтра сможет сменить голос так же легко.
lang=skvoice F5Ráno editor otvoril dlhý scenár a hľadal stabilný hlas. Cloud služba účtovala každý znak, preto sa bál opakovať skúšky. Kamarát poslal odkaz na lokálny balík Supertonic 3. Stiahol ZIP, overil hash a rozbalil archív. Spustil batch súbor a prehliadač otvoril lokálnu adresu. Zvolil slovenčinu a náhodný hlas zo zoznamu. Najprv vypočul krátku uvítaciu vetu. Mierne znížil rýchlosť a nechal osem krokov. Stlačil generovať a procesor začal pracovať. Po niekoľkých minútach uložil WAV aj textový protokol. Systém pridal základné SRT a VTT titulky. Opravil jedno slovo a znova syntetizoval bez ďalšej platby. Whisper zladil čas s videom. Večer bola hrubá verzia voice-overu hotová. Poznamenal, že lokálny TTS je silný pri iteráciách, nie pri jedinom pokuse. Zavrel okno s vedomím, že zajtra môže hlas zmeniť rovnako ľahko.
lang=slvoice M1Zjutraj je urednik odprl dolg scenarij in iskal zanesljiv glas. Oblačna storitev je zaračunavala vsak znak, zato je okleval pri ponovitvah. Prijatelj je poslal povezavo do lokalnega paketa Supertonic 3. Prenesel je ZIP, preveril hash in razpakiral. Zagnal je batch datoteko in brskalnik je odprl lokalni naslov. Izbral je slovenščino in naključen glas s seznama. Najprej je poslušal kratek pozdrav. Nekoliko je znižal hitrost in pustil osem korakov. Pritisnil je generiraj in procesor je začel delati. Po nekaj minutah sta bila shranjena WAV in besedilo. Sistem je dodal osnovne datoteke SRT in VTT. Popravil je eno besedo in znova sintetiziral brez dodatnega plačila. Whisper je poravnal čas z videom. Do večera je osnutek naracije bil pripravljen za montažo. Zapisal je, da je lokalni TTS močan pri ponavljanju, ne pri enem poskusu. Zaprl je okno zavedajoč se, da jutri lahko zamenja glas prav tako enostavno.
lang=esvoice F3En una mañana tranquila, la editora abrió un guion largo y buscó una voz estable. El servicio en la nube cobraba cada carácter, así que dudaba en repetir. Un amigo envió el enlace del paquete local Supertonic 3. Descargó el ZIP, verificó el hash y lo descomprimió. Ejecutó el archivo batch y el navegador abrió la dirección local. Eligió español y una voz aleatoria de la lista. Primero escuchó un saludo breve. Bajó un poco la velocidad y dejó ocho pasos. Pulsó generar y el procesador empezó a trabajar. Minutos después se guardaron el WAV y el texto juntos. La herramienta también añadió archivos SRT y VTT básicos. Corrigió una palabra y sintetizó de nuevo sin coste extra. Whisper alineó el tiempo con el vídeo. Por la noche el borrador de narración estaba listo para el montaje. Anotó que el TTS local brilla al iterar, no en un solo intento. Cerró la ventana sabiendo que mañana puede cambiar de voz con la misma facilidad.
lang=svvoice F2En lugn morgon öppnade redaktören ett långt manus och letade efter en stabil röst. Molntjänsten debiterade varje tecken, så hon tvekade att försöka igen. En vän skickade länken till det lokala Supertonic 3-paketet. Hon laddade ner ZIP-filen, kontrollerade hash och packade upp. Hon körde batch-filen och webbläsaren öppnade den lokala adressen. Hon valde svenska och en slumpmässig röst från listan. Först lyssnade hon på en kort hälsning. Hon sänkte hastigheten lite och behöll åtta steg. Hon tryckte generera och processorn började arbeta. Efter några minuter sparades WAV och text tillsammans. Systemet lade till grundläggande SRT- och VTT-filer. Hon rättade ett ord och syntetiserade igen utan extra avgift. Whisper justerade timingen till videon. På kvällen var röstutkastet klart för klipp. Hon noterade att lokal TTS är stark vid upprepning, inte vid ett enda försök. Hon stängde fönstret och visste att hon i morgon kan byta röst lika lätt.
lang=trvoice M4Sakin bir sabah editör uzun senaryoyu açtı ve dengeli bir ses aradı. Bulut hizmeti her karakter için ücret aldığından yeniden denemekten çekindi. Bir arkadaş yerel Supertonic 3 paketinin bağlantısını gönderdi. ZIP dosyasını indirdi, hash kontrol etti ve arşivi açtı. Batch dosyasını çalıştırdı, tarayıcı yerel adresi açtı. Türkçe ve listeden rastgele bir ses seçti. Önce kısa bir selamlama dinledi. Hızı biraz düşürdü ve sekiz adım bıraktı. Oluştur düğmesine bastı ve işlemci çalışmaya başladı. Birkaç dakika sonra WAV ve metin birlikte kaydedildi. Sistem temel SRT ve VTT dosyalarını da ekledi. Bir kelimeyi düzeltti ve ek ücret olmadan yeniden sentezledi. Whisper zamanlamayı videoya uyarladı. Akşama doğru anlatım taslağı kurguya hazırdı. Yerel TTS'in tek seferde değil, tekrar gerektiğinde güçlü olduğunu not etti. Yarın sesi aynı kolaylıkla değiştirebileceğini bilerek pencereyi kapattı.
lang=ukvoice F5Тихим ранком редактор відкрив довгий сценарій і шукав рівний голос. Хмарний сервіс рахував кожен символ, тому вона боялася повторювати спроби. Друг надіслав посилання на локальний пакет Supertonic 3. Вона завантажила ZIP, перевірила хеш і розпакувала архів. Запустила batch-файл, браузер відкрив локальну адресу. Обрала українську мову та випадковий голос із списку. Спочатку прослухала коротке привітання. Трохи знизила швидкість і залишила вісім кроків. Натиснула створити, і процесор запрацював. За кілька хвилин збереглися WAV і текст разом. Система додала базові файли SRT і VTT. Виправила одне слово і синтезувала знову без доплати. Whisper підігнав таймінг під відео. До вечора чернетка озвучення була готова до монтажу. Вона записала, що локальний TTS сильний у повтореннях, а не в одній спробі. Закрила вікно, знаючи, що завтра зможе змінити голос так само легко.
lang=vivoice F1Vào một buổi sáng yên tĩnh, biên tập viên mở kịch bản dài và tìm giọng ổn định. Dịch vụ đám mây tính phí từng ký tự nên cô ngần ngại thử lại. Một người bạn gửi liên kết gói Supertonic 3 cục bộ. Cô tải ZIP, kiểm tra hash rồi giải nén. Cô chạy tệp batch và trình duyệt mở địa chỉ cục bộ. Cô chọn tiếng Việt và một giọng ngẫu nhiên trong danh sách. Trước tiên cô nghe một câu chào ngắn. Cô hạ tốc độ một chút và giữ tám bước. Cô nhấn tạo và bộ xử lý bắt đầu chạy. Vài phút sau, WAV và văn bản được lưu cùng nhau. Hệ thống cũng thêm tệp SRT và VTT cơ bản. Cô sửa một từ và tổng hợp lại không mất phí thêm. Whisper căn thời gian khớp với video. Đến tối, bản nháp thuyết minh sẵn sàng cho hậu kỳ. Cô ghi chú TTS cục bộ mạnh khi lặp lại, không phải một lần thử. Cô đóng cửa sổ biết rằng ngày mai có thể đổi giọng dễ dàng như vậy.
Demo notes
데모 체크포인트
영상 데모의 핵심은 “무료 TTS가 된다”는 주장보다, 사용자가 실제로 어디서 막히고 어떤 순서로 확인해야 하는지를 보여 준다는 점입니다. R4 ZIP 다운로드, 실행.bat, 로컬 서버, 10종 화자 샘플, 숫자 발음 보정, 표현 태그, Whisper 보정까지 각각의 역할을 분리해서 이해하면 시행착오가 줄어듭니다.
아래 표는 데모 대본에서 강조된 내용을 칼럼식 설명으로 바꾼 것입니다. 과장된 감탄이나 개인 장비 이야기는 줄이고, 사용자가 바로 적용할 수 있는 체크포인트만 남겼습니다.
Expression tags & options
표현 태그와 생성 옵션
supertone-inc/supertonic 공식 README는 Supertonic 3의 Expression Tags를 “참조 음성·프롬프트 없이 대본 안 꺾쇠괄호만으로 호흡·감정을 넣는 기능”으로 소개합니다. 이 로컬 ZIP의 웹 UI·대본 요청함·/api/options는 동일한 10개 태그와 생성 옵션 메타데이터를 공유합니다.
인라인 표현 태그 10종
태그는 TTS가 읽을 평문에 그대로 넣습니다. UI의 “표현 태그” 버튼을 누르면 커서 위치에 삽입되며, 대본 요청 시 “표현 태그 사용”을 켜면 Codex/Cursor가 expression_tag_guidance 규칙을 따릅니다.
사용 규칙 요약
- Supertonic 3는 참조 음성이나 별도 프롬프트 없이, 대본 안의 꺾쇠괄호 태그만으로 호흡·감정을 제어합니다. 공식 저장소는 이를 Expression Tags(표현 태그)로 소개합니다.
- 태그는 TTS가 읽을 평문 대본에 그대로 포함합니다. 마크다운, 이모지, HTML 장식은 제거·정규화될 수 있으므로 태그와 문장만 남기는 편이 안전합니다.
- 짧은 대본: 1~3개. 긴 대본: 장면 전환·감정 변화 지점에 소량만. 설명문은 <breath>, <sigh> 위주, 대화·연기는 <laugh>, <surprise>, <sad>, <angry>를 문맥에 맞게.
- 문장 중간보다 문장 사이·감정이 바뀌는 경계에 두는 것이 안정적입니다. 태그를 많이 넣을수록 어색해질 수 있습니다.
- 웹 UI 상단 “표현 태그” 버튼을 누르면 커서 위치에 태그가 삽입됩니다. 대본 요청함에서 “표현 태그 사용”을 켜면 Codex/Cursor가 latest.json의 expression_tag_guidance 규칙을 따릅니다.
# 설명형 대본 예시 (호흡 위주)
오늘은 로컬 TTS의 기본 흐름을 정리합니다. <breath>
먼저 ZIP을 받고 실행.bat으로 서버를 띄웁니다. <sigh>
마지막으로 짧은 문장으로 음색을 확인하세요.
# 대화형 대본 예시 (감정 태그 혼합)
정말 고생 많으셨어요. <laugh>
그런데 결과가 예상과 달랐어요. <surprise>
다음에는 조금 더 여유 있게 가봅시다. <breath>웹 UI 생성 옵션
브라우저는 시작 시 /api/options를 호출해 모델·음성·언어·표현 태그 목록과 기본값·허용 범위를 받습니다. 속도·단계·청크·무음은 상단 프리셋 드롭다운으로 고르고, Custom 1~5 슬롯에 저장할 수 있습니다. 옵션 라벨에 마우스를 올리면 UI 오른쪽 “필터 팁” 패널에도 같은 설명이 표시됩니다.
옵션 조정 순서 (권장)
- voice·lang으로 음색과 발음 규칙을 먼저 고정합니다.
- 짧은 문장으로 speed를 1.00~1.10 구간에서 맞춥니다.
- total_step 8로 미리듣기 후, 최종본만 10~12로 올립니다.
- 장문이 끊기거나 반복되면 max_chunk_length를 100~150(한국어)부터 조정합니다.
- 청크 경계가 급하면 silence_duration을 0.3~0.5초로 늘립니다.
- 표현 태그는 문장 사이에 소량만 넣고, 만족스러운 조합을 Custom 슬롯에 저장합니다.
공식 Python 예제의 total_steps=8, speed=1.05, lang="en" 또는 lang="na"(언어 비지정)와 동일한 개념입니다. 로컬 UI는 한국어 작업을 기본으로 lang=ko를 둡니다.
TTS logic
TTS 생성 파이프라인
이 도구는 WAV 파일 생성만으로 작업을 종료하지 않습니다. 어떤 대본을 어떤 설정으로 합성했는지 로그를 남기고, 동일한 명명 규칙으로 대본 TXT와 자막 파일을 함께 저장합니다. 만족스러운 결과를 재현하거나 설정을 비교 분석할 때 이 산출물들이 표준 기준점이 됩니다.
브라우저에서 TTS payload 구성
텍스트, 모델, 음성, 언어, 속도, 단계 수, 최대 청크 길이, 청크 간 무음, 스레드 수, Whisper 보정 여부 등 모든 옵션이 하나의 요청 페이로드로 묶입니다.
짧은 대본은 /api/tts로 즉시 처리
짧은 문장은 즉시 생성 API를 사용합니다. 서버는 요청 JSON을 파싱하고 기본값을 보강한 뒤 TTS 엔진으로 전달합니다.
긴 대본은 /api/tts-job 백그라운드 처리
장문 대본은 브라우저의 요청 타임아웃 위험이 있으므로 백그라운드 작업으로 분리됩니다. UI는 job_id를 반환받아 일정 주기로 작업 상태를 폴링합니다.
입력 텍스트 정규화
Windows 콘솔 출력이나 TTS 입력에서 문제를 일으킬 수 있는 이모지와 일부 제어 문자를 제거합니다. 따라서 대본 작성 시에는 시각적 장식보다 평문 안정성을 우선하는 편이 좋습니다.
Supertonic SDK의 WAV 합성
Supertonic3Engine은 voice, lang, speed, total_step, max_chunk_length, silence_duration 등의 파라미터를 전달받아 CPU 상에서 음성을 합성하고 WAV 파일로 저장합니다.
보조 산출물 동시 저장
WAV 단독으로 끝내지 않고, 실제 TTS에 투입된 대본 TXT, 입력 로그 TXT, 기본 SRT, 기본 VTT를 일관된 명명 규칙으로 함께 저장해 사후 추적성을 확보합니다.
Whisper logic
Whisper 자막 보정
기본 자막은 빠르게 산출되지만, 영상 편집 단계에 곧바로 투입하기에는 발화 타이밍이 미세하게 어긋날 수 있습니다. 이러한 한계를 보완하기 위해 faster-whisper 보정 단계를 별도로 두었으며, 핵심은 이 모든 과정이 GPU 없이도 동작하도록 설계되었다는 점입니다.
다만 Whisper는 Supertonic 3의 음성 합성 기능이 아니라, 생성된 WAV를 다시 분석해 자막 싱크를 맞추는 별도 보조 도구입니다. CPU만으로도 실행되지만 5분 이상 파일이나 medium 이상의 모델에서는 시간이 꽤 걸릴 수 있으므로, 초안은 small 모델로 확인하고 최종본에서만 더 큰 모델을 쓰는 방식이 현실적입니다.
기본 자막은 빠르지만 근사값에 가깝다
기본 SRT/VTT는 입력 문장과 전체 음성 길이를 기준으로 타이밍을 분배합니다. 초안 확인에는 충분하지만, 실제 발화의 시작과 끝을 정확히 반영한 결과는 아닙니다.
faster-whisper의 WAV 재분석
보정 버튼을 누르면 생성된 WAV를 faster-whisper가 다시 분석합니다. CPU 환경에서는 int8 연산을 기본값으로, language ko, beam_size 5, VAD, word timestamp 옵션을 조합해 사용합니다.
실제 발화 기준 산출물 생성
보정 결과는 *_whisper.srt, *_whisper.vtt, *_whisper.txt, *_whisper.json, *_whisper_log.txt로 저장됩니다. 최종 영상 편집에는 이쪽 자막을 기준으로 작업하는 편이 효율적입니다.
GPU 대비 속도 트레이드오프 인지
CPU 전용 실행은 접근성이 강점인 대신, 긴 대본을 medium 이상 모델로 분석할 경우 수 분 이상이 소요될 수 있습니다. 빠른 확인은 small, 최종본은 medium 또는 large-v3로 단계화하는 운영이 현실적입니다.
# Whisper 보정 도구를 직접 실행하는 예시
cd supertonic3-whisper-subtitles
.\.venv-win\Scripts\python.exe .\whisper_subtitle_refiner.py --latest-from ..\supertonic3-local-tts\dataScript request
대본 요청함 구조
본 웹앱은 OpenAI, Claude, Gemini와 같은 외부 LLM API를 직접 호출해 대본을 자동 생성하지 않습니다. 사용자가 “대본 요청 저장”을 누르면 supertonic3-local-tts/data/script_requests에 요청 파일이 기록되고, 가장 최근 요청은 latest.json으로 복사됩니다.
이후 Codex나 Cursor와 같은 보조 도구가 최신 요청 파일을 참조해, 주제와 톤에 맞춘 TTS용 대본을 작성하고 목록에 등록하는 방식입니다. 웹앱 내부에서 모든 과정을 자동 처리하는 폐쇄형 구조가 아니라 “요청 저장 → 대본 작성 → TTS 생성”으로 역할이 명확히 분리된 분산형 워크플로입니다.
이 구조의 장점은 대본 생성 API를 별도로 붙이지 않아도 된다는 점입니다. 이미 사용 중인 코딩 보조 도구가 있다면 latest.json을 읽어 “디아블로가 무엇인가”, “인구 소멸 시나리오를 2분 분량으로” 같은 요청을 TTS용 문장으로 정리하고, 숫자와 영어 약어까지 읽기 쉬운 표기로 다듬게 할 수 있습니다.
더 나아가 이 폴더 자체를 로컬 개발 프로젝트처럼 열어 제목, 기본 테마, 프리셋, 보정 로직을 직접 바꿔 볼 수 있습니다. 개인 사용 범위에서 수정해 쓰는 것과 수정본을 다시 배포하는 것은 책임 범위가 다르므로, 배포 전에는 라이선스 고지와 포함 의존성 조건을 다시 확인해야 합니다.
사용자 요청 저장
→ data/script_requests/latest.json 생성
→ Codex/Cursor가 latest.json 확인
→ public/*.txt 대본 파일 작성
→ public/scripts.json에 신규 항목 등록
→ 웹 UI에서 대본 새로고침
→ Supertonic 3 TTS 합성Settings
CPU 권장 설정
속도, 단계 수, 청크 길이를 한 번에 크게 조정하면 합성 시간이 길어지고 결과 간 비교도 어려워집니다. 처음 사용한다면 짧은 샘플로 음색을 먼저 확정한 뒤, 아래 기준값을 토대로 한 번에 하나의 변수만 조정하는 방식이 가장 안정적입니다.
일반 한국어 낭독
- voice: M1 또는 F1부터 비교 시작
- lang: ko
- speed: 1.00~1.10
- total_step: 8~12
- max_chunk_length: 120
- silence_duration: 0.3
- whisper_refine: 활성화
긴 설명형 대본
- speed: 0.95~1.05
- total_step: 10~12
- max_chunk_length: 120~200
- silence_duration: 0.3~0.5
- <breath>, <sigh> 등의 태그는 소량만 사용
짧은 안내·알림 멘트
- speed: 1.05~1.20
- total_step: 8
- max_chunk_length: 120~300
- silence_duration: 0.2~0.3
- 문장은 짧게, 숫자는 자연어 표기를 우선
CPU 전용 운영 가이드
- 짧은 샘플로 음색을 먼저 확정
- Whisper 보정은 small로 초안 확인 후 medium으로 최종 보정
- large-v3는 시간 여유가 있는 최종 단계에서만 사용
- TTS 생성과 자막 보정의 동시 다중 실행 지양
Output files
생성 결과 파일
영상 작업을 진행하다 보면 음성 파일 하나만으로는 부족할 때가 많습니다. 어떤 대본을 읽었고, 어떤 설정값을 사용했으며, 자막 파일은 어떻게 정리되어 있는지까지 함께 기록되어야 사후 관리가 편리합니다. 본 도구는 합성 결과를 일관된 묶음으로 보존하므로, 후속 편집이나 재합성 작업에서 추적성을 높일 수 있습니다. 최종 ZIP에는 공개 가능한 예제 산출물도 포함되어 있어, 첫 실행 직후에도 출력 구조를 즉시 확인할 수 있습니다.
웹 UI의 다운로드 버튼을 쓰지 않아도 결과는 기본적으로 supertonic3-local-tts/data 폴더에 남습니다. 콘솔에 표시되는 생성 시간, 청크 처리 로그, 출력 파일명을 함께 보면 어떤 대본과 설정에서 문제가 생겼는지 역추적하기 쉽습니다.
WAV
Supertonic 3가 합성한 최종 음성 파일입니다. 영상 편집, 낭독 검수, 안내 음성 테스트에 즉시 활용할 수 있습니다.
대본 TXT
실제로 TTS에 투입된 정제 텍스트입니다. 이후 동일 음성을 재생성하거나 문장을 수정할 때 기준점이 됩니다.
입력 로그 TXT
음성, 언어, 속도, 단계 수, 청크 길이 등 생성 시 적용된 모든 설정값이 기록됩니다. 만족스러운 결과의 재현성을 보장합니다.
기본 SRT/VTT
입력 문장과 전체 음성 길이를 기준으로 빠르게 생성한 자막입니다. 초안 확인 단계에서 효율적으로 활용할 수 있습니다.
Whisper SRT/VTT
faster-whisper가 WAV를 재분석해 만든 보정 자막입니다. 실제 발화 타이밍에 근접해 있어 최종 편집에 적합합니다.
Whisper TXT/JSON/LOG
보정 결과를 텍스트, 구조화 데이터, 로그 형태로 함께 보존합니다. 자막 이상 발생 시 어느 구간에서 문제가 생겼는지 정밀 분석이 가능합니다.
Safe use
사용 전 안전 점검
도입 초기부터 장문의 유튜브 대본을 합성하기보다 짧은 문장으로 우선 검증하는 편이 효율적입니다. 화자·속도·자막 보정 시간을 가볍게 확인한 뒤 장문 작업으로 확장하면, 실패 시 되돌릴 수 있는 범위가 작아져 문제 해결 비용이 크게 줄어듭니다.
먼저 시도해 볼 것
- 실행.bat으로 로컬 페이지 정상 기동 확인
- sample.txt 또는 짧은 문장으로 WAV 생성
- M1~M5, F1~F5 화자 샘플 비교 청취
- 기본 SRT/VTT와 Whisper 보정 자막의 차이 확인
- 마음에 드는 속도·단계 값을 사용자 설정으로 저장
반드시 주의할 것
- 초기 단계부터 초장문 대본을 일괄 합성하지 않기
- 사칭이나 동의 없는 음성 모사 용도로 사용하지 않기
- 공개 영상 활용 전 라이선스와 사용 조건 재확인
- 개인 대본과 생성 로그를 공유 폴더에 무분별하게 업로드하지 않기
- Whisper 보정 속도가 느리면 small 모델로 우선 검증
로컬 TTS의 진정한 강점은 동일 결과를 자유롭게 반복 생성할 수 있다는 점입니다. 짧게 만들고, 듣고, 다듬고, 다시 합성하는 사이클을 운영하면 최종 결과물의 품질을 한층 안정적으로 끌어올릴 수 있습니다.
FAQ
상세 FAQ
FAQ는 설치 전 단계에서 발생할 수 있는 의문과, 실제 제작 과정에서 자주 부딪히는 질문을 분리해 참고할 수 있도록 구성했습니다. “GPU가 없어도 되는지”라는 단일 질문보다, Python·ffmpeg·가상환경·산출물·라이선스 확인을 포함한 전체 워크플로를 이해하는 것이 더 중요합니다.
아래 문답은 이 ZIP을 처음 받은 사용자가 실행 전에 점검해야 할 사항과, 유튜브 롱폼·언어 교육·자막 제작처럼 반복 합성이 빈번한 작업에서 자주 발생하는 상황을 기준으로 구성되었습니다.
GPU가 정말 없어도 되나요?
네. 이 도구는 처음부터 CPU 전용 실행을 전제로 설계되었습니다. Supertonic 3 TTS는 CPU 환경에서 WAV를 합성할 수 있으며, faster-whisper 보정 또한 CPU int8 설정으로 동작합니다. GPU가 있다면 Whisper 보정 속도 면에서 이점이 있지만, NVIDIA GPU·CUDA·cuDNN을 필수로 요구하는 구성은 아닙니다.
로컬 PC에 필요한 사전 준비물은 무엇인가요?
Windows 10/11 환경을 기준으로 Python 3.11, 최신 크로미움 계열 브라우저, 충분한 디스크 여유 공간이 필요합니다. ZIP에는 .venv-win이 포함되지 않으므로 첫 실행 시 실행.bat이 가상환경 생성과 pip 의존성 설치를 자동으로 처리합니다. 자막 보정과 일부 미디어 처리에는 ffmpeg가 필요할 수 있으며, 누락 시 실행 과정에서 설치 여부를 안내합니다.
첫 실행 시 인터넷 연결이 반드시 필요한가요?
초기 준비 단계에서는 인터넷 연결이 필요할 수 있습니다. Python이나 ffmpeg가 설치되어 있지 않으면 winget 설치 안내가 표시될 수 있고, .venv-win 생성 과정에서 requirements.txt에 명시된 패키지를 내려받아야 할 수 있습니다. Supertonic 또는 Whisper 모델 캐시가 없는 경우에도 최초 다운로드가 필요합니다. 초기 셋업이 완료된 이후에는 동일 PC에서 제한된 네트워크 환경으로 운용이 가능합니다.
ZIP에 .venv-win을 포함하지 않은 이유는 무엇인가요?
가상환경은 사용자 PC의 경로, Python 버전, 설치된 패키지 상태에 종속적이며 용량 또한 큽니다. 이러한 환경 의존성과 휴대성 문제를 해소하기 위해 최종 ZIP에서는 가상환경을 제외하고, 실행.bat이 사용자 PC에서 새롭게 구성하도록 설계했습니다. 초기 셋업 시간이 다소 소요되지만, 다른 PC 간 이식 시 발생하는 경로 충돌과 가상환경 손상 문제를 효과적으로 방지할 수 있습니다.
실행.bat은 정확히 어떤 작업을 수행하나요?
실행.bat은 프로젝트 루트를 식별한 뒤 Python과 ffmpeg의 설치 상태를 점검하고, TTS 앱과 Whisper 도구의 .venv-win 가상환경을 준비합니다. 누락된 의존성이 있을 경우 requirements.txt 기준으로 설치를 진행한 뒤 127.0.0.1:3093 로컬 서버를 기동합니다. 동일 포트에 서버가 이미 떠 있으면 중복 기동 대신 기존 로컬 주소로 안내합니다.
ffmpeg는 반드시 설치해야 하나요?
WAV만 생성하는 기본 TTS 흐름에서는 ffmpeg가 항상 전면에 드러나지 않을 수 있습니다. 다만 Whisper 보정, 오디오 분석, 일부 미디어 처리 안정성을 확보하려면 ffmpeg를 갖춰두는 편이 안전합니다. 실행.bat은 ffmpeg 설치 여부를 점검하고, 없으면 설치 여부를 사용자에게 묻습니다. 별도로 관리하고 있거나 일단 건너뛰고자 한다면 --skip-ffmpeg 옵션을 사용할 수 있습니다.
macOS나 Linux에서도 사용할 수 있나요?
이 가이드의 ZIP 사용 흐름은 Windows 10/11과 실행.bat을 기준으로 설명합니다. 코드 자체는 Python, Flask, Supertonic SDK, faster-whisper를 중심으로 구성되어 있어 macOS나 Linux에서도 수동 실행이 가능하지만, 더블클릭 한 번으로 끝나는 동일 경험을 보장하지는 않습니다. Windows 이외의 환경에서는 start.sh, install.sh, requirements.txt를 기반으로 가상환경을 직접 구성하고 서버를 기동해야 합니다.
긴 유튜브 롱폼 대본을 한 번에 합성할 수 있나요?
기술적으로는 가능하지만, 권장 방식은 분할 합성입니다. 30분 또는 1시간 분량의 대본을 단일 작업으로 처리하면 CPU 합성 시간, 브라우저 대기 시간, 자막 보정 시간이 모두 길어지고, 실패 시 재시작 범위 또한 커집니다. 대본을 5~10분 단위 장(章)으로 나눠 각각 WAV와 자막을 검수한 뒤 편집 단계에서 통합하는 워크플로가 훨씬 안정적입니다.
영어·한국어·중국어·일본어 발음 예제에도 활용할 수 있나요?
언어 교육용 듣기 예제 제작에 적합합니다. 동일 문장을 여러 언어로 분리해 합성하고, 속도와 무음 길이를 조정하면 듣기 예제, 쉐도잉 자료, 문장 읽기 파일을 반복적으로 생성할 수 있습니다. 다만 TTS는 발음 평가 도구가 아닌 듣기 예시 제공 도구라는 점을 유념해야 하며, 교재나 강의에 포함할 경우 원어민 검수 또는 별도 발음 검토 과정을 거치는 편이 안전합니다.
합성이 완료되면 어떤 파일이 생성되나요?
기본적으로 WAV 음성 파일이 생성되며, 실제 TTS에 투입된 대본 TXT, 입력 로그 TXT, 기본 SRT/VTT 자막이 함께 저장됩니다. Whisper 보정을 실행하면 *_whisper.srt, *_whisper.vtt, *_whisper.txt, *_whisper.json, *_whisper_log.txt가 추가로 생성됩니다. 이 산출물 묶음은 결과의 재현성을 확보하고, 영상 편집이나 재합성 작업에 활용하기 위한 표준 기록입니다.
기본 자막과 Whisper 자막을 모두 제공하는 이유는 무엇인가요?
기본 자막은 입력 문장과 전체 음성 길이를 기준으로 빠르게 생성한 초안입니다. 합성 직후 흐름을 가볍게 확인하기에 충분하지만, 실제 발화 타이밍과 완전히 일치한다고 보기는 어렵습니다. Whisper 보정 자막은 생성된 WAV를 재분석해 실제 발화 구간에 맞춘 결과물입니다. 초안 점검은 기본 자막으로, 최종 편집은 Whisper 자막으로 분리하는 운영이 효율적입니다.
무료라는 이유로 공개 영상이나 상업 콘텐츠에 자유롭게 써도 되나요?
아닙니다. 코드와 모델 가중치는 서로 다른 라이선스 조건을 따릅니다. 개인 테스트, 내부 검토, 학습용 샘플 제작은 상대적으로 부담이 적지만, 유튜브 영상, 강의 콘텐츠, 앱 안내 음성과 같이 공개되는 결과물에 활용할 경우 ZIP의 LICENSE_NOTICES.txt와 Supertonic 3 모델 조건을 반드시 확인해야 합니다. 특정 인물 사칭, 동의 없는 음성 모사, 오해를 유발할 수 있는 사용은 명백히 제한됩니다.
이 ZIP은 Supertone Play와 동일한 서비스인가요?
아닙니다. Supertone Play는 슈퍼톤이 운영하는 유료 웹 서비스이며, 이 도구는 공개된 Supertonic 3 엔진을 로컬 PC에서 직접 실행해 음성을 합성할 수 있도록 만든 작업 환경입니다. 계정, 크레딧, 웹 서비스형 사용 흐름을 제공하는 SaaS 제품과는 성격이 다릅니다. 이 ZIP은 사용자가 로컬에서 대본을 입력하고 WAV와 자막을 반복 생성할 수 있도록 묶은 실행 패키지에 가깝습니다.
다운로드한 ZIP의 정상 여부는 어떻게 확인하나요?
다운로드 페이지의 ZIP 파일명과 함께 제공되는 .zip.sha256 파일을 비교해 무결성을 검증할 수 있습니다. PowerShell에서는 Get-FileHash .\supertonic3-local-tts-20260516-r4.zip -Algorithm SHA256 명령으로 해시를 확인합니다. 가이드에 명시된 SHA256 값과 일치하지 않는다면 파일이 변조되었거나 다운로드가 손상되었을 가능성이 있으므로, 재다운로드 또는 최신 안내 값을 다시 확인해야 합니다.
개인 대본이나 생성 로그가 외부로 전송되나요?
이 도구의 기본 사용 흐름은 로컬 서버가 대본을 처리하고 결과 파일을 사용자 PC에 저장하는 방식입니다. 다만 최초 설치 과정에서 패키지나 모델을 내려받기 위해 외부 저장소에 접속할 수는 있습니다. 생성된 data 폴더, 입력 로그, Whisper JSON에는 대본 내용이나 작업 메타데이터가 남을 수 있으므로, 별도의 검토 없이 공개 폴더에 업로드하지 않는 운영 원칙을 권장합니다.
References
참고한 원본 자료
supertone-inc/supertonic
Supertonic 3의 공식 GitHub 저장소입니다. ONNX 기반 온디바이스 TTS, 31개 언어 지원, CPU 실행, 다국어 예제 코드 등을 확인할 수 있습니다.
Supertonic 3 모델 라이선스
Hugging Face에 게시된 Supertonic 3 모델의 LICENSE 파일입니다. 모델은 BigScience Open RAIL-M 계열 조건을 따릅니다.
SYSTRAN/faster-whisper
faster-whisper의 공식 저장소입니다. CTranslate2 기반 Whisper 재구현이며 CPU int8 실행 예시와 벤치마크가 제공됩니다.
Supertone Play
슈퍼톤이 제공하는 유료 TTS·보이스 서비스입니다. 로컬 Supertonic 도구와는 제품의 목적, 과금 방식, 사용 조건이 명확히 구분됩니다.
HYBE의 Supertone 사업 소개
HYBE 공식 사이트에서 슈퍼톤을 AI 오디오 기술 회사로 소개하는 사업 페이지입니다.
Yonhap: HYBE acquires Supertone stake
2023년 1월 31일 하이브가 슈퍼톤 지분 56.1%를 확보했다는 사실을 보도한 연합뉴스 영문 기사입니다.