Files
sam-kd/voice/GOOGLE_SPEECH_API_PLAN.md

89 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

# 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. 통합 테스트