TTS 캐싱이란, 이미 생성된 음성 출력(음성 waveform) 혹은 중간 생성물(예: mel spectrogram, phoneme sequence)을 저장해두고, 동일한 입력 텍스트가 들어왔을 때 다시 음성을 생성하지 않고 저장된 결과를 반환하는 방식입니다.
자주 요청되는 텍스트(예: “안녕하세요”, “고객님, 무엇을 도와드릴까요?”)를 캐시해두면, 실시간 추론 없이 즉시 응답 가능합니다
특히 large-scale 모델 (FastSpeech2, VITS, Bark 등)의 경우 캐시 없이 처리하면 수백 ms~수 초가 걸릴 수 있습니다
✅ 고도화 방향:
Hot phrase identification 알고리즘을 통해 캐시할 문장을 자동 선별합니다
캐시된 음성을 GPU 없이도 서빙 가능한 시스템을 설계 합니다
자사 TTS는 다음과 같은 파이프라인을 가집니다:
Text -> Duration -> Pitch -> Energy -> Acoustic Feature(mel) -> Waveform
이 중간단계(pitch 등)를 캐싱하면,
→ 같은 문장이라도 다른 목소리로 재합성할 수 있습니다
→ multi-speaker, multi-style 시스템에서 텍스트 캐싱 → 목소리만 재합성 가능합니다
✅ 고도화 방향:
중간 representation 캐시를 설계 합니다
multi-speaker TTS에서 캐싱된 데이터를 다양한 voice로 post-synthesis 합니다
동일한 의미의 문장이 다양한 언어로 번역될 경우,
→ 각 언어에 대응하는 고빈도 문장을 미리 캐싱하여 로컬라이제이션 응답 속도가 현저히 개선됩니다
✅ 고도화 방향:
텍스트 전처리 후 semantic hashing으로 의미 기반 캐시 매핑합니다
사용자 요청 이력 분석 기반 도메인별 사전 캐시 정책을 수립합니다
실시간 생성 대신, 일부 문장은 고품질(고 sampling rate, slow inference)로 미리 생성해 캐시합니다
즉석에서 생성하는 것보다 더 자연스러운 고품질 음성을 제공 가능합니다
✅ 고도화 방향:
문장별 priority 기반 고품질 pre-generation queue 운영합니다
사전 렌더링 결과를 CDN에 분산 저장합니다
캐싱된 음성을 활용해, fine-tuning이나 speaker adaptation 등 모델 개선에 활용합니다
“어떤 문장이 자주 쓰이는가?” 데이터를 통해 음성 구성을 최적화 합니다
✅ 고도화 방향:
캐시 사용 이력 기반으로 active learning / curriculum learning 적용합니다
TTS retraining 시 사용자 맞춤 문장 빈도 기반 데이터 반영합니다
캐싱 활용 예시 : 인사말, 계좌번호, 안내멘트 캐싱
고도화 포인트 : 멀티화자 + 고속응답
✅ 내비게이션
캐싱 활용 예시 : 길 안내 멘트 캐싱
고도화 포인트 : 지역/상황에 따른 멘트 우선 캐시
✅ 키오스크
캐싱 활용 예시 : 자주 요청되는 메뉴/상품 설명
고도화 포인트 : pre-generated audio + edge device 대응
✅ 스마트스피커
캐싱 활용 예시 : 일정 안내, 날씨, 알람 멘트
고도화 포인트 : context-aware 캐시 자동 선택
입력 텍스트에 대한 normalization 처리 일관성 확보
→ 동일한 의미라도 텍스트 다르면 cache miss 방지가 필요합니다
스피커, 스타일, 속도 등 파라미터까지 캐시 key에 반영합니다
저장 포맷 최적화 (WAV/MP3, µ**-law, PCM 등)
→ latency vs. quality trade-off 고려 필요합니다