텍스트 음성 변환 · 음성 텍스트 변환
텍스트 음성 변환(TTS)과 음성 텍스트 변환(STT) 은 타입에 따라 두 갈래로 나뉩니다.
- On Device: 컨트롤러에 내장된 신경망 모델로 변환합니다. 인터넷 연결과 API 키가 필요하지 않으며, 응답이 빠르고 음성 데이터가 기기 밖으로 나가지 않습니다. 언어를 선택하면 그 언어의 모델 목록이 표시되며, 선택한 모델은 처음 실행할 때 자동으로 내려받습니다.
- Google Cloud · OpenAI · ElevenLabs: 온라인 서비스로 변환합니다. API 키가 필요하며, 키는 Grablo 서버가 아닌 컨트롤러에 암호화되어 저장됩니다. TTS 는 네 가지 타입을, STT 는 On Device, Google Cloud, OpenAI 세 가지를 지원합니다. Google Cloud 는 다양한 언어와 목소리를, ElevenLabs 는 감정 표현이 풍부한 목소리를 제공하며, OpenAI STT 는 Whisper 모델을 사용합니다. API 키 발급 방법은 부록을 참고합니다.
On Device 의 언어는 TTS 가 영어(기본값), 한국어, 중국어, 독일어, 프랑스어, 스페인어, 포르투갈어, 힌디어, 아랍어, 러시아어 10개, STT 가 영어(기본값), 한국어, 중국어, 일본어, 독일어, 스페인어, 포르투갈어, 러시아어 8개입니다. 모델은 화면에 표시되는 원본 이름 그대로 선택하며, 언어별 목록과 기본값은 다음과 같습니다.
On Device TTS 모델 목록
| 언어 | 모델(굵은 글씨가 기본값) |
|---|---|
| 영어 | vits-piper-en_US-lessac-low, vits-piper-en_US-lessac-medium, vits-piper-en_US-lessac-high, vits-piper-en_US-ryan-low, vits-piper-en_US-ryan-medium, vits-piper-en_US-ryan-high, kitten-nano-en-v0_2-fp16, vits-melo-tts-zh_en |
| 한국어 | vits-mimic3-ko_KO-kss_low |
| 중국어 | sherpa-onnx-vits-zh-ll, vits-piper-zh_CN-huayan-medium, vits-melo-tts-zh_en |
| 독일어 | vits-piper-de_DE-thorsten-low, vits-piper-de_DE-thorsten-medium, vits-piper-de_DE-thorsten-high, vits-piper-de_DE-kerstin-low |
| 프랑스어 | vits-piper-fr_FR-siwis-low, vits-piper-fr_FR-siwis-medium, vits-piper-fr_FR-tom-medium, vits-piper-fr_FR-gilles-low |
| 스페인어 | vits-piper-es_ES-davefx-medium, vits-piper-es_MX-claude-high |
| 포르투갈어 | vits-piper-pt_BR-faber-medium, vits-piper-pt_BR-edresson-low |
| 힌디어 | vits-piper-hi_IN-pratham-medium, vits-piper-hi_IN-priyamvada-medium |
| 아랍어 | vits-piper-ar_JO-kareem-low, vits-piper-ar_JO-kareem-medium |
| 러시아어 | vits-piper-ru_RU-denis-medium, vits-piper-ru_RU-irina-medium |
On Device STT 모델 목록
| 언어 | 모델(굵은 글씨가 기본값) |
|---|---|
| 영어 | sherpa-onnx-whisper-tiny, sherpa-onnx-whisper-base, sherpa-onnx-whisper-small, sherpa-onnx-whisper-medium, sherpa-onnx-nemo-ctc-en-conformer-small, sherpa-onnx-nemo-ctc-en-citrinet-512, sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17 |
| 한국어 | sherpa-onnx-zipformer-korean-2024-06-24, sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17 |
| 중국어 | sherpa-onnx-paraformer-zh-int8-2025-10-07, sherpa-onnx-paraformer-zh-small-2024-03-09, sherpa-onnx-zipformer-ctc-small-zh-int8-2025-07-16, sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17 |
| 일본어 | sherpa-onnx-zipformer-ja-en-reazonspeech-2025-01-17, sherpa-onnx-zipformer-ja-reazonspeech-2024-08-01, sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17 |
| 독일어 | sherpa-onnx-whisper-tiny, sherpa-onnx-whisper-base, sherpa-onnx-whisper-small, sherpa-onnx-whisper-medium, sherpa-onnx-nemo-stt_de_fastconformer_hybrid_large_pc-int8 |
| 스페인어 | sherpa-onnx-whisper-tiny, sherpa-onnx-whisper-base, sherpa-onnx-whisper-small, sherpa-onnx-whisper-medium, sherpa-onnx-nemo-fast-conformer-ctc-es-1424-int8 |
| 포르투갈어 | sherpa-onnx-whisper-tiny, sherpa-onnx-whisper-base, sherpa-onnx-whisper-small, sherpa-onnx-whisper-medium, sherpa-onnx-nemo-stt_pt_fastconformer_hybrid_large_pc-int8 |
| 러시아어 | sherpa-onnx-whisper-tiny, sherpa-onnx-whisper-base, sherpa-onnx-whisper-small, sherpa-onnx-whisper-medium, sherpa-onnx-zipformer-ru-int8-2025-04-20, sherpa-onnx-small-zipformer-ru-2024-09-18 |
모델 목록에서 CUSTOM 을 선택하면 직접 준비한 모델 폴더의 경로를 모델 폴더에 입력할 수 있습니다. 이때 내려받은 폴더의 이름을 바꾸면 모델을 인식하지 못하므로 원래 이름을 그대로 유지합니다. 모델은 sherpa-onnx 배포 페이지 (TTS, STT)에서 내려받으며, 모델별 설명은 sherpa-onnx 문서 (TTS, STT)를 참고합니다. STT 에서 CUSTOM 을 선택하면 언어 입력 항목이 함께 표시되며(기본값 en), 언어 표기 형식은 모델마다 다르므로 각 모델의 문서를 따릅니다.
Google Cloud 타입은 언어를 한국어, 영어(미국)(기본값), 영어(영국), 일본어, 중국어, 독일어, 프랑스어, 이탈리아어, 스페인어 중에서 선택합니다. OpenAI TTS 는 모델을 tts-1(기본값, 속도에 최적화되어 실시간 응답에 적합)과 tts-1-hd(음질에 최적화되어 더 자연스럽고 감정 표현이 풍부하지만 비교적 느림) 중에서 선택합니다.
음성 텍스트 변환의 입력 소스는 마이크 (입력)(기본값) 또는 스피커 (출력)입니다. 스피커를 선택하면 미디어 재생이나 음성 안내처럼 기기에서 재생되는 소리를 텍스트로 변환합니다.
음성 텍스트 변환에는 말의 시작과 끝을 판정하는 두 항목이 있습니다. 음성 감지 임계값은 5~90% 범위(기본값 30%)로, 낮추면 작은 소리까지 감지하지만 배경 소음도 함께 인식합니다(조용한 환경 20~40%, 일반 환경 30~50%, 시끄러운 환경 50~70% 권장). 음성 완료 시간은 말이 끝났다고 판단할 침묵 시간이며 0.3~5초 범위(기본값 1초)입니다(빠른 대화 0.5초, 일반 대화 1초, 신중한 발언 2초 권장).