Kokoro-82M TTS v1.0日本語を話させました

# Kokoro TTS モデルが v1.0 にアップデート！  

こんにちは、しゅんです！  
Kokoro-82Mがついに **v1.0** にアップデートされ、さらに多言語対応や高品質な音声合成が可能になりました。今回の記事では、Kokoroの最新バージョンの特徴と、具体的な実装手順について紹介していきます。  
前回の記事です

https://qiita.com/syun88/items/b629ca91fb6d63e28c62

---

## Kokoro v1.0 の進化ポイント  

Kokoro v1.0 では、以下の大きなアップデートが行われています：

- **多言語対応の拡大**：英語、日本語、フランス語、ヒンディー語など、多言語での音声合成に対応。
- **82Mパラメータの軽量設計**：v1.0でも引き続き軽量で高速な性能を発揮。
- **新しいボイスパックの追加**：[54種類のボイス](https://huggingface.co/hexgrad/Kokoro-82M/blob/main/VOICES.md) をサポート。
- **オープンソースの柔軟性**：Apache 2.0 ライセンスのもと、個人プロジェクトや商用環境でも自由に使用可能。

### 公開情報まとめ
| リリース日       | 対応言語                | 訓練データ量      | GPUコスト (A100)      | ボイスの種類       |  
| ---------------- | ---------------------- | ---------------- | -------------------- | ------------------ |  
| **v1.0 (最新版)** | 🇺🇸🇯🇵🇫🇷🇮🇳 (8言語)     | 数百時間のデータ  | $1000 / 1000時間    | 54ボイス対応       |  
| v0.19 (旧バージョン) | 🇺🇸🇬🇧 (2言語)         | <100時間         | $400 / 500時間      | 10ボイス           |  

---

## 実装手順  

### 1. 環境構築（自分の環境）  

**環境:**  
- OS: Ubuntu 24.04  
- GPU: RTX 3080 Laptop（CUDA対応推奨）  

```bash
# 仮想環境の作成
python3 -m venv .venv
source .venv/bin/activate

# 必要なパッケージのインストール
pip install -q kokoro>=0.3.1 soundfile
sudo apt -qq -y install espeak-ng
```

---

### 2. Pythonスクリプトで音声合成を実行  

以下のスクリプトで、日本語テキストを読み上げる音声ファイルを生成します。

```python
import torch
import soundfile as sf
from kokoro import KPipeline

# デバイスの設定 (CUDA or CPU)
device = 'cuda' if torch.cuda.is_available() else 'cpu'

# 言語設定とパイプラインの初期化
pipeline = KPipeline(lang_code='j')  # 日本語対応

# 読み上げるテキスト
text = '「もしおれがただ偶然、そしてこうしようというつもりでなくここに立っているのなら、ちょっとばかり絶望するところだな」と、そんなことが彼の頭に思い浮かんだ。'

# 音声生成の初期化
generator = pipeline(
    text, voice='af_heart',  # 必要に応じてボイスを変更可能
    speed=1, split_pattern=r'\n+'
)

# 音声ファイルの保存と再生
for i, (gs, ps, audio) in enumerate(generator):
    print(f"Index: {i}\nGraphemes: {gs}\nPhonemes: {ps}")

    output_filename = f'output_audio_{i}.wav'
    sf.write(output_filename, audio, 24000)
    print(f"Audio saved as '{output_filename}'")

    # 音声ファイルの再生
    import os
    if os.name == 'nt':  # Windows
        os.system(f'start {output_filename}')
    elif os.uname().sysname == 'Darwin':  # macOS
        os.system(f'afplay {output_filename}')
    else:  # Linux
        os.system(f'play {output_filename}')
```

---

### 3. スクリプトの実行  

次のコマンドで音声合成が実行されます：

```bash
python3 test.py
```

複数行のテキストが指定された場合、それぞれの行ごとに別の音声ファイルが保存されます。

# 結果
### こういう感じで
<blockquote class="twitter-tweet" data-media-max-width="560"><p lang="ja" dir="ltr">hexgrad/Kokoro-82Mのバージョンがアップして、日本語などの言語追加されました。 <a href="https://t.co/Bl75swtHqL">pic.twitter.com/Bl75swtHqL</a></p>&mdash; SYUN@色々と頑張ってます (@syun88AI) <a href="https://twitter.com/syun88AI/status/1884796873200050583?ref_src=twsrc%5Etfw">January 30, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

---

## v1.0での日本語音声の品質

Kokoro v1.0は、日本語でも非常に自然な発音で音声を生成することが可能です。（少なくとも僕の日本語より良いと思います）v0.19の頃よりも発音精度が向上しており、単語レベルでのイントネーションの改善が見られます。

### ボイス選択のヒント

次のように、ボイスを切り替えて異なる話者の音声を試すことも可能です：

- **af_heart**: 落ち着いた女性の声  
- **af_bella**: 明るい女性の声  
- **am_michael**: 英語男性の声  

詳細なボイス一覧は、公式の[VOICES.md](https://huggingface.co/hexgrad/Kokoro-82M/blob/main/VOICES.md)をご覧ください。

---

## まとめ  

Kokoro v1.0は、軽量かつ高品質な多言語対応TTSを実現した、次世代の音声合成エンジンです。日本語対応が大きく進化し、v0.19では難しかった自然な読み上げが実現しました。ぜひ皆さんも、様々な言語で音声合成を試してみてください！  

**次回予定:** 実際のプロジェクトにおける音声合成の応用方法について解説します。

---

### 参考リンク  
- [Kokoro v1.0 リリースノート](https://huggingface.co/hexgrad/Kokoro-82M#releases)  
- [Hugging Face Kokoro デモページ](https://huggingface.co/spaces/hexgrad/Kokoro-TTS)  
- [GitHubリポジトリ](https://github.com/hexgrad/kokoro)  

---

**最後までお読みいただきありがとうございました！次の記事もお楽しみに！**