89 lines
2.6 KiB
Markdown
89 lines
2.6 KiB
Markdown
|
|
# 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. 통합 테스트
|
||
|
|
|