ElevenLabs 구독 끊고 내 GPU로 — 무료 로컬 TTS 트렌드와 Qwen3-TTS 실전 구축기

2026년 여름 무료 TTS 트렌드(수퍼톤 플레이, 슈퍼토닉3, Edge-TTS 등)를 유튜브 데이터로 정리하고, 오픈웨이트 중 한국어가 가장 자연스러운 Qwen3-TTS 1.7B를 RTX 4060 노트북에 설치해 11분짜리 세미나 내레이션(감정 태그 23컷)을 실제로 뽑아낸 과정. 생성 샘플 3개 포함.

유료 TTS 구독(대표적으로 ElevenLabs)을 쓰다 보면 글자 수 제한과 월 요금이 계속 신경 쓰인다. 그런데 최근 한 달 사이 분위기가 확 바뀌었다. **“유료 구독 탈출 → 무료 로컬 TTS”**가 대세가 된 것. 이번 글은 두 부분으로 나뉜다.

  1. 트렌드 조사 — YouTube Data API로 최근 한 달(6/10~7/10)의 “무료 TTS” 영상 65건을 수집·선별해 지금 뭐가 뜨는지 정리
  2. 실전 구축 — 그중 오픈웨이트로 한국어가 가장 자연스러운 Qwen3-TTS 1.7B를 게이밍 노트북(RTX 4060 Laptop 8GB)에 설치하고, 감정 태그를 입힌 11분짜리 세미나 내레이션을 실제로 뽑아낸 과정

비용은 0원, 생성 무제한, 인터넷 없이 동작한다.

무료 TTS 트렌드 조사 — 요즘 뭐가 뜨나

유튜브에서 최근 한 달 “무료 TTS” 관련 영상을 API로 긁어 65건을 모으고, 관련도 높은 20개(한국어 14, 해외 6)를 선별해 요약했다. 결론부터:

이번 달 최대 이슈는 수퍼톤(Supertone)이다. 6월 10일 웹 서비스 수퍼톤 플레이(play.supertone.ai)를 출시했고(공식 소개 영상이 한 달 만에 5.7만 회), 동시에 로컬 모델 슈퍼토닉3를 MIT 라이선스로 무료 공개했다. CPU만으로 한국어를 무제한 생성할 수 있어서 “ElevenLabs 해지했다"는 영상이 줄줄이 올라오는 중.

자주 언급된 무료 도구를 성격별로 묶으면:

분류도구특징
웹에서 바로수퍼톤 플레이, 클로바더빙, Vrew설치 없음, 한국어 더빙은 무료 범위로 충분
로컬 오픈소스슈퍼토닉3(MIT, 한국어 특화, CPU 가능), Qwen3-TTS, VoxCPM2, OmniVoice무제한 + 음성 복제 지원
개발자용 최저 진입장벽Edge-TTS(pip 한 줄, API 키 불필요), Google AI Studio Gemini Flash TTS(70+ 언어)스크립트에 바로 붙이기 좋음
기타VoiceBox(오프라인 Windows 앱), RVC(내 목소리 로컬 학습)특수 용도

한 줄 요약: 웹에서 바로 쓰려면 수퍼톤 플레이·클로바더빙, 개발자라면 Edge-TTS가 진입장벽 최저다.

Qwen3-TTS 1.7B, 설치해서 직접 테스트해봤다

내 목적은 “세미나 영상 내레이션을 컷 단위로, 감정 지시까지 넣어서, 무제한으로 뽑기"였다. 프로그램에서 호출할 수 있고 말투 제어가 되는 로컬 모델이 필요했다.

오픈웨이트 후보들을 비교한 결과:

  • Qwen3-TTS 1.7B ← 최종 선택 — Apache 2.0(상업 사용 자유), 한국어 억양·속도가 오픈웨이트 중 가장 자연스러웠다. 3초 샘플만으로 보이스 클로닝이 되고, 크로스링구얼(다른 언어 샘플로 한국어 발화) 오류율이 4.8%로 CosyVoice 3(14.4%)보다 크게 우수하다.
  • Fish Audio S2 Pro — TTS Arena 기준 오픈웨이트 1위(전체 11위, Elo 1128.7)로 품질은 최상급. 하지만 상업 사용은 유료 라이선스인 데다 모델이 무거워서 탈락.
  • 슈퍼토닉3 — MIT에 CPU만으로 돌아가는 건 매력적이지만, 이번엔 감정 지시(instruct) 제어가 필요해서 Qwen3-TTS로 갔다.

설치 (Windows 11 + RTX 4060 Laptop 8GB)

1. 가상환경 + 패키지

1
2
3
4
mkdir D:\Project\qwen3-tts; cd D:\Project\qwen3-tts
python -m venv venv
venv\Scripts\python.exe -m pip install torch --index-url https://download.pytorch.org/whl/cu128
venv\Scripts\python.exe -m pip install qwen-tts

내 환경 기준: Python 3.14, torch 2.11+cu128, qwen-tts 0.1.1.

2. 모델과 화자

모델은 Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice — 첫 실행 시 자동 다운로드된다. VRAM은 4.5GB 정도만 사용해서 8GB GPU에 여유 있게 들어간다.

내장 화자는 9명(aiden, dylan, eric, ono_anna, ryan, serena, sohee, uncle_fu, vivian)이고, 한국어는 sohee가 담당이다.

