🔥 Gemini 3.1 Flash TTS 써보기, 대괄호로 AI 음성 연출하기

#Gemini#TTS#Google#음성합성#AI 오디오
910자
12분

Gemini 3.1 Flash TTS 공식 발표 이미지
출처: Google Keyword Blog

어젯밤 Google AI Studio에 접속한 이유는 딱 하나였다. 대괄호 안에 [whispers] 하나 쳐놓고, 음성이 정말로 속삭이게 되는지 두 귀로 확인하고 싶었다. 결론부터 말하면, 확인했다. 그리고 한동안 이것저것 붙여보느라 시계는 두 시간을 그냥 넘어갔다.

어제 구글이 Gemini 3.1 Flash TTS를 공개했다. 공식 발표 날짜는 2026년 4월 15일. 프리뷰 형태로 개발자에게는 Gemini API와 Google AI Studio를 통해, 기업에는 Vertex AI를 통해, 워크스페이스 사용자에게는 Google Vids 안에서 바로 쓸 수 있다.

무엇이 달라졌나

이번 발표에서 가장 눈에 띄는 변화는 세 가지다.

첫째, 오디오 태그가 공식적으로 들어왔다. 대괄호 안에 자연어로 지시를 써넣으면 모델이 그 맥락대로 읽는다. 예를 들어 "[whispers] 이건 우리끼리만 알고 있는 얘기야 [sighs] 근데 너한테 말해야 할 것 같아." 같은 입력을 주면, 속삭이는 구간과 한숨 구간이 실제로 구분되어 나온다. 공식 문서에 나열된 태그만 해도 [amazed], [excited], [panicked], [trembling], [sarcastic] 등이 있고, [anger], [confidence], [empathy]처럼 감정 상태를 지시하는 확장 태그도 함께 지원된다. 보도에 따르면 지원되는 태그 수가 200개를 넘는다.

둘째, 네이티브 멀티 스피커 다이얼로그가 가능해졌다. MultiSpeakerVoiceConfig로 최대 2명의 화자를 정의하고, 각자에게 프리빌트 보이스를 배정해 한 번의 생성 요청으로 대화를 뽑아낼 수 있다. 기존에는 화자별로 따로 합성한 뒤 붙여야 했는데, 이제 톤과 호흡이 자연스럽게 이어지는 대화가 나온다는 게 요지다.

셋째, 70개가 넘는 언어에서 같은 수준의 표현력과 억양 제어가 적용된다. Artificial Analysis의 TTS 리더보드에서는 Elo 1,211을 기록했다. 같은 리더보드의 2026년 3월 스냅샷에서 Inworld TTS-1.5 Max가 1,236, ElevenLabs Eleven v3가 1,179였던 걸 생각하면, 최상위권에 바짝 붙는 수치다. 1등은 아니다. 다만 가격 대비 품질 사분면에서는 "가장 매력적인 영역"에 자리 잡았다는 게 Artificial Analysis의 평가다.

왜 중요한가

오디오 태그 자체는 완전히 새로운 개념이 아니다. ElevenLabs도 비슷한 감정 제어를 오래전부터 지원했고, Inworld도 캐릭터 성격 기반 컨트롤을 제공해왔다. 진짜 변화는 이 제어가 Gemini API의 프롬프트 안에 자연어처럼 녹아들었다는 점이다.

발표 문서를 읽어보면 구글이 내세우는 프레임이 재미있다. "Director's Chair", 감독의 의자. 장면(Scene)으로 환경을 설정하고, 화자 단위로 Audio Profile과 Director's Notes를 지정한 뒤, 문장 중간에 인라인 태그로 순간적인 감정 변화를 넣는다는 3단 구조다. 쉽게 말해 각본가와 배우의 역할을 개발자가 동시에 한다는 뜻이다.

Simon Willison의 글을 보니 구글 예시 중 "Vocal Smile: You must hear the grin in the audio" 같은 디렉팅이 들어가 있다고 한다. 웃음기를 목소리에서 들리게 하라는 주문. 이걸 프롬프트에 섞어서 성공하는 모델이라면, 오디오북·게임 대사·광고 내레이션처럼 "목소리 디렉팅"이 비용의 상당 부분을 차지하던 프로덕션에 영향을 주는 것은 시간 문제다.

개발자 입장에서 구체적으로 달라지는 건 이런 것들이다.

  • 사이드 프로젝트에 넣는 TTS 한 줄짜리 코드가 생생해진다. 지금까지는 "평탄한 내레이션" 말고 선택지가 빈약했다.
  • 로컬라이제이션 비용이 내려간다. 70개 언어에 걸쳐 억양·속도·감정 제어가 일관된다면, 작은 팀도 지역별 음성 UX를 덜 민망하게 만들 수 있다.
  • 플레이북이 재활용된다. Audio Profile을 한 번 정의해두면 다른 프로젝트에서도 같은 목소리를 그대로 꺼내 쓸 수 있다. 그리고 AI Studio의 플레이그라운드에서 다듬은 설정을 그대로 Gemini API 코드로 익스포트할 수 있다.

역사적 맥락

