전체 글

· Casimiro Ferreira· 3 분 읽기

phoonnx 소개: OpenVoiceOS의 새로운 TTS 프레임워크

  • phoonnx
  • TTS
  • OVOS
  • ONNX
  • Phonemization

이 글은 원래 OpenVoiceOS 블로그에 게시되었습니다

phoonnx는 이제 OpenVoiceOS의 기본 음성 합성 프레임워크입니다 — VITS와 ONNX 위에 구축된 완전한 학습 및 추론 스택으로, 저희가 지원하는 모든 언어에 걸쳐 일관되고 오프라인 준비가 된 음성을 위해 설계되었습니다.

직접 들어보세요: 음성 데모는 phoonnx 음성을 브라우저에서 실시간으로 실행합니다 — onnxruntime-web, 서버 없음.


새로운 언어: 바스크어 소개!

이전의 처음부터 합성 음성 만들기 작업과 아랍어 TTS 협업을 기반으로, 저희 언어 지원의 최신 추가 사항은 바스크어(eu-ES) 음성입니다.

여기에는 남성 음성(Miro)과 여성 음성(Dii)이 모두 포함되며, 개방적이고 고품질인 TTS 옵션이 부족한 저자원 언어까지 지원하려는 저희의 사명을 진전시킵니다.

이전에는 ILENIA와 협력하여 만든 AhoTTS 플러그인을 통해 로봇 같은 여성 음성만 사용할 수 있었습니다.

결과를 들어보세요: 새로운 바스크어 오픈 소스 음성의 예시입니다.

Miro (남성 음성): Miro 듣기

Dii (여성 음성): Dii 듣기


언어 전반에 걸친 일관된 음성 아이덴티티

OpenVoiceOS는 일관된 브랜드 음성이 필요합니다: 비서가 어떤 언어로 설정되어 있든 동일하게 들리는 표준 남성 및 여성 페르소나입니다. 리스본에서 OpenVoiceOS를 설정한 사용자가 나중에 독일어로 전환하더라도 동일한 친숙한 화자를 들어야 합니다.

TigreGoticophoonnx 엔진을 구축하고 유지 관리하며, 오픈 학습 데이터셋을 기여하고, 이 약속을 이행하는 기본 다국어 OVOS 음성 — Miro(남성)와 Dii(여성) — 를 학습시킵니다.


음소화기의 유연성

phoonnx는 단순한 추론 도구 이상입니다; 견고한 VITS 아키텍처 위에 구축된 완전한 학습 및 추론 프레임워크입니다. 이 이중 기능은 고품질 음성을 빠르게 프로토타이핑하고, 학습하고, 배포할 수 있게 합니다.

이 유연성의 핵심은 다양한 **음소화기(phonemizer)**를 지원하는 능력입니다. 음소화기(또는 G2P - Grapheme-to-Phoneme 모델)는 작성된 텍스트를 TTS 모델이 말하는 소리 단위(음소)의 시퀀스로 변환합니다. 언어마다 정확한 음성을 위해 서로 다른 특화된 음소화기가 필요할 수 있습니다.

  • eSpeak 호환성: 핵심 기능은 phoonnx 모델이 널리 사용되는 eSpeak 음소화기로 학습된 경우 인기 있는 Piper TTS 엔진의 런타임과 완전히 호환된다는 점입니다. 이는 기존 OVOS 생태계 및 Home Assistant와 같은 서드파티 프로젝트 내에서의 손쉬운 배포를 보장합니다.
  • 사용자 지정 음소화기 지원: 이 프레임워크는 eSpeak에 국한되지 않습니다. 예를 들어, Proxecto NósCotovia 음소화기를 사용하여 개발한 고품질 갈리시아어 모델은 완전히 호환되며 phoonnx 파이프라인과 함께 사용할 수 있습니다.

이 유연성 덕분에 저희는 다른 오픈 소스 프로젝트의 작업을 통합하고 그로부터 이익을 얻을 수 있습니다. 실제로 추론의 경우, phoonnxCoqui, Mimic3, Piper를 포함한 다른 프로젝트에서 원래 학습된 모델을 성공적으로 사용할 수 있습니다.

다음 단계: ByT5 기반 G2P 모델

앞을 내다보며, 저희는 특히 저자원 언어에 대해 G2P 정확도를 개선하기 위해 끊임없이 노력하고 있습니다. 현재 강력한 ByT5 아키텍처를 기반으로 하는 차세대 G2P 모델을 개발하고 테스트하고 있습니다. 이러한 트랜스포머 기반 모델은 더 넓은 범위의 언어에 걸쳐 더 정확하고 견고한 음소화를 제공할 것을 약속합니다.

여기서 개발 상황을 따라갈 수 있습니다: G2P Models Collection.

가까운 미래에 phoonnx 전용 OVOS TTS 플러그인이 만들어져 OpenVoiceOS의 기본으로 지정되어, 이전 플러그인인 ovos-tts-plugin-piperovos-tts-plugin-nos를 대체할 것입니다.

그동안에는 기존 플러그인 ovos-tts-plugin-piper를 통해 새로운 음성을 사용해 볼 수 있습니다.

mycroft.conf 아래에 모델 URL을 전달하기만 하면 됩니다

  "tts": {
    "module": "ovos-tts-plugin-piper",
    "ovos-tts-plugin-piper": {
      "model": "https://huggingface.co/OpenVoiceOS/phoonnx_eu-ES_miro_espeak/resolve/main/miro_eu-ES.onnx",
      "model_config": "https://huggingface.co/OpenVoiceOS/phoonnx_eu-ES_miro_espeak/resolve/main/miro_eu-ES.piper.json"
    }
  }

진행 보고서: 사용 가능한 언어

OpenVoiceOS와 TigreGotico 팀의 공동 작업으로 빠르게 확장되는 오픈 소스 TTS 모델 라이브러리가 만들어졌습니다.

현재 지원되는 언어:

  • 아랍어
  • 바스크어
  • 네덜란드어
  • 영어 (US/GB)
  • 프랑스어
  • 독일어
  • 이탈리아어
  • 포르투갈어 (브라질/포르투갈)
  • 스페인어

참여하고 모델 찾기

저희는 커뮤니티가 이러한 새로운 리소스를 탐색하고 활용하기를 권합니다.

리소스설명링크
Phoonnx 모델ONNX 형식의 새로운 phoonnx 학습 TTS 모델.phoonnx-tts-models
Piper/Phoonnx 음성Piper와 호환되는 OpenVoiceOS 음성 전체 컬렉션.pipertts-voices
오픈 데이터셋이러한 음성을 학습하는 데 사용된 데이터셋으로, 오픈 데이터 연구를 진전시킵니다.tts-datasets


Hugging Face에서 전체 모델 및 데이터셋 카탈로그를 탐색하세요: TigreGotico · OpenVoiceOS. 데이터를 기여하려면 phoonnx에서 이슈나 토론을 열어주세요.