꿈이 이루어졌습니다: 고전 산스크리트어, 영어 및 10개 인도 언어를 위한 48개의 인브라우저 24 kHz TTS 음성 (21.7 MB 모바일
요약
고전 산스크리트어를 포함한 12개 인도 언어용 인브라우저 TTS 모델 'Ninada'를 오픈 소스했습니다. 이 모델은 모바일 환경에 최적화되어, 디바이스별로 경량화된 iSTFTNet을 사용하며 WebGPU 기반으로 작동합니다. 이를 통해 고품질의 오디오 스트리밍과 오프라인 기능을 구현하여 접근성을 높였습니다.
핵심 포인트
- 12개 인도 언어 및 고전 산스크리트어를 지원하는 TTS 모델 오픈 소스.
- 모바일 환경에 최적화된 경량 iSTFTNet (21.7 MB)을 구현하여 성능 개선.
- WebGPU 기반으로 작동하며, 브라우저 메모리를 효율적으로 관리하는 스트리밍 기술 적용.
- 오프라인 사용이 가능하며, 0 MB의 Klatt 폴백 기능을 제공합니다.
고전 산스크리트어를 포함한 인도 언어용 인브라우저 TTS 모델을 구축하게 되어 꿈만 같습니다. 오늘 저는 Ninada(코드 MIT, 48 ONNX 체크포인트 CC-BY-4.0)를 오픈 소스합니다. 라이브 인브라우저 스튜디오 (가입 필요 없음, 100% 온디바이스): https://h3manth.com/ai/ninada/
실제 휴대폰에서 24 kHz 스튜디오 오디오를 구현하는 것이 예상보다 어려웠습니다. Meta의 16 kHz MMS 모델은 1.5 GB가 필요하며, 제 Pixel 10 Pro XL에서는 모바일 WebGPU가 셰이더 컴파일에 6초에서 14초 동안 멈추는 현상이 발생했고, 심지어 2스레드 WASM이 모바일 CPU 코어의 1스레드보다 느리게 작동했습니다. 그래서 저는 12개 언어(sa, en, hi, kn, mr, bn, ta, te, ml, gu, pa, or; 남성 및 여성)에 걸쳐 48개의 네이티브 스크립트 24 kHz VITS 전문가를 훈련했습니다:
• 디바이스 인식 음성: 데스크톱에서는 27.9 MB HiFi-GAN을 실행하며 (WebGPU에서 89 ms 소요), 휴대폰의 경우 자동으로 21.7 MB로 축소된 iSTFTNet(2.64배 가볍고, 사용자 정의 ONNX 연산 없음)으로 전환됩니다.
• 서브 세컨드 스트리밍: VITS ONNX 모델을 브라우저 메모리에서 <15 ms 만에 분할하여 (브라우저 RAM을 72% 줄여 162 MB로) 휴대폰에서 오디오 끊김 없이 538 ms 만에 음성을 스트리밍합니다.
• 스튜디오 품질, 오프라인 준비 완료: 480개 테스트 클립에 걸쳐 3.09~3.22 dB MCD를 보이며, 첫 로드 후 로컬 캐싱되며, 0 MB의 Klatt 폴백을 제공합니다.
GitHub (npm i ninada / pip install ninada): https://github.com/hemanth/ninada
Hugging Face (48 ONNX 체크포인트): https://huggingface.co/gnumanth/ninada
어떤 언어가 들리는지 피드백을 주시면 감사하겠습니다!
submitted by /u/init0 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기