본문 바로가기

AI

[ AI / Google ] Speech-to-Text API 사용법

반응형

Google Speech-to-Text API는 Google Cloud Platform에서 제공하는 서비스로, 음성 데이터를 텍스트로 변환하는 기능을 제공합니다. 이 API는 강력한 음성 인식 기술을 활용하여 다양한 언어와 방언을 지원하며, 실시간 음성 인식과 녹음된 음성 파일의 변환을 모두 지원합니다.

1. Google Speech-to-Text API의 주요 특징

  1. 다양한 언어 지원: 125개 이상의 언어 및 방언을 지원하여 글로벌 사용자에게 적합합니다.
  2. 실시간 스트리밍: 실시간 음성 스트리밍을 처리하여 실시간 음성 인식을 수행할 수 있습니다.
  3. 비동기 음성 변환: 길거나 사전 녹음된 음성 파일의 변환을 비동기로 처리하여 효율적인 작업이 가능합니다.
  4. 자동 구두점 추가: 텍스트 변환 시 자동으로 구두점을 추가하여 보다 자연스러운 텍스트 결과를 제공합니다.
  5. 멀티 채널 지원: 여러 음성 채널을 동시에 분석하여 각각의 음성 채널을 별도로 인식할 수 있습니다.
  6. 강화된 음성 모델: 다양한 환경에 맞춘 강화된 음성 인식 모델을 제공하여 정확도를 높일 수 있습니다.
  7. 맞춤형 사전: 특정 도메인이나 어휘를 위한 맞춤형 사전을 사용하여 인식 성능을 향상시킬 수 있습니다.
  8. 스피커 분할: 음성 데이터에서 여러 화자를 인식하여 텍스트로 변환된 내용에서 화자를 구분할 수 있습니다.

2. Google Speech-to-Text API 사용 사례

  • 음성 비서: 사용자의 음성 명령을 텍스트로 변환하여 디지털 어시스턴트가 작업을 수행할 수 있게 합니다.
  • 자동 자막 생성: 동영상 콘텐츠에 자동으로 자막을 추가하는 데 사용됩니다.
  • 콜센터 분석: 고객과의 대화 내용을 텍스트로 변환하여 분석 및 기록할 수 있습니다.
  • 회의 기록: 회의나 강의 내용을 텍스트로 변환하여 문서로 기록합니다.
  • 언어 학습: 학습자의 발음을 텍스트로 변환하여 발음 정확도를 평가하는 데 사용됩니다.

3. Google Speech-to-Text API 사용 방법

Google Speech-to-Text API를 사용하려면 Google Cloud Platform(GCP) 계정이 필요하며, API를 활성화하고 사용하려는 프로젝트에 대해 API 키를 생성해야 합니다.

1. Google Cloud 프로젝트 설정

  1. Google Cloud Console에 로그인합니다.
  2. 새 프로젝트를 생성하거나 기존 프로젝트를 선택합니다.
  3. API 및 서비스 -> API 및 서비스 사용 설정으로 이동합니다.
  4. Speech-to-Text API를 검색하여 활성화합니다.

2. API 인증 설정

  1. API 및 서비스 -> 사용자 인증 정보로 이동합니다.
  2. 사용자 인증 정보 만들기를 클릭하고, API 키를 선택합니다.
  3. 생성된 API 키를 저장합니다. 이 키는 API 호출 시 필요합니다.

3. API 호출

Google Speech-to-Text API는 REST API와 gRPC API 두 가지 방법으로 사용할 수 있습니다. 여기서는 REST API를 사용하여 음성을 텍스트로 변환하는 간단한 예를 보여줍니다.

a. REST API 예제 (음성 파일 변환)
  1. Python 예제 코드:
import os
from google.cloud import speech

# Google Cloud Speech-to-Text API 사용을 위한 클라이언트 객체 생성
client = speech.SpeechClient()

# 음성 파일 읽기
with open('audio.wav', 'rb') as audio_file:
    content = audio_file.read()

# 음성 파일에 대한 오디오 객체 생성
audio = speech.RecognitionAudio(content=content)

# 음성 인식 설정
config = speech.RecognitionConfig(
    encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code="en-US"
)

# 음성을 텍스트로 변환하는 요청
response = client.recognize(config=config, audio=audio)

# 인식된 텍스트 출력
for result in response.results:
    print("Transcript: {}".format(result.alternatives[0].transcript))

설명:

  • google.cloud.speech 라이브러리를 사용하여 Google Speech-to-Text 클라이언트를 생성합니다.
  • 오디오 파일을 읽어 API에 전송하고, 인식된 텍스트를 출력합니다.
  • Python 환경에서는 google-cloud-speech 라이브러리를 설치해야 합니다: pip install google-cloud-speech.
  1. cURL 예제 코드:
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data "{
    'config': {
      'encoding': 'LINEAR16',
      'sampleRateHertz': 16000,
      'languageCode': 'en-US'
    },
    'audio': {
      'uri': 'gs://cloud-samples-data/speech/brooklyn_bridge.raw'
    }
  }" \
  "https://speech.googleapis.com/v1/speech:recognize"

설명:

  • cURL 명령어를 사용하여 Google Speech-to-Text API를 호출합니다.
  • --data 부분에 JSON 형식으로 오디오 파일의 위치와 인식 설정을 포함합니다.
  • gcloud auth print-access-token 명령어는 GCP 인증 토큰을 생성합니다.

4. 사용 요금

Google Speech-to-Text API는 사용량에 따라 비용이 부과됩니다. 자세한 요금은 Google Cloud Speech-to-Text 가격 페이지를 참조하십시오.

  • 무료 할당량: 매월 일정량의 무료 사용이 제공됩니다.
  • 유료 사용: 무료 할당량을 초과하는 사용에 대해서는 요금이 부과됩니다. 요금은 음성 데이터의 분 단위로 계산됩니다.

5. 결론

Google Speech-to-Text API는 다양한 애플리케이션에서 음성을 텍스트로 변환하는 강력한 도구입니다. 이는 음성 인식 기능을 쉽게 통합할 수 있도록 하여 개발자들이 음성 기반의 애플리케이션을 빠르게 개발할 수 있게 해줍니다. 이 API를 사용하여 음성 데이터를 분석하고, 다양한 언어와 환경에서 정확한 음성 인식을 구현할 수 있습니다.

반응형