작년말에 Neospeech 에서 TTS 엔진을 구매했다. 한국어 Voice 인 유미, 준우 이렇게 2개를 구매했고 Voice 당 USD $138 를 줬다. Windows 전용이라 (리눅스 + API 버전은 가격이 정해져있지 않고, 마케팅 담당자를 계속 괴롭혀봤으나 혼자 쓸꺼라니까 안판다고 하고, 얼마면 되냐고 USD $1,000 까지 제시해봤으나 모호한 답만 나오는걸로 보아 욕심쟁이인듯해서 안쓰기로 함) Windows OS 라이센스가 필요하다. 중고로 구매해도 $50 정도 필요하다.
그런데 응용프로그램이 GUI 형태로 제공된다. GUI 응용프로그램으로 API 를 만들어야하므로 UI Automation 을 위해 USD $39.95 를 주고 Macro Express 를 구매했다.
그래서 한글 텍스트를 mp3 파일로 변환하려면
- 서버가 text 를 받음
- 해당 텍스트를 VMware 속의 Windows 소켓 서버로 보냄
- 소켓 서버는 해당 텍스트를 클립보드에 넣고
- Macro Express로 작성된 매크로를 실행함 (GUI 찾고, Focus 잡고, 클립보드 붙이고, 저장 버튼 눌러서 wav 로 떨구고)
- 떨궈진 wav 파일을 VMware 밖으로 리턴하여 재생
- 필요하다면 ffmpeg 으로 mp3 변환후 스마트폰으로 전송하여 재생
위의 과정을 거친다. 라이센스 비용만 $138 + $50 + $39.95 = $227.95 고, 각 브리징 코드들을 작성하는 인건비를 계산해보자. 내 연봉이 4천만원이라 치고 위에 열거된 브리징 프로세스를 생각하고 작성하는데 4시간 이상이 걸렸으니(Macro Express 공부가 컸음) 인건비로 8만원이 들어간거다. 그러면 인건비 $100 라 치고 총 개발비 USD $327.95 . 여기에 물리적 장비 비용은 포함되지 않았다. 똥컴이여도 되지만 아무튼 필요하다.
==========
안드로이드 TTS Engine 인 SVOX Korean 을 구매한다. Voice 당 1.99 파운드다. 대략 USD $3.
- 서버가 text 를 받음
- 해당 텍스트를 C2DM payload 로 보냄
- C2DM BroadcastReceiver 에서 TextToSpeech.speak 으로 재생
- 필요하다면 TextToSpeech.synthesizeToFile 로 떨궈서 외부로 리턴
라이센스 비용은 총 USD $3. 위 과정의 브리징 코드 작성에는 30분도 안걸리므로 인건비는 1만원. 총 개발비 USD $12. 안드로이드 사용자는 추가 물리적 장비가 필요없지만, 구지 따로 돌리고 싶다면 삼성 갤럭시 미니 정도가 좋다. 내가 자주 가는 마트에서 99 파운드 (대략 18만원, USD $150 정도).
==========
Neospeech 의 Yumi 보다 SVOX 의 Sora 의 음성 퀄리티가 떨어지긴 한다. Voice DB 파일 크기가 Yumi 의 경우 63MB, Sora 는 18MB 인데 딱 그만큼의 퀄리티 차이가 나는 느낌.