Kokoro TTS — Android

Kokoro-82Mは、ONNX Runtime経由でAndroid上で動作する軽量、非自己回帰の音声合成モデルです。7言語にわたる50のプリセットボイスで自然な24 kHz音声を生成します。

サポート言語

言語コード例ボイス
英語 (US)enaf_heart, am_adam, af_sky
英語 (UK)enbf_emma, bm_george
スペイン語esef_dora
フランス語frff_siwis
ヒンディー語hihf_alpha, hm_omega
イタリア語itif_sara
日本語jajf_alpha, jm_omega
ポルトガル語ptpf_dora
中国語zhzf_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