합성 통화 음성 — Google Cloud TTS(Wavenet) 어댑터 + 무료 한도 리밋

무엇을

합성 통화 재생기(replay_persona_call.ts)의 소리를 이 맥 say 에서 Google Cloud Text-to-Speech(ko-KR Wavenet) 로도 낼 수 있게 한다. API 키 하나만 .env 에 넣으면 돈다 — GOOGLE_TTS_API_KEY. 키 발급은 정성윤 님(GCP 콘솔)에게 요청한다.

왜

완료 조건

한계 (절대 원칙 10)

TTS 톤은 연기 지시다. D-5 통화 온도의 성능 근거가 아니다(scripts/persona_sim/README.md 「말할 수 없는 것」).

2026-09-21 — 실제 키로 확인, 닫음


머지 주석 (2026-09-21, 정성윤) — 아래 「보드 최신화」는 위 닫음 기록(ai 11:06)과 거의 같은 시각(main 976f42e, 11:14)에 서로 못 본 채 따로 쓴 것이다. 상태는 front matter(done)가 맞고, 아래 메모의 「상태는 그대로」·「류준 님이 정한다」는 위 닫음으로 이미 답이 났다. 지우지 않고 남긴다(절대 원칙 8).

보드 최신화 (2026-09-21, 정성윤 — 사용자 지시로 전체 보드를 한 번에 맞췄다). 상태는 그대로다. 키 발급에 착수했다(09-21) — GCP 프로젝트 callguard 에 Cloud Text-to-Speech API 가 사용 설정됨인 것을 콘솔에서 확인했다. API 키는 그 API 의 「사용자 인증 정보」 탭이 아니라 왼쪽 메뉴의 「사용자 인증 정보」에서 만든다(탭에는 OAuth·서비스 계정만 나온다). 발급 뒤 .env 의 GOOGLE_TTS_API_KEY 로 전달 → 류준 님이 --prefetch SYN-001 1회 합성. 키는 TTS API 하나로 제한한다.

2026-09-21 — 톤 음량이 안 들리던 것을 고쳤다

--prefetch 한 mp3 를 재 보니 고함 톤이 평온과 음량이 같았다. 같은 문장으로 변형을 합성해 확인한 결과 WaveNet ko-KR 은 SSML volume 의 «올리기»(+dB)를 무시한다(내리기·속도·높이는 반영). 기준(평온)을 -8 dB 로 낮추는 배치로 TONE_PROSODY 를 바꿔 평온 대비 격앙 +3.8 · 고함 +7.1 · 지침 -5.0 dB 를 확인했다(측정표는 scripts/persona_sim/TTS.md §6). 테스트 3건 추가(「+dB 를 어떤 톤에도 쓰지 않는다」·「톤 사이 상대 음량」 포함) — 콜 미디에이터 134 통과 · tsc 통과. scripts/ 는 이미지에 안 들어가 태그 불변. 시연 대본 캐시를 새 음량으로 다시 채웠다(이달 11,256/900,000자).