Files
sam-kd/voice/GOOGLE_SPEECH_API_PLAN.md

2.6 KiB

Google Cloud Speech-to-Text API 전환 계획

목표

Web Speech API의 모바일 제한을 해결하고, Google Cloud Speech-to-Text API로 전환하여 모바일과 웹에서 모두 안정적으로 작동하도록 개선

현재 문제점

  1. 모바일 Chrome에서 Web Speech API의 onresult 이벤트가 발생하지 않음
  2. 웹 버전에서 텍스트 중복 문제 발생 (수정 완료)

해결 방안

1. Google Cloud Speech-to-Text API 사용

  • 장점:

    • 모바일과 웹에서 모두 안정적으로 작동
    • 더 높은 정확도
    • 실시간 스트리밍 지원
    • 한국어 지원 우수
  • 단점:

    • 서버 측 구현 필요
    • Google Cloud API 키 필요
    • API 사용량에 따른 비용 발생 (무료 할당량 있음)

2. 구현 계획

2.1 서버 측 (PHP)

  • api/speech_to_text.php 생성
  • Google Cloud Speech-to-Text API 연동
  • 오디오 파일 수신 및 변환
  • JSON 응답 반환

2.2 클라이언트 측 (JavaScript)

  • MediaRecorder API로 오디오 녹음
  • 실시간 스트리밍 또는 청크 단위 전송
  • 서버 응답 받아서 텍스트 표시
  • 기존 UI/UX 유지

3. 구현 단계

Phase 1: 서버 측 API 구현

  1. Google Cloud Speech-to-Text API 설정
  2. PHP API 엔드포인트 생성
  3. 오디오 파일 수신 및 변환 로직

Phase 2: 클라이언트 측 구현

  1. MediaRecorder API로 오디오 녹음
  2. 실시간 또는 청크 단위 전송
  3. 서버 응답 처리 및 텍스트 표시

Phase 3: 통합 및 테스트

  1. 모바일/웹 호환성 테스트
  2. 에러 처리 강화
  3. 사용자 경험 개선

4. 필요한 설정

Google Cloud 설정

  1. Google Cloud 프로젝트 생성
  2. Speech-to-Text API 활성화
  3. 서비스 계정 키 생성
  4. PHP에서 사용할 수 있도록 설정

서버 설정

  1. PHP cURL 확장 확인
  2. Google Cloud PHP 클라이언트 라이브러리 설치 (선택사항)
  3. API 키 또는 서비스 계정 키 파일 위치 설정

5. API 사용 방법

실시간 스트리밍 (권장)

  • WebSocket 또는 Server-Sent Events 사용
  • 실시간으로 오디오 전송 및 텍스트 수신

청크 단위 전송

  • 일정 간격으로 오디오 청크 전송
  • 각 청크에 대한 텍스트 수신 및 누적

6. 비용 고려사항

  • Google Cloud Speech-to-Text 무료 할당량: 월 60분
  • 이후 사용량에 따른 과금
  • 대안: 무료 할당량 내에서 사용하거나 유료 플랜 고려

다음 단계

  1. Google Cloud 프로젝트 설정 확인
  2. 서버 측 API 엔드포인트 구현
  3. 클라이언트 측 오디오 녹음 및 전송 로직 구현
  4. 통합 테스트