Google Cloud TTS 사용법, 한국어 MP3 첫 파일까지 10분

Google Cloud TTS 사용법, 한국어 MP3 첫 파일까지 10분

Google Cloud TTS 사용법, 한국어 MP3 첫 파일까지 10분

처음 막히는 지점은 목소리보다 준비 순서다

Google Cloud TTS 사용법을 찾을 때 많은 사람이 먼저 한국어 voice 이름부터 고릅니다. 그런데 첫 MP3를 못 만드는 경우를 보면 대개 음색보다 앞단에서 멈춥니다. 프로젝트는 만들었는데 billing 연결이 빠졌거나, API는 켰는데 로컬 PC 인증을 안 끝냈거나, 여러 프로젝트 중 다른 프로젝트를 기본값으로 잡아둔 경우가 자주 나옵니다. 한국어 음성 합성을 빨리 시작하려면 목소리 비교보다 프로젝트, 과금, 인증 순서를 먼저 맞추는 편이 덜 헷갈립니다.

2026년 5월 기준으로 흐름은 단순합니다. Cloud Text-to-Speech API를 켜고, 결제가 붙은 프로젝트를 선택하고, Google Cloud CLI를 설치한 뒤 gcloud initgcloud auth application-default login을 끝내면 됩니다. 여기까지 맞아 있으면 Python 코드로 MP3 한 파일을 만드는 단계는 길지 않습니다. 처음 10분 안에 확인할 것도 대부분 이 범위에 들어갑니다.

Step 1: 프로젝트와 billing을 먼저 연결하기

gcloud init

여기서는 코드보다 콘솔 설정이 먼저입니다. 프로젝트를 만든 뒤 Cloud Text-to-Speech API를 사용 설정하고, 그 프로젝트에 billing을 연결해둬야 호출이 이어집니다. API만 켠 상태에서는 화면상으로 준비가 다 된 것처럼 보여도 실제 요청 단계에서 멈출 수 있습니다. 특히 개인 계정으로 여러 프로젝트를 돌리는 사람은 기본 프로젝트가 다른 값으로 잡혀 있는 경우가 많아서, 이 부분을 먼저 보는 게 시간을 아낍니다.

gcloud init은 계정과 기본 프로젝트를 정리하는 출발점입니다. 설치 직후 바로 코드를 실행하기보다, 지금 선택된 프로젝트가 과금이 연결된 프로젝트와 같은지 확인하는 편이 안전합니다. 같은 계정 아래 개발용, 실험용, 개인용 프로젝트가 섞여 있으면 여기서 실수가 나기 쉽습니다.

Step 2: 내 PC가 그 권한으로 호출하게 만들기

gcloud auth application-default login

이 명령은 로컬 환경에서 애플리케이션 기본 인증을 만드는 단계입니다. 브라우저 로그인과 권한 동의가 끝나면 Python 코드가 그 자격으로 음성 합성을 호출할 수 있습니다. 콘솔 쪽 설정이 끝났는데도 403이나 권한 오류가 뜬다면 패키지 설치보다 이 인증 단계를 다시 보는 편이 빠릅니다.

회사 계정, 개인 계정, 테스트 계정이 한 브라우저에 같이 로그인돼 있으면 더 복잡해집니다. 동의한 계정과 billing이 연결된 프로젝트 소유 계정이 다르면 인증은 성공처럼 보이는데 실제 호출은 막힐 수 있습니다. 그럴 때는 인증 절차를 다시 열어서 계정을 분명하게 선택하는 쪽이 깔끔합니다.

Step 3: Python으로 첫 MP3를 만들기

pip install --upgrade google-cloud-texttospeech

from google.cloud import texttospeech
client = texttospeech.TextToSpeechClient()
synthesis_input = texttospeech.SynthesisInput(text='안녕하세요. Google Cloud TTS 첫 테스트입니다.')
voice = texttospeech.VoiceSelectionParams(language_code='ko-KR', name='ko-KR-Neural2-C')
audio_config = texttospeech.AudioConfig(audio_encoding=texttospeech.AudioEncoding.MP3)
response = client.synthesize_speech(input=synthesis_input, voice=voice, audio_config=audio_config)
with open('output.mp3', 'wb') as out:
    out.write(response.audio_content)

첫 파일은 복잡하게 갈 필요가 없습니다. 텍스트 한 줄, 한국어 voice 하나, MP3 인코딩 하나면 충분합니다. 여기서 보는 포인트는 네 가지입니다. TextToSpeechClient로 요청을 만들고, SynthesisInput에 읽을 문장을 넣고, VoiceSelectionParams에서 ko-KR과 voice 이름을 맞추고, AudioConfig에서 MP3를 지정하는 흐름입니다. 이 네 덩어리가 맞아떨어지면 output.mp3가 생성됩니다.

