Qwen3-TTS와 Supertonic 3를 같은 문장으로 재보고 기본 TTS를 바꾼 기록

M4 Mac mini 16GB에서 Qwen3-TTS와 Supertonic 3에 같은 한국어 문장 4종을 넣고 생성 시간, 음성 길이, 피크 메모리, 샘플레이트를 비교한 뒤 에이전트 기본 TTS를 교체한 기록입니다.

Qwen3-TTS와 Supertonic 3를 같은 문장으로 재보고 기본 TTS를 바꾼 기록 대표 이미지

결론 먼저

생성 속도와 메모리만 보면 Supertonic 3가 앞섰습니다. 그런데도 기본 TTS를 Qwen3-TTS로 바꿨습니다. 판단 근거가 제 귀였던 만큼, 이 글은 교체 결정의 근거와 한계를 남기는 기록입니다.

실험 환경
M4 Mac mini 16GB, macOS Tahoe 26.6.1, 외장 NVMe SSD, mlx-audio + mlx-community/Qwen3-TTS-12Hz-1.7B-CustomVoice-8bit(voice Sohee), Supertonic 3 공식 CLI 래퍼(voice F3, steps 12, speed 1.0)
누구에게 유용한가
M4 Mac mini급 장비에서 한국어 로컬 TTS를 실제 파이프라인에 물려 쓰려는 개인 개발자
확인한 자료와 한계
확인한 자료
  • 2026-08-13 로컬 A/B 파일럿 실행 기록(문장 4종, 각 1회)
  • 2026-08-13 에이전트 8개 프로필 TTS 교체 작업 기록
  • Supertonic 공식 저장소의 2026-07-23 서비스·저장소 공지
한계

블라인드 청취 평가, 조건별 반복 측정, 콜드 스타트 분리, Supertonic 쪽 피크 메모리는 이 글의 범위 밖입니다.

이 글에서 다루는 핵심 3가지

10초 요약

  • M4 Mac mini 16GB에서 Qwen3-TTS와 Supertonic 3에 같은 한국어 문장 4종을 넣고 생성 시간과 음성 길이를 기록했습니다.
  • 웜 상태 기준으로 Supertonic 3는 긴 문장에서 실시간보다 빨랐고(음성 길이의 0.8배), Qwen3-TTS는 1.5~3.4배가 걸렸습니다.
  • 피크 메모리는 Qwen3-TTS가 6.1~7.1GB였습니다. Supertonic 3 쪽은 이번에 같은 방식으로 기록하지 못했습니다.
  • 출력 샘플레이트는 Supertonic 3가 44.1kHz, Qwen3-TTS가 24kHz였습니다.
  • 숫자는 Supertonic 3가 앞섰지만 직접 들어보고 기본 TTS를 Qwen3-TTS로 바꿨습니다. 이 판단의 근거는 제 청취라서 그대로 인용하기는 어렵습니다.
  • 교체를 서두른 이유가 하나 더 있습니다. Supertonic 공식 저장소에 2026-07-23자로 저장소 아카이브 예정과 Voice Builder 접근 종료(2026-08-31) 공지가 올라와 있습니다.

이 기록에서 확인한 것과 확인하지 못한 것

항목 이 글의 상태
측정 기준일 2026-08-13
하드웨어 M4 Mac mini 16GB, macOS Tahoe 26.6.1
모델 저장 위치 외장 NVMe SSD의 별도 파일럿 폴더
비교 문장 인사말, 기술 설명, 숫자 혼합, 장문 4종
반복 횟수 조건당 1회. 평균·편차 없음
콜드 스타트 분리하지 못함. 첫 실행에 모델 내려받기가 섞여 있음
음질 평가 블라인드 아님. 제가 한 번 듣고 판단
Supertonic 메모리 같은 방식으로 기록하지 못함

표를 먼저 놓은 건 아래 숫자를 벤치마크처럼 인용하면 곤란한 자리가 몇 군데 있어서인데, 특히 조건당 1회 실행이라 두 모델의 순위를 이 표로 확정할 수는 없습니다.

문장 4종만 놓고 비교한 이유

로컬 TTS를 고를 때 흔히 보는 건 영어 WER이나 데모 음성입니다. 그런데 제가 실제로 쓰는 건 한국어이고 그중에서도 성격이 다른 문장이 섞입니다. 인사말처럼 짧은 문장, 기술 용어가 들어간 설명, 숫자와 단위가 붙은 문장, 그리고 문단 하나짜리 장문입니다.

그래서 비교 대상을 넓히는 대신 문장을 고정했습니다. 같은 텍스트 4개를 두 모델에 그대로 넣고 나온 음성 파일의 길이와 생성에 걸린 시간을 같이 남겼습니다.

  • Qwen3-TTS: mlx-community/Qwen3-TTS-12Hz-1.7B-CustomVoice-8bit, mlx-audio로 실행, voice Sohee, 언어 한국어
  • Supertonic 3: 기존에 쓰던 공식 CLI 래퍼, voice F3, steps 12, speed 1.0

