고품질 음성 생성(TTS) 기술 소개

이 페이지는 뇌체크의 TTS 기능을 이해하기 위한 배경 기술을 소개합니다. 최근 음성 합성 분야에서 주목받는 CALM과 Pocket TTS를 중심으로 설명하며, 뇌체크가 이 모델을 그대로 사용한다는 의미는 아닙니다.


이산 토큰 기반 음성 합성의 한계

최근 음성 합성 분야에서 널리 사용되는 한 가지 접근법은, 오디오를 이산(discrete) 토큰 시퀀스로 변환한 뒤 언어 모델로 토큰을 생성하는 방식입니다.

이 방식에는 근본적인 트레이드오프가 있습니다. 오디오 토큰은 손실 압축(lossy codec)으로 추출되기 때문에, 음질을 높이려면 더 많은 토큰을 생성해야 합니다. 토큰이 많아지면 연산 비용이 증가하고 지연 시간이 길어집니다. 즉, 음질과 속도 사이에서 타협해야 합니다.


Continuous Audio Language Models (CALM)

Kyutai Labs는 이 문제를 해결하기 위해 CALM(Continuous Audio Language Models)을 제안했습니다.

핵심 아이디어

기존 방식이 오디오를 이산 토큰으로 변환했다면, CALM은 연속(continuous) 표현을 직접 생성합니다.

  1. 큰 신경망(Transformer)이 텍스트의 문맥을 읽고, 매 시점마다 요약 정보를 만듭니다
  2. 이 요약 정보를 받아 작은 네트워크(MLP)가 다음 소리 조각을 예측합니다
  3. 소리 조각이 끊김 없이 자연스럽게 이어지도록 학습합니다 (일관성 모델링)

이산 토큰 방식의 비트레이트 제약을 피하기 때문에, 논문에서는 같은 품질에서 더 적은 연산으로 음성을 생성할 수 있다고 보고합니다.

이산 vs 연속 방식 비교

특성 이산 토큰 방식 CALM (연속 방식)
오디오 표현 손실 압축된 이산 토큰 연속 잠재 벡터 (VAE 기반)
음질 향상 방법 토큰 수 증가 (비용 증가) 이산 토큰화의 비트레이트 제약을 회피
연산 효율 토큰 수에 비례하여 증가 논문 실험에서 동일 품질 대비 더 적은 연산 보고
생성 방식 자기회귀 토큰 생성 Transformer + MLP 연속 프레임 생성

※ 위 비교는 CALM 논문에서 보고된 실험 결과 기준이며, 모델·데이터·구현에 따라 결과는 달라질 수 있습니다.


Pocket TTS: CALM의 실용화

Pocket TTS는 CALM 논문의 연구 결과를 실제 사용 가능한 오픈소스 TTS 모델로 구현한 것입니다.

주요 특성 (Kyutai Labs README 기준)

GPU가 필요 없는 이유

Pocket TTS의 모델 크기는 1억 파라미터로, 대형 언어 모델에 비해 매우 작습니다. Kyutai Labs는 배치 크기 1과 작은 모델 특성 때문에 GPU에서 유의미한 속도 향상을 관찰하지 못했다고 보고합니다.

브라우저 실행

Pocket TTS는 공식적으로 브라우저 실행을 지원하지는 않지만, 모델이 충분히 작아 커뮤니티에서 WebAssembly 기반 실험적 구현이 공개되어 있습니다 (Rust/Candle, JAX-JS, ONNX Runtime Web 등).


뇌체크에서의 적용

뇌체크는 학습 카드의 음성을 생성할 때 고품질 TTS 기술을 활용합니다.

  1. 자연스러운 발음: 기계적인 음성이 아닌, 실제 대화에 가까운 억양과 리듬으로 청취 경험을 향상시킵니다
  2. 저지연 재생: 학습 중 대기 시간을 최소화합니다

관련 논문: Continuous Audio Language Models (CALM) — Simon Rouard, Manu Orsini, Axel Roebel, Neil Zeghidour, Alexandre Défossez (2025)

출처: Pocket TTS GitHub · Kyutai Labs Publications