파일이 만들어졌는데 목소리가 기대와 다르면 그다음부터는 voice 이름만 바꿔 비교하면 됩니다. 반대로 파일이 생기지 않으면 코드 문법보다 인증, 기본 프로젝트, billing 연결을 먼저 다시 보는 편이 낫습니다. 처음 단계에서 시간을 가장 많이 잡아먹는 건 코드 길이가 아니라 연결 순서입니다.

Step 4: 한국어 voice와 SSML은 짧게 조정하기

ssml = '<speak>안녕하세요.<break time="500ms"/>오늘 마감은 오후 6시입니다.<break time="300ms"/><say-as interpret-as="characters">AI</say-as> 음성 테스트입니다.</speak>'

한국어 voice 선택지는 생각보다 넓습니다. 시작할 때는 ko-KR-Standard-A처럼 가벼운 티어를 보고, 조금 더 자연스러운 톤이 필요하면 ko-KR-Neural2-C로 올리면 됩니다. 더 높은 구간을 살펴볼 때는 ko-KR-Chirp3-HD-* 계열도 후보에 들어갑니다. 짧은 안내 음성, 내부 자동화, 간단한 알림처럼 길지 않은 작업이라면 Standard나 Neural2만으로도 충분한 경우가 많습니다.

SSML은 발음 자체보다 리듬과 읽기 방식을 다듬을 때 유용합니다. 위 예시처럼 500ms 멈춤을 넣거나, AI 같은 영문 철자를 글자 단위로 읽게 만들 수 있습니다. 긴 원고를 한 번에 넣기보다 한 문장씩 먼저 맞추는 편이 안전합니다. 따옴표 하나, 닫는 태그 하나만 어긋나도 요청 전체가 실패할 수 있어서 초반에는 짧은 예문으로 문법을 확인하는 흐름이 편합니다.

Step 5: 비용은 음색 비교 전에 감 잡기

ko-KR-Standard-A
ko-KR-Neural2-C
ko-KR-Chirp3-HD-Zephyr

여기서부터는 목소리 취향만 보면 안 됩니다. 2026년 5월 기준 가격 흐름을 보면 Standard와 WaveNet은 월 400만 문자까지 무료 구간이 있고, Neural2는 월 100만 문자, Chirp 3 HD도 월 100만 문자 구간 뒤에 과금이 붙습니다. Gemini TTS 계열은 문자 기준이 아니라 텍스트 토큰과 오디오 토큰 기준이라 계산 방식도 다릅니다. 블로그 내레이션, 안내 방송, 고객 응답처럼 분량이 계속 늘어나는 작업이라면 어떤 티어를 계속 쓸지 초반에 잡아두는 편이 예산 관리에 도움이 됩니다.

짧은 테스트 몇 번에서는 차이가 작아 보여도, 5분 분량 원고를 매일 돌리기 시작하면 월간 비용 구조가 달라집니다. 그래서 첫 MP3를 만든 직후에는 최고급 음색을 찾기보다 사용 길이와 예산에 맞는 구간을 고르는 일이 먼저입니다. 이 순서를 반대로 잡으면 나중에 음성 세팅을 다시 바꾸게 됩니다.

자주 멈추는 포인트는 네 군데다

billing이 빠진 상태, gcloud auth application-default login을 건너뛴 상태, 한국어 voice 이름 오타, SSML 태그 문법 오류. 초반 문제는 대체로 이 네 가지 안에서 정리됩니다. 한국어 설정에서는 ko-KR와 voice name을 같이 맞추는 것이 중요하고, SSML에서는 따옴표와 닫는 태그를 특히 조심해야 합니다.

Google Cloud TTS는 복잡한 서비스라기보다 준비 순서를 틀리면 시간이 늘어나는 서비스에 가깝습니다. 프로젝트와 인증을 먼저 맞추고, Python으로 MP3 한 개를 만든 뒤, 그다음에 voice와 SSML을 조정하는 흐름으로 가면 첫 구간이 훨씬 매끈합니다. 한국어 TTS를 처음 붙이는 사람이라면 이 순서만 기억해도 시행착오를 크게 줄일 수 있습니다.

관련 검색어

  • 🔍 Google Cloud Text-to-Speech 사용법
  • 🔍 Google Cloud Text-to-Speech 비교
  • 🔍 Google Cloud TTS 사용법
  • 🔍 Google Cloud TTS 비교
  • 🔍 한국어 TTS 사용법
  • 🔍 한국어 TTS 비교

댓글 쓰기

다음 이전