구글 클라우드 플랫폼에서는 STT및 TSS 관련 API를 지원합니다.
해당 API를 파이썬에서 사용하기 위해 구글 클라우드 콘솔을 설치하는 방법을 알아보겠습니다.
우선 https://console.cloud.google.com/로 이동합니다.
처음 접속하면 보이는 화면인데요, <Tri it free>를 눌러 시작합니다.
구글 클라우드 콘솔은 기본적으로 유료 서비스입니다. API를 사용하기 위해선 정기 결제가 필요한데요, 처음 시작하는 사용자라면 무료 평가판 이용(90일)이 가능하고, 결제정보를 입력하더라도 무료 기간이 종료된 후 자동 결제되지 않으니 우선 등록하시는 것이 좋겠습니다.
가입을 완료하면 <API 및 서비스 - 라이브러리>로 이동합니다.
수많은 API가 보입니다. 이중에서 저는 STT 모델을 선택하겠습니다.
사용을 누르면 <사용설정된 API및 서비스>에 담겨집니다. <사용자 인증 정보 만들기>로 갑니다.
데이터 유형에 따라 선택해줍니다.
쉽게 말해 <사용자 데이터>를 선택하면 외부 사용자에게 동의를 받아 취득하는 데이터이며, <애플리케이션 데이터>는 본인이 이미 취득한 데이터를 의미합니다.
서비스 정보에 대한 옵션을 마저 입력하면 사용자 정보 입력이 완료됩니다.
이후 <사용자 인증 정보>로 이동하면 해당 서비스 계정이 조회가 됩니다.
오른쪽 하단의 작업(펜 모양)버튼을 눌러 <서비스 계정 수정>으로 이동 후 키를 받아보겠습니다.
<키 추가 - 새 키 만들기 - JSON>을 선택하면 곧바로 키 파일이 다운로드 됩니다.
이후 파이썬 프로젝트에서 다음과 같이 설정해줍니다.
- Google Cloud Speech API를 사용하기 위한 라이브러리 설치
pip install google-cloud-speech
- 오디오 파일에서 문자열로 변환. 이때, 오디오 파일은 WAV 혹은 FLAC이어야 합니다.
import io
from google.cloud import speech_v1p1beta1 as speech
def transcribe_audio(audio_file_path, language_code="ko-KR"):
client = speech.SpeechClient()
with io.open(audio_file_path, "rb") as audio_file:
content = audio_file.read()
audio = speech.RecognitionAudio(content=content)
config = speech.RecognitionConfig(
encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
language_code=language_code,
)
response = client.recognize(config=config, audio=audio)
transcript = ""
for result in response.results:
transcript += result.alternatives[0].transcript
return transcript
audio_file_path : 변환할 오디오 파일 경로
language_code : 오디오 파일의 언어 코드. 기본값은 한국어(ko-KR).
- 코드 실행
transcript = transcribe_audio("your_audio_file.wav")
print(transcript)
your_audio_file : 변환하려는 오디오파일의 경로
도움이 됐으면 좋겠습니다.
감사합니다.