Supertonic 쪽은 이전 글에서 OpenAI 호환 프록시로 붙여둔 구성을 그대로 썼습니다. 새로 설치한 건 Qwen3-TTS 쪽뿐입니다.

생성 시간과 음성 길이

배수는 생성 시간 ÷ 음성 길이입니다. 1보다 작으면 실시간보다 빠르게 만들었다는 뜻입니다.

문장 모델 음성 길이 생성 시간 배수
인사말 Qwen3-TTS 3.68초 25.6초 6.96배
인사말 Supertonic 3 4.04초 20.4초 5.05배
기술 설명 Qwen3-TTS 7.76초 11.6초 1.49배
기술 설명 Supertonic 3 7.11초 16.4초 2.31배
숫자 혼합 Qwen3-TTS 7.44초 25.6초 3.44배
숫자 혼합 Supertonic 3 8.08초 6.9초 0.85배
장문 Qwen3-TTS 16.16초 45.7초 2.83배
장문 Supertonic 3 15.81초 12.8초 0.81배

이 표에서 그대로 믿으면 안 되는 칸이 셋 있습니다.

첫째, Qwen3-TTS의 인사말 25.6초에는 모델을 처음 내려받는 시간이 섞여 있어서 순수 생성 시간으로 볼 수 없습니다.

둘째, Supertonic 3의 인사말 20.4초는 콜드 스타트인데, 같은 모델이 뒤에서 6.9초와 12.8초를 낸 걸 보면 첫 호출 비용이 대부분이었다고 보는 편이 맞습니다.

셋째, Qwen3-TTS의 인사말과 숫자 혼합이 둘 다 25.6초로 기록돼 있습니다. 우연일 수도 있지만 기록이 겹쳤을 가능성도 있어서 이 값은 재측정 대상으로 남겨둡니다.

첫 호출을 빼고 보면 방향은 분명합니다. Supertonic 3는 문장이 길어질수록 실시간보다 빨라졌고(0.85배 → 0.81배), Qwen3-TTS는 가장 좋을 때가 1.49배였습니다. 대본을 통째로 밀어 넣는 작업이라면 이 차이가 그대로 대기 시간이 됩니다.

메모리와 샘플레이트에서 갈린 지점

Qwen3-TTS의 피크 메모리는 6.1~7.1GB였는데, 16GB 기기에서 이 정도면 브라우저와 에디터를 같이 띄워둔 상태에서는 신경이 쓰이는 크기입니다. 8비트 양자화본 파일이 허깅페이스 기준 3.08GB이니, 실행 중 메모리가 파일 크기의 두 배 안팎까지 올라간 셈입니다.

Supertonic 3 쪽은 이번 파일럿에서 같은 방식으로 피크 메모리를 남기지 못했습니다. 이전 설치 때 모델과 가상환경을 합쳐 약 551MB였다는 기록이 있지만 실행 중 메모리와는 다른 값입니다. 다만 Supertonic 3는 공개 ONNX 자산 기준 99M 파라미터급이라 두 모델은 애초에 체급이 다릅니다.

출력 포맷도 달랐습니다.

항목 Qwen3-TTS Supertonic 3
샘플레이트 24kHz mono 44.1kHz mono
라이선스 Apache-2.0 OpenRAIL-M
목소리 지정 Sohee 프리셋 사용 F3 프리셋 사용

Sohee는 실행할 때 지정한 값이고 mlx-community 변환본 모델 카드에는 프리셋 목록이 따로 적혀 있지 않았습니다. 원본 모델 문서를 봐야 정확한 목록을 알 수 있습니다.

숫자가 진 쪽으로 결정한 이유

여기서부터는 제가 듣고 정한 내용입니다.

두 모델의 결과물을 같은 문장으로 나란히 듣고 나서, 한국어 억양과 문장 끝 처리에서 Qwen3-TTS 쪽이 낫다고 느꼈습니다. 그래서 속도와 메모리에서 지는 쪽을 기본값으로 올렸습니다.

이 문장을 근거처럼 쓰기는 어렵습니다. 블라인드 테스트가 아니었고, 듣는 사람이 저 한 명이었고, 문장도 4개뿐이라 사람이 참여한 평가에서 이 정도 설계면 결론이 뒤집힐 여지가 큽니다. 그래서 이 글에서는 “Qwen3-TTS가 한국어 음질이 더 좋다”가 아니라 “제 귀로는 그렇게 들렸고 그 이유로 바꿨다”까지만 남깁니다.

