Kokoro TTS — Android
Kokoro-82Mは、ONNX Runtime経由でAndroid上で動作する軽量、非自己回帰の音声合成モデルです。7言語にわたる50のプリセットボイスで自然な24 kHz音声を生成します。
サポート言語
| 言語 | コード | 例ボイス |
|---|---|---|
| 英語 (US) | en | af_heart, am_adam, af_sky |
| 英語 (UK) | en | bf_emma, bm_george |
| スペイン語 | es | ef_dora |
| フランス語 | fr | ff_siwis |
| ヒンディー語 | hi | hf_alpha, hm_omega |
| イタリア語 | it | if_sara |
| 日本語 | ja | jf_alpha, jm_omega |
| ポルトガル語 | pt | pf_dora |
| 中国語 | zh | zf_xiaobei, zm_yunjian |
合計50のプリセットボイス。ボイス命名規則:[言語][性別]_[名前] — 例:af_heart = American Female "Heart"。
モデルファイル
| ファイル | サイズ |
|---|---|
kokoro-model-int8.onnx | 約89 MB |
voices.bin | ボイスembedding |
| 音素辞書 | 言語固有の発音データ |
HuggingFace: aufklarer/Kokoro-82M-ONNX
パフォーマンス
| 指標 | 値 |
|---|---|
| パラメーター | 82M |
| 推論バックエンド | ONNX Runtime |
| 出力サンプリングレート | 24 kHz |
Phonemizer
テキストは、言語固有のサポートを備えた辞書ベースのphonemizerを使用して音素トークンに変換されます。Android実装には、英語、フランス語、スペイン語、イタリア語、ポルトガル語、ヒンディー語、日本語、中国語用のphonemizerが含まれています。
パイプライン統合
Androidでは、Kokoro TTSはSpeechPipelineの一部です。STTが音声を文字起こしした後、テキストが音素化され、音声に合成されます。パイプラインは完全なVAD → STT → TTSフローを自動的に管理します。
val modelDir = ModelManager.ensureModels(context)
val pipeline = SpeechPipeline(SpeechConfig(modelDir = modelDir))
pipeline.events.collect { event ->
when (event) {
is SpeechEvent.TranscriptionCompleted -> println(event.text)
else -> {}
}
}
pipeline.start()
pipeline.pushAudio(samples) // 16kHz mono float32
ソースコード: github.com/soniqo/speech-android