웹브라우저에서 하는 작업은 다음과 같다.
1) OpenVoice v2로 음색 입히기
2) 단어별 싱크 정보 추출
3) lib-sync-engine으로 입모양 추출
이를 위해선 WAV 형식으로 입력을 받아야 한다. 그래서 WebSpeech API는 제외한다.
WebSpeech API를 쓰는 경우는 최후의 경우이다.
이때 윈도우와 아이폰에서는 단어 싱크 정보가 넘어오지만 안드로이드에선 추측된 정보로 출력한다.
WAV 형식으로 TTS 데이터를 가져오는 방법
1) WebGPU로 직접 생성
- 한글은 supertonic 3, 그외 언어는 kokoro를 사용한다.
- 이는 데스크탑 또는 플래그쉽 폰에 한정한다. (미리 테스트를 해서 사용가능여부 판단)
2) 기기 내장 TTS를 코르도바로 연동
- 안드로이드/아이폰에서 앱 형태로 설치했을 경우만 가능하다
3) edge-tts로 인터넷을 통해서 가져온다
기본적으로 위에서부터 아래대로 시도한다.
1) 2) 3) 모두 실패하는 경우 WebSpeech API를 사용한다.