Jan commited on
Update README.md
Browse files
README.md
CHANGED
|
@@ -10,4 +10,117 @@ tags:
|
|
| 10 |
- single-speaker
|
| 11 |
- kokoro
|
| 12 |
- text-to-speech
|
| 13 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
- single-speaker
|
| 11 |
- kokoro
|
| 12 |
- text-to-speech
|
| 13 |
+
- german
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# 🗣️ Kokoro TTS - German Voice 'Martin' (ONNX)
|
| 17 |
+
|
| 18 |
+
This repository provides an **ONNX exported version** of the excellent German Kokoro TTS model [kikiri-german-martin](https://huggingface.co/kikiri-tts/kikiri-german-martin).
|
| 19 |
+
|
| 20 |
+
By using the ONNX format, you can run this high-quality Text-to-Speech model without needing PyTorch. This results in significantly faster inference times, a lower memory footprint, and easier integration into various environments like C++, Rust, mobile apps, or web servers using the ONNX Runtime.
|
| 21 |
+
|
| 22 |
+
## Model Details
|
| 23 |
+
|
| 24 |
+
### Model Description
|
| 25 |
+
|
| 26 |
+
This is an acoustic Text-to-Speech model based on the Kokoro architecture, specifically tailored for the German language featuring the single male voice "Martin". It has been exported to the ONNX graph format to maximize compatibility and performance.
|
| 27 |
+
|
| 28 |
+
- **Developed by:** Original model by `kikiri-tts`, ONNX conversion by huggingFresse
|
| 29 |
+
- **Model type:** Text-to-Speech (Acoustic Model)
|
| 30 |
+
- **Language(s) (NLP):** German (de)
|
| 31 |
+
- **License:** Apache 2.0
|
| 32 |
+
- **Finetuned from model:** [kikiri-tts/kikiri-german-martin](https://huggingface.co/kikiri-tts/kikiri-german-martin)
|
| 33 |
+
|
| 34 |
+
### Model Sources
|
| 35 |
+
|
| 36 |
+
- **Original Repository:** [kikiri-tts/kikiri-german-martin](https://huggingface.co/kikiri-tts/kikiri-german-martin)
|
| 37 |
+
- **Kokoro Architecture:** [hexgrad/Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M)
|
| 38 |
+
|
| 39 |
+
## Uses
|
| 40 |
+
|
| 41 |
+
This model is intended to be used with the ONNX Runtime to synthesize German speech from phonemized text. It is ideal for:
|
| 42 |
+
- Local offline text-to-speech generation.
|
| 43 |
+
- Integration into low-resource environments (Edge devices, Raspberry Pi).
|
| 44 |
+
- Building high-performance TTS microservices.
|
| 45 |
+
|
| 46 |
+
## Bias, Risks, and Limitations
|
| 47 |
+
|
| 48 |
+
As with any TTS model, the output quality heavily relies on the quality of the input text and the phonemizer used.
|
| 49 |
+
- **Pronunciation:** The model might mispronounce rare words, foreign names, or complex compound nouns if they are not correctly converted to phonemes first.
|
| 50 |
+
- **Emotion:** While the model sounds very natural, precise control over specific emotions (like shouting, crying, or whispering) is limited by the training data of the base model.
|
| 51 |
+
|
| 52 |
+
## How to Get Started with the Model
|
| 53 |
+
|
| 54 |
+
I included a Dockerfile and a main.py file, so you can simply use docker compose to get it started:
|
| 55 |
+
|
| 56 |
+
docker-compose.yml
|
| 57 |
+
```yml
|
| 58 |
+
services:
|
| 59 |
+
kokoro-onnx:
|
| 60 |
+
build: .
|
| 61 |
+
container_name: kokoro-onnx
|
| 62 |
+
restart: unless-stopped
|
| 63 |
+
ports:
|
| 64 |
+
- "8881:8881"
|
| 65 |
+
environment:
|
| 66 |
+
- KOKORO_ONNX_THREADS=4
|
| 67 |
+
- KOKORO_ONNX_VOICE=martin
|
| 68 |
+
- KOKORO_ONNX_LANG=de
|
| 69 |
+
- OMP_NUM_THREADS=4
|
| 70 |
+
- OPENBLAS_NUM_THREADS=4
|
| 71 |
+
- MKL_NUM_THREADS=4
|
| 72 |
+
- NUMEXPR_NUM_THREADS=4
|
| 73 |
+
- OMP_WAIT_POLICY=PASSIVE
|
| 74 |
+
```
|
| 75 |
+
|
| 76 |
+
If you want to use it in Home Assistant, this is an easy way to make it wyoming-ready (just add this into your docker-compose.yml):
|
| 77 |
+
|
| 78 |
+
```yml
|
| 79 |
+
wyoming_openai_onnx:
|
| 80 |
+
image: ghcr.io/roryeckel/wyoming_openai:latest
|
| 81 |
+
container_name: wyoming_openai_onnx
|
| 82 |
+
ports:
|
| 83 |
+
- "10203:10203"
|
| 84 |
+
restart: unless-stopped
|
| 85 |
+
command:
|
| 86 |
+
- python3
|
| 87 |
+
- -m
|
| 88 |
+
- wyoming_openai
|
| 89 |
+
- --uri
|
| 90 |
+
- tcp://0.0.0.0:10203
|
| 91 |
+
- --languages
|
| 92 |
+
- de
|
| 93 |
+
- --tts-openai-url
|
| 94 |
+
- http://kokoro-onnx:8881/v1
|
| 95 |
+
- --tts-models
|
| 96 |
+
- kokoro
|
| 97 |
+
- --tts-streaming-models
|
| 98 |
+
- kokoro
|
| 99 |
+
- --tts-backend
|
| 100 |
+
- KOKORO_FASTAPI
|
| 101 |
+
depends_on:
|
| 102 |
+
- kokoro-onnx
|
| 103 |
+
```
|
| 104 |
+
|
| 105 |
+
## Training Details
|
| 106 |
+
This repository only contains a format conversion. No additional training or fine-tuning was performed. For details regarding the training data, hyperparameters, and procedures, please refer to the base model: [kikiri-tts/kikiri-german-martin](https://huggingface.co/kikiri-tts/kikiri-german-martin).
|
| 107 |
+
|
| 108 |
+
## Citation
|
| 109 |
+
If you use this model, please credit the original authors:
|
| 110 |
+
```
|
| 111 |
+
@misc{kikiri-german-martin,
|
| 112 |
+
author = {kikiri-tts},
|
| 113 |
+
title = {Kokoro German Voice - Martin},
|
| 114 |
+
year = {2025},
|
| 115 |
+
publisher = {Hugging Face},
|
| 116 |
+
howpublished = {\url{[https://huggingface.co/kikiri-tts/kikiri-german-martin](https://huggingface.co/kikiri-tts/kikiri-german-martin)}}
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
@misc{kokoro-82m,
|
| 120 |
+
author = {hexgrad},
|
| 121 |
+
title = {Kokoro-82M},
|
| 122 |
+
year = {2024},
|
| 123 |
+
publisher = {Hugging Face},
|
| 124 |
+
howpublished = {\url{[https://huggingface.co/hexgrad/Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M)}}
|
| 125 |
+
}
|
| 126 |
+
```
|