Gemini 2.5 Flash TTS가 공개된 게 작년이었다. 그때도 제어 가능한 TTS라는 방향성은 분명했지만, 감정 연출이 거친 편이었고 화자 간 대화 흐름이 뚝뚝 끊기는 일이 잦았다. 2.5 Flash와 2.5 Pro 두 가지가 제공되면서 속도와 품질의 트레이드오프가 꽤 체감됐다.

3.1 Flash TTS는 그 흐름에서 Flash 쪽, 그러니까 저지연·저비용 노선을 그대로 유지하면서 표현력만 Pro 수준 이상으로 올려놓은 모델처럼 보인다. 모델 ID도 gemini-3.1-flash-tts-preview로 공개됐다. Flash 라인에서 자주 보이는 "속도는 빠르게, 품질은 어디까지 올릴 수 있나" 게임을 TTS에도 그대로 가져온 셈이다.

시장 전체로 보면 2025~2026년 TTS 리더보드의 움직임이 꽤 빠르다. Inworld가 TTS-1.5 Max로 한 단계 뛰었고, ElevenLabs는 Eleven v3로 70개 이상의 언어를 밀고 있다. OpenAI의 TTS-1은 Elo 기준으로는 살짝 처져 있는 상태다. 이런 상황에서 구글이 "디렉터"라는 UX 프레임을 내세운 건, 단순 음질 경쟁만으로는 승부가 안 난다는 판단이 있었을 거라고 추측한다. 모델 품질이 거기서 거기가 되면, 다음 싸움은 "얼마나 세밀하게 의도를 지시할 수 있느냐"로 넘어간다.

워터마킹도 같이 짚어둘 필요가 있다. 3.1 Flash TTS의 모든 출력은 SynthID로 표시된다. 이건 파형을 스펙트로그램으로 변환한 뒤, 사람 귀가 둔한 주파수 대역에 지각 불가능한 신호를 심는 방식이다. MP3 압축이나 소음 추가 정도로는 날아가지 않지만, 피치 시프트나 타임 스트레치 같은 강한 변형에는 검출률이 떨어진다고 알려져 있다. 딥페이크 음성 이슈가 불거질 때마다 "구글은 그래도 워터마크를 넣는다"는 정도의 포지션은 챙긴다는 얘기다.

내 생각

솔직히 말하면, 가장 궁금한 건 한국어에서의 품질이다. 70개 언어를 지원한다는 문장은 지난 몇 년간 많은 TTS 발표에서 봤지만, 실제로 한국어 대화에서 "진짜 한국 사람처럼 들리는" 경우는 드물었다. 특히 감정 태그가 한국어 조사와 어미 변화 위에서 얼마나 자연스럽게 얹히는지는 직접 들어봐야 안다. 공식 모델 카드에는 언어별 평가 지표가 일부 공개돼 있지만, 개인적으로는 AI Studio 플레이그라운드에서 한국어 대사를 길게 붙여보는 편이 더 빠른 판단 같다.

또 하나 걸리는 지점. 오디오 태그의 매력은 프롬프트 엔지니어링을 음성으로 확장한다는 데 있다. 그런데 프롬프트는 유지보수가 어렵기로 이미 유명한 영역이다. [whispers][sighs]를 섞어 쓴 100줄짜리 스크립트가 모델 업데이트 뒤에도 같은 결과를 낸다는 보장은 없다. 구글이 이 부분에서 "안정적인 캐릭터 보이스"를 어떻게 버전 관리해줄지가 실제 프로덕션 도입의 관건이 될 것 같다.

그래도 이번 주말 계획은 분명해졌다. 사이드로 붙잡고 있던 한국어 오디오북 프로젝트에 3.1 Flash TTS를 실험적으로 넣어볼 생각이다. 화자 두 명, 서술자 한 명, 인라인 태그로 감정 지시를 섞어서 한 챕터만 먼저 뽑아볼 계획이다. 잘 나오면 다음 글은 "한국어 오디오북을 Gemini 3.1 Flash TTS로 만들었다" 같은 실전 후기로 돌아올지도 모르겠다.

TTS 발표를 보고 이렇게까지 시간을 쓴 게 오랜만이라는 점이, 이 모델의 의미를 제일 솔직하게 말해주는 것 같다.

참고 자료

YouTube 영상

채널 보기
AI는 왜 수백 차원의 벡터를 사용할까? 고차원 공간과 행렬 | 선형대수학
트라이(Trie)에서 단어를 삭제하는 방법 | Trie 자료구조 이야기
AI를 위한 선형대수학 - 소개 | 선형대수학
벡터의 정의와 덧셈 연산 | 선형대수학
행렬의 기본 연산 - 행렬 덧셈, 스칼라 곱, 전치 | 선형대수학
마지막편, 트라이 노드를 50% 이상 줄이는 방법? 압축 트라이 성능 분석 | Trie 자료구조 이야기
우리가 매일 쓰는 맞춤법 검사기와 라우터 속에 숨겨진 알고리즘은? | Trie 자료구조 이야기
숫자 하나가 AI 모델의 운명을 바꾼다? | 선형대수학