3. 알아두면 좋은 것

  • flash-attn을 설치하지 않으면 생성 속도는 오디오 길이의 약 2배 (1분짜리 음성에 2분 소요). 배치로 밤에 돌리면 문제없는 수준.
  • 실행 시 SoX 관련 경고가 뜨는데 무해하다.

핵심 패턴: 모델을 상주 서버로 띄우기

모델 로딩에 약 1분이 걸리므로, 스크립트를 실행할 때마다 로딩하면 낭비다. 간단한 HTTP 서버로 한 번만 띄워두고 POST로 호출하는 구조를 만들었다.

1
2
venv\Scripts\python.exe tts_server.py
# → http://127.0.0.1:8765 에서 대기

호출은 이렇게:

1
2
3
4
5
6
7
POST /tts
{
  "texts": ["여러분, 오늘 다룰 주제는 피지컬 AI입니다."],
  "speaker": "sohee",
  "instruct": "자신감 있는 일타강사 말투로, 약간 도발적으로",
  "filename": "01_opener.wav"
}

결과 WAV는 output\에 저장된다. 핵심은 instruct 필드 — 말투를 자연어로 지시할 수 있다는 점이 이 모델을 고른 결정적 이유다.

실전: 감정 태그 입힌 세미나 내레이션 23컷

세미나 1회차 대본을 23개 컷(01_opener ~ 23_takeaway)으로 쪼개고, 컷마다 감정 태그와 TTS용 instruct 문구를 JSON으로 관리했다.

1
2
3
4
5
{
  "cut": "05_quiz2",
  "emotion": "장난스러운 도발",
  "instruct": "퀴즈를 내며 살짝 약올리는 말투로, 템포를 빠르게"
}

감정 곡선은 이렇게 설계했다: 도발 → 퀴즈 5연발 → 약올림 → 차분한 강의 → 정답 발표 → 심화 → 묵직한 마무리. 단일 톤으로 11분을 읽으면 졸린데, 컷마다 instruct를 바꿔주니 확실히 “사람이 진행하는” 느낌이 산다.

파이프라인은 3단계:

1
2
3
4
5
컷별 대본 23개 + 감정 태그 JSON
   ↓  (gen_all_cuts.py — 컷마다 instruct 다르게 서버 호출)
output\cuts\ 23개 WAV
   ↓  (60~90초 단위로 병합, 구성은 parts_manifest.json에 기록)
output\parts\part_01.wav ~ part_10.wav (총 11.6분)

이 구조의 장점은 수정이 컷 단위라는 것. 특정 컷의 억양이 마음에 안 들면 그 컷만 instruct를 고쳐 재생성하고 해당 파트만 다시 병합하면 된다. 유료 서비스였다면 재생성할 때마다 글자 수가 차감됐을 텐데, 로컬이라 무한 리테이크가 공짜다.

직접 들어보기 — 생성 샘플 3개

말로 설명하는 것보다 듣는 게 빠르다. 아래는 Qwen3-TTS(화자 sohee)로 뽑은 샘플들이다. 스타일별로 하나씩 — 뉴스 리딩, 다큐 내레이션, 감정 표현.

샘플 1 — 뉴스 톤 · “오늘 서울의 낮 최고 기온은 33도까지 오르겠고, 내륙 곳곳에 소나기가 지나겠습니다.”

샘플 2 — 차분한 내레이션 톤 · “인공지능 기술은 지난 10년간 놀라운 속도로 발전해왔습니다. 이제 우리는 컴퓨터와 자연스럽게 대화하는 시대에 살고 있죠.”

샘플 3 — 감정(놀람) 표현 · “정말요? 그게 진짜 된다고요? 와, 이건 생각보다 훨씬 대단한데요?”

같은 화자인데도 instruct 지시에 따라 톤이 이만큼 갈라진다. 특히 샘플 3처럼 감탄·놀람 같은 감정 표현이 어색하지 않다는 점이 세미나 내레이션에 쓸 수 있겠다고 판단한 근거였다.

정리

  • 트렌드는 명확하다: 무료 로컬 TTS가 유료 구독을 대체하는 중. 웹은 수퍼톤 플레이·클로바더빙, 개발자는 Edge-TTS, 품질+제어가 필요하면 오픈웨이트 로컬 모델.
  • Qwen3-TTS 1.7B는 Apache 2.0 + 한국어 자연스러움 + 자연어 말투 지시(instruct) + VRAM 4.5GB라는 조합으로, 8GB급 GPU에서 실용적인 최선이었다.
  • 상주 서버 + 컷별 감정 태그 JSON 패턴으로 11.6분 세미나 내레이션을 컷 단위 리테이크 가능한 형태로 완성했다.

이 글의 코드 전체(상주 서버, 컷별 생성·병합 스크립트, 스트리밍 페이지, 샘플 음성)는 GitHub에 공개했다: junstellar/qwen3-tts-korean-narration

다음 과제는 두 가지다. flash-attn을 설치해 생성 속도를 끌어올리는 것, 그리고 3초 샘플 보이스 클로닝으로 내 목소리를 등록해보는 것. 진행되면 후속 글로 정리하겠다.

이 글은 CC BY-NC-SA 4.0 라이선스를 따릅니다. 본 블로그의 글은 정보 제공과 학습 기록을 위한 것으로, 투자 조언이 아닙니다. 투자 판단의 책임은 투자자 본인에게 있습니다.