반대로 속도와 메모리는 측정값이라 조건이 바뀌면 어느 쪽이 유리한지 그대로 계산할 수 있습니다. 실시간 응답이 필요하거나 메모리가 빠듯하면 Supertonic 3가 여전히 낫습니다.

8개 프로필을 바꾸면서 정한 것

교체는 에이전트 설정에서 TTS 공급자를 바꾸는 방식이었습니다. 프로필 8개(default, content, dev, local-lite, main, market, mcp-research, research)의 공급자를 qwen3-tts로 바꿨고 TTS 설정이 없던 두 프로필은 건드리지 않았습니다.

되돌릴 수 있게 두 가지를 같이 했습니다.

  1. 기존 Supertonic 공급자 설정을 지우지 않고 폴백으로 남겨뒀습니다.
  2. 변경 전 설정을 ~/.hermes/backups/ 아래 타임스탬프 폴더로 백업했습니다.

바꾸고 나서 걸린 것도 있었습니다.

  • 입력 길이 상한이 줄었습니다. Supertonic 래퍼는 5,000자였는데 Qwen3-TTS 래퍼는 3,000자로 잡았습니다. 긴 대본은 앞단에서 나눠 보내야 합니다.
  • 외장 SSD 의존이 생겼습니다. mlx-audio 가상환경이 외장 SSD에 있어서 SSD가 마운트되지 않으면 TTS가 실패합니다. 부팅 직후나 SSD를 뽑아둔 상태에서 에이전트를 띄우면 이 경로부터 깨집니다.
  • 게이트웨이 재시작이 필요했습니다. 설정은 저장됐지만 실행 중인 프로세스에는 바로 반영되지 않아 별도 셸에서 재시작해야 적용됐습니다.

교체 후 확인은 음성 생성 호출 한 번으로 했습니다. 공급자가 새 값으로 잡히고 OGG 변환까지 통과하는 것만 봤습니다. 프로필 8개를 각각 다시 호출해보지는 않았습니다.

이번 주에 서두른 이유

Supertonic 공식 저장소에 2026-07-23자 공지가 올라와 있습니다. 원문은 이렇습니다.

Service and Repository Notice (July 23, 2026) — This repository will be archived, and there will be no further development or official support for the open-source Supertonic models. Voice Builder will no longer be accessible after August 31, 2026.

저장소는 아카이브 예정이고, 오픈소스 모델은 추가 개발도 공식 지원도 없으며, Voice Builder는 2026-08-31 이후 접근할 수 없습니다.

이미 받아둔 모델과 로컬 실행 경로가 당장 멈추는 건 아닙니다. 지금 돌아가는 파이프라인을 급히 들어낼 이유는 없지만 커스텀 목소리를 Voice Builder로 만들 계획이 있었다면 그건 날짜가 걸린 작업입니다. 이 글을 쓰는 2026-08-19 기준으로 12일 남았습니다.

저는 커스텀 목소리 계획이 없었기 때문에 마감보다는 “공식 지원이 끝나는 도구를 기본값에 두는 게 맞나”가 더 걸렸습니다. 마침 대안을 실측해둔 상태라 이번에 순서를 바꿨습니다.

다시 잰다면 고칠 것

이 파일럿을 반복한다면 아래를 바꾸겠습니다.

  1. 모델 내려받기를 측정 전에 끝내고 워밍업 호출을 한 번 버린 뒤 잰다.
  2. 조건당 3회 이상 반복해서 중앙값을 남긴다.
  3. Supertonic 쪽도 피크 메모리를 같은 도구로 기록한다.
  4. 음질은 파일명을 가린 상태에서 듣고 최소 두 사람에게 같은 질문을 한다.
  5. 문장을 4종에서 늘려 고유명사와 영어 약어가 섞인 경우를 추가한다.
  6. 샘플레이트가 다른 두 출력을 같은 조건으로 맞춘 뒤 비교한다.

당장 할 일은 하나로 좁혔습니다. 외장 SSD가 마운트되지 않았을 때 TTS 호출이 어떻게 실패하는지 확인하고, 그 경우 Supertonic 폴백으로 넘어가는지 직접 끊어서 테스트해보려 합니다. 지금은 폴백 설정만 남겨뒀을 뿐, 실제로 넘어가는 걸 본 적이 없습니다.

확인에 쓴 자료

공식 출처로 확인한 건 아카이브 공지 문구와 날짜, 두 모델의 라이선스, 파일 크기와 파라미터 수입니다. 생성 시간, 메모리, 교체 판단은 제 기기에서 나온 값과 제 결정입니다. 둘을 섞지 않으려고 문단을 나눠 적었습니다.

같이 보면 좋은 글


기준일: 2026-08-13 | 작성: 2026-08-19 | 확인 환경: M4 Mac mini 16GB, macOS Tahoe 26.6.1 | 출처: 로컬 A/B 파일럿 실행 기록 + Supertonic 공식 저장소 공지