이 튜토리얼에서는 Google Cloud의 Text-to-Speech API를 설정하고 사용하는 과정을 안내해 드리며, 예제와 코드 스니펫을 포함해 설명드리겠습니다..
Google의 Text-to-Speech API 소개
소프트웨어 엔지니어로서 다양한 API를 애플리케이션에 통합하여 기능을 강화해야 할 때가 있습니다. Google Cloud의 Text-to-Speech API는 텍스트를 자연스러운 음성으로 변환하는 강력한 도구입니다.
Google TTS API의 가장 일반적인 사용 사례는 다음과 같습니다:
- 접근성: TTS 기술의 주요 응용 분야 중 하나는 시각 장애인이나 독해 어려움을 가진 사람들에게 접근성을 개선하는 것입니다. 텍스트를 음성으로 변환함으로써 API는 사용자가 오디오를 통해 디지털 콘텐츠에 접근하고, 웹사이트를 탐색하고, 기사를 읽고, 온라인 서비스와 상호 작용하는 데 도움을 줍니다.
- 가상 어시스턴트: TTS API는 가상 어시스턴트와 챗봇을 구동하는 데 자주 사용되어 사용자와 더 인간다움 있는 방식으로 소통할 수 있게 해줍니다. 이는 사용자 경험을 향상시키고 개발자가 더 매력적이고 상호 작용적인 애플리케이션을 만들 수 있게 해줍니다.
- E-Learning: In the education sector, the Google TTS API can be utilized to create audio versions of textbooks, articles, and other learning materials. This enables students to consume educational content while on the go, multitasking, or simply preferring to listen rather than read.
- 오디오북: Google TTS API는 글로 된 콘텐츠를 오디오북으로 변환하는 데 사용될 수 있어 독자들이 책, 기사 및 기타 글로 된 자료를 즐길 수 있는 대체 방법을 제공합니다. 이는 수동 낭독에 비해 시간과 자원을 절약하면서 빠른 콘텐츠 생성 및 배포를 가능하게 합니다.
- 언어 학습: API는 다양한 언어를 지원하므로 언어 학습 애플리케이션에 유용한 도구입니다. 정확하고 자연스러운 음성을 생성함으로써 TTS API는 사용자가 듣기 능력, 발음 및 전반적인 언어 이해력을 향상시킬 수 있습니다.
- 콘텐츠 마케팅: 기업은 TTS API를 활용하여 블로그 게시물, 기사 및 기타 마케팅 자료의 오디오 버전을 만들 수 있습니다. 이를 통해 독서보다는 청취를 선호하는 더 넓은 고객층에게 도달할 수 있습니다.
- 통신: TTS API는 인터랙티브 음성 응답(IVR) 시스템과 통합될 수 있으며, 기업이 고객 서비스 전화를 자동화하고, 전화 거래자에게 정보를 제공하며, 적절한 부서로 연결할 수 있습니다. 이를 통해 회사는 시간과 자원을 절약하면서 고객 만족을 유지할 수 있습니다.
Google의 텍스트-음성 변환 API 사용
사전 준비
시작하기 전에 다음을 확인하세요.
- A Google Cloud Platform (GCP) account. If you don’t have one, sign up for a free trial here.
- 파이썬 프로그래밍의 기본 지식.
- A text editor or integrated development environment of your choice.
1단계: 텍스트-음성 변환 API 활성화
- 로그인한 후 GCP 계정으로 이동하여 GCP 콘솔에 접속하세요.
- 프로젝트 드롭다운을 클릭하고 새 프로젝트를 생성하거나 기존 프로젝트를 선택하세요.
- 왼쪽 사이드바에서 APIs & Services를 클릭한 후 Library로 이동하세요.
- Text-to-Speech API를 검색하고 결과를 클릭하세요.
- Enable을 클릭하여 프로젝트에 API를 활성화하세요.
2단계: API 자격 증명 생성
- 왼쪽 사이드바에서 APIs & Services를 클릭한 후 Credentials로 이동하세요.
- Create credentials를 클릭하고 Service account를 선택하세요.
- 필수 정보를 입력한 후 Create를 클릭하세요.
- 이 서비스 계정에 프로젝트 액세스 권한 부여 페이지에서 Cloud Text-to-Speech API User 역할을 선택하고 Continue를 클릭하세요.
- Done을 클릭하여 서비스 계정을 생성하세요.
- Service Accounts 목록에서 새로 생성된 서비스 계정을 클릭하세요.
- 키 아래에서 키 추가를 클릭하고 JSON을 선택합니다.
- JSON 키 파일을 다운로드하여 안전한 곳에 보관하세요. 민감한 정보가 포함되어 있습니다.
3단계: 파이썬 환경 설정
-
Google Cloud SDK를 여기의 지침에 따라 설치하세요.
-
파이썬용 Google Cloud Text-to-Speech 라이브러리를 설치하세요:
pip install --upgrade google-cloud-texttospeech
-
GOOGLE_APPLICATION_CREDENTIALS
환경 변수를 이전에 다운로드한 JSON 키 파일의 경로로 설정하세요:export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/keyfile.json"
(
/path/to/your/keyfile.json
을 실제 JSON 키 파일의 경로로 교체하세요.)
4단계: 파이썬 스크립트 생성
새로운 Python 스크립트를 생성하세요(예: text_to_speech.py
) 그리고 다음 코드를 추가하세요:
from google.cloud import texttospeech
def synthesize_speech(text, output_filename):
# Text-to-Speech 클라이언트 생성
client = texttospeech.TextToSpeechClient()
# 텍스트 입력 설정
input_text = texttospeech.SynthesisInput(text=text)
# 음성 설정 구성
voice = texttospeech.VoiceSelectionParams(
language_code="en-US",
ssml_gender=texttospeech.SsmlVoiceGender.FEMALE
)
# 오디오 구성 설정
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.MP3
)
# Text-to-Speech 요청 수행
response = client.synthesize_speech(
input=input_text, voice=voice, audio_config=audio_config
)
# 오디오를 파일로 저장
with open(outputwb") as out:
out.write(response.audio_content)
print(f"Audio content written to '{output_filename}'")
# Text-to-Speech 기능 테스트
synthesize_speech("Hello, world!", "output.mp3")
이 스크립트는 텍스트 문자열과 출력 파일 이름을 인수로 받는 synthesize_speech
함수를 정의합니다. 구글 클라우드 Text-to-Speech API를 사용하여 텍스트를 음성으로 변환하고, 결과 오디오를 MP3 파일로 저장합니다.
5단계: 스크립트 실행
명령 줄에서 Python 스크립트를 실행하세요:
python text_to_speech.py
이렇게 하면 입력 텍스트 “Hello, world!”의 음성 버전을 포함하는 output.mp3
파일이 생성됩니다.
6단계 (선택 사항): 음성 및 오디오 설정 사용자 정의
음성 및 오디오 설정을 사용자 지정하려면 synthesize_speech
함수에서 voice
및 audio_config
변수를 수정하면 됩니다. 예를 들어, 언어를 변경하려면 en-US
를 다른 언어 코드(예: 스페인어에 대해 es-ES
)로 교체하십시오. 성별을 변경하려면 texttospeech.SsmlVoiceGender.FEMALE
를 texttospeech.SsmlVoiceGender.MALE
로 교체하십시오. 자세한 옵션은 Text-to-Speech API 문서를 참조하세요.
구글의 텍스트-음성 변환 매개변수 조정
구글의 음성-텍스트 API는 개발자가 특정 사용 사례에 맞게 API의 동작을 미세 조정할 수 있는 다양한 구성 매개변수를 제공합니다. 가장 일반적인 구성 매개변수 중 일부와 그 사용 사례는 다음과 같습니다:
- 오디오 인코딩: API에 보내는 오디오 파일의 인코딩 형식을 지정합니다. 지원되는 인코딩 형식에는
FLAC
,LINEAR16
,MULAW
,AMR
,AMR_WB
,OGG_OPUS
,SPEEX_WITH_HEADER_BYTE
가 포함됩니다. 개발자는 입력 소스, 오디오 품질 및 대상 애플리케이션을 기반으로 적절한 인코딩 형식을 선택할 수 있습니다. - 오디오 샘플 레이트: 오디오 파일이 샘플링되는 속도를 지정합니다. 지원되는 샘플 레이트에는 8000, 16000, 22050, 44100Hz가 포함됩니다. 개발자는 입력 소스와 대상 애플리케이션의 요구 사항을 기반으로 적절한 샘플 레이트를 선택할 수 있습니다.
- 언어 코드: 입력된 음성의 언어를 지정합니다. 지원되는 언어에는 영어, 스페인어, 프랑스어, 독일어, 중국어 등과 같은 다양한 옵션이 포함되어 있습니다. 개발자는 이 매개변수를 사용하여 API가 적절한 언어로 입력 음성을 정확하게 전사하는 것을 보장할 수 있습니다.
- 모델: 개발자가 구글에서 제공하는 다양한 전사 모델 중에서 선택할 수 있게 해줍니다. 사용 가능한 모델에는 기본, 비디오,
전화_통화
, 그리고명령_및_검색
이 포함됩니다. 개발자는 입력 소스와 대상 애플리케이션의 요구 사항에 따라 적절한 모델을 선택할 수 있습니다. - 음성 컨텍스트: 개발자가 입력 음성에 있을 가능성이 높은 특정 단어나 구를 지정할 수 있게 해줍니다. 이를 통해 API에 입력 음성에 대한 컨텍스트를 제공하여 전사의 정확성을 높일 수 있습니다.
이러한 구성 매개변수는 다양한 방식으로 조합되어 특정 사용 사례에 가장 적합한 사용자 정의 구성을 만들 수 있습니다. 예를 들어, 개발자는 특정 전사 모델과 사용자 정의 음성 컨텍스트 목록을 사용하여 스페인어로 전화 통화를 전사하도록 API를 구성할 수 있습니다.
전반적으로 구글의 음성-텍스트 API는 음성을 텍스트로 전사하는 강력한 도구이며, 구성을 사용자 정의할 수 있는 기능으로 인해 더욱 다재다능해졌습니다. 적절한 구성 매개변수를 신중하게 선택함으로써 개발자는 다양한 사용 사례에 대해 API의 성과와 정확성을 최적화할 수 있습니다.
결론
이 튜토리얼에서는 Google Cloud의 Text-to-Speech API로 시작하는 방법을 보여드렸습니다. GCP 계정 설정, API 자격 증명 생성, 필요한 라이브러리 설치 및 텍스트 또는 SSML을 음성으로 변환하는 Python 스크립트 작성을 포함합니다. 이제 이 기능을 애플리케이션에 통합하여 사용자 경험을 향상시키거나, 오디오 콘텐츠를 생성하거나, 접근성 기능을 지원할 수 있습니다.
Google Cloud의 Text-to-Speech API에 대한 자주 묻는 질문 (FAQs)
Google Cloud의 Text-to-Speech API의 주요 기능은 무엇인가요?
Google Cloud의 Text-to-Speech API는 텍스트를 자연스러운 음성으로 변환하는 강력한 도구입니다. 40개 이상의 언어와 변형에 걸친 200개 이상의 음성을 제공하며, 언어 지원 측면에서 많은 유연성을 제공합니다. 또한 매우 현실적인 음성을 위해 신경망 기반 음성을 선택할 수 있습니다. API는 SSML 태그를 지원하므로 일시 중지, 숫자, 날짜 및 시간 형식 및 기타 발음 지침을 추가할 수 있습니다. 또한 음조, 말하기 속도 및 볼륨 증폭 제어를 포함하여 높은 수준의 맞춤화를 제공합니다.
Google Cloud의 Text-to-Speech API로 시작하려면 어떻게 해야 하나요?
Google Cloud의 Text-to-Speech API로 시작하려면 먼저 Google Cloud 프로젝트를 설정하고 해당 프로젝트에 대해 Text-to-Speech API를 활성화해야 합니다. 그런 다음 프로젝트를 인증하고 API 요청을 시작할 수 있습니다. API는 텍스트를 음성으로 변환하기 위한 간단한 구문을 사용하며 음성 출력의 음성과 형식을 맞춤화할 수 있습니다.
Google Cloud의 Text-to-Speech API는 무료로 사용할 수 있나요?
구글 클라우드의 텍스트-투-음성 API는 완전히 무료가 아닙니다. 이 서비스는 음성으로 변환하는 문자 수를 기반으로 하는 가격 모델을 가지고 있습니다. 하지만 구글은 매월 일정 수의 문자를 무료로 변환할 수 있는 API의 무료 티어를 제공합니다.
내 애플리케이션에 구글 클라우드의 텍스트-투-음성 API를 어떻게 통합할 수 있나요?
HTTP POST 요청을 통해 구글 클라우드의 텍스트-투-음성 API를 애플리케이션에 통합할 수 있습니다. 변환하고자 하는 텍스트와 원하는 맞춤 옵션을 요청에 포함시켜야 합니다. API는 그 후 오디오 데이터 응답을 반환하며, 이를 재생하거나 오디오 파일로 저장할 수 있습니다.
구글 클라우드의 텍스트-투-음성 API를 상업적 목적으로 사용할 수 있나요?
네, 구글 클라우드의 텍스트-투-음성 API를 상업적 목적으로 사용할 수 있습니다. 하지만 API 사용은 구글의 서비스 약관에 따르며, 무료 티어 한도를 초과하는 경우 요금을 지불해야 할 수도 있습니다.
구글 클라우드의 텍스트-투-음성 API는 어떤 언어를 지원하나요?
구글 클라우드의 텍스트-투-음성 API는 영어, 스페인어, 프랑스어, 독일어, 이탈리아어, 네덜란드어, 러시아어, 중국어, 일본어, 한국어를 포함한 40개 이상의 언어 및 변형을 지원합니다. 이는 다언어를 지원해야 하는 애플리케이션에 유용한 도구입니다.
구글 클라우드의 텍스트-투-음성 API에서 음성을 어떻게 맞춤화할 수 있나요?
Google Cloud의 Text-to-Speech API에서 음성을 사용자 정의할 수 있습니다. API 요청에서 음성 이름, 언어 코드 및 SSML 성별을 지정할 수 있으며, 음성의 음조, 말하기 속도 및 볼륨 증가도 조절할 수 있습니다.
Google Cloud의 Text-to-Speech API를 오프라인으로 사용할 수 있나요?
아니요, Google Cloud의 Text-to-Speech API는 클라우드 기반 서비스로, 인터넷 연결이 필요합니다. API에 HTTP 요청을 보내고, API는 인터넷을 통해 오디오 데이터를 반환합니다.
Google Cloud의 Text-to-Speech API로 생성된 음성의 오디오 품질은 어떻습니까?
Google Cloud의 Text-to-Speech API로 생성된 음성의 오디오 품질은 매우 높습니다. 고급 신경망을 사용하여 인간 음성과 거의 구분할 수 없는 자연스러운 음성을 생성합니다.
Google Cloud의 Text-to-Speech API를 사용하여 오디오북을 만들 수 있나요?
예, Google Cloud의 Text-to-Speech API를 사용하여 오디오북을 만들 수 있습니다. 많은 양의 텍스트를 고품질의 음성으로 변환하고, 책 내용에 맞게 음성을 사용자 정의할 수 있습니다. 그러나 API로 오디오북을 만들 때 많은 양의 데이터를 처리해야 하며, 무료 할당량을 초과할 경우 비용이 발생할 수 있음에 유의하세요.
Source:
https://www.sitepoint.com/started-with-google-clouds-text-to-speech-api/