Google ColabでVOICEVOX COREで音声出力する

# はじめに

この記事では、Google Colaboratory（以下Colab）上でVOICEVOXを動作させる手順を解説します。CPU版のVOICEVOX COREを使用し、比較的簡単に音声合成を試すことができます。

## VOICEVOXとは？
VOICEVOXは、ヒホ（ヒロシバ）氏が開発した音声合成ソフトウェアで、まるで人間が話しているかのような、非常に自然な音声を作り出すことができます。テキストを入力するだけで、様々なキャラクターの声で読み上げさせることができ、アニメのキャラクターや、実在の人物をモデルにした声など、豊富な種類の声が用意されています。また、ありがたいことにこのソフトウェアをオープンソースで公開してくださっているため、無料で利用することができます。特徴や使用する上での注意点は以下の通りです。（2025年3月時点）
* 商用・非商用問わず無料 （ただし、クレジット表記は必要）
* およそ33種類もの豊富な読み上げ音声を使用可能
* イントネーションの詳細な調整が可能
* 喋り声で歌えるハミング機能搭載

**公式HP**

https://voicevox.hiroshiba.jp/

**Github**

https://github.com/VOICEVOX/voicevox_core

## Google Colaboratory (Colab)とは？

Google Colaboratory (略してColab) は、Googleが提供している無料のクラウドサービスです。Webブラウザ上でPythonというプログラミング言語を実行できる環境を提供してくれます。



*   **インストール不要**: Colab上でVOICEVOXを動かすことができるので、自分のパソコンにVOICEVOXをインストールする必要がありません。
*   **無料**: Colabは基本的に無料で利用できます。
*   **手軽**: Webブラウザさえあれば、どこからでもVOICEVOXを利用できます。
* **環境構築が簡単**: 複雑な環境構築なしに、すぐにVOICEVOXを使い始めることができます。

つまり、Colabを使えば、**より手軽に、無料でVOICEVOXを体験できます**！

**(注釈)** ColabではGPU (グラフィック処理装置) を使うこともできますが、今回の手順ではCPU版を使用します。GPU版に比べて処理速度は遅くなりますが、CPU版でも十分に実用的な速度で音声合成を行うことができます。

## この記事でやること

この記事では、Colab上で**CPU版**のVOICEVOX COREを動かす方法を解説します。
具体的には、以下の手順でVOICEVOXを動かします。

1.  Google DriveをColabに接続 (マウント)
2.  VOICEVOX用のフォルダを作成
3.  VOICEVOX COREをダウンロード＆インストール
4.  テキストを音声に変換！

各手順は、**コマンド**と呼ばれる短い命令文をColab上で実行することで進めていきます。コマンドはコピー＆ペーストで実行できるので、プログラミングの経験がない方でも安心してください。


**(注釈)** ColabではGPU (グラフィック処理装置) を使うこともできますが、今回の手順ではCPU版を使用します。GPU版に比べて処理速度は遅くなりますが、CPU版でも十分に実用的な速度で音声合成を行うことができます。

## 【重要】Colabのランタイム切断について

Colabは非常に便利なサービスですが、1つだけ注意点があります。それは、**一定時間操作がないと、自動的に接続が切れてしまう (ランタイムが切断される)** ということです。

ランタイムが切断されると、Colab上でインストールしたソフトウェアや作成したファイルが**すべて消えてしまいます**。そのため、このチュートリアルでは、**Google Drive**を活用して、VOICEVOX関連のファイルを保存します。


Google Driveにファイルを保存しておけば、Colabの接続が切れてしまっても、ファイルが消える心配はありません。

それでは、早速VOICEVOXを動かしてみましょう！

# 環境

*   Google Colaboratory
*   VOICEVOX CORE (CPU版) バージョン: 0.15.7 (動作確認時点)


# 手順

## 1. Pythonバージョンの確認  (任意)

ColabにデフォルトでインストールされているPythonのバージョンを確認します。必須ではありませんが、環境を確認する意味で実行しておくと良いでしょう。通常、Google Colabには最新のPythonがインストールされているため、特に問題はないはずです。

```bash
!python --version
#実行結果：Python 3.11.11　（バージョンは異なる可能性がありますが、インストール確認さえできればいいです。）
```

## 2. フォルダの準備
VOICEVOX関連ファイルを格納するフォルダをGoogle Drive内に作成します。
Google Driveを利用することで、Colabのランタイム切断時にもファイルが保持されます。

### **2.1. GoogleDriveのマウント**
```bash
# Google Driveをマウント
from google.colab import drive
drive.mount('/content/drive', force_remount=True)
```
実行後、ポップアップで表示されるサイトにアクセスし、Googleアカウントで認証を行ってください。
### **2.2. VOICEVOX用ディレクトリの作成と移動**
```bash
#GoogleDrive内に移動
%cd /content/drive/MyDrive/
#「voicevox」というディレクトリを作成
!mkdir voicevox
#作成したディレクトリ内に移動
%cd /content/drive/MyDrive/voicevox
```
-pオプションは、親ディレクトリが存在しない場合に自動的に作成するためのものです。

## 3. VOICEVOX COREのダウンロードスクリプトを実行
VOICEVOX COREのダウンロードスクリプトをGitHubから取得し、実行します。必要なファイルが自動的にダウンロードされます。
```bash
!curl -sSfL https://raw.githubusercontent.com/VOICEVOX/voicevox_core/8cf307df4412dc0db0b03c6957b83b032770c31a/scripts/downloads/download.sh | bash -s
```
実行後、表示される ダウンロード`voicevox_coreバージョン (例: 0.15.7)` をメモしておいてください。後の手順で使用します。
```bash
#出力例
対象OS:linux
対象CPUアーキテクチャ:x64
ダウンロードvoicevox_coreバージョン:0.15.7　<==これを覚える
ダウンロードデバイスタイプ:cpu
```

## 4. VOICEVOX Coreのディレクトリへ移動
```bash
%cd voicevox_core/
```

## 5.  VOICEVOX COREのインストール
### 5.1. VOICEVOX CoreのWheelファイルをダウンロード
先ほどメモした`バージョン番号 (例: 0.15.7) `を使用して、対応するVOICEVOX CoreのWheelファイルをダウンロードします。`X.XX.X`の部分をバージョン番号に置き換えてください。


```bash
#'X.XX.X'の部分にバージョンを入力（２か所あります）
!wget https://github.com/VOICEVOX/voicevox_core/releases/download/X.XX.X/voicevox_core-X.XX.X+cpu-cp38-abi3-linux_x86_64.whl

#執筆時点では、バージョン0.15.7のCPU版をインストールするため、以下のように実行します。
#!wget https://github.com/VOICEVOX/voicevox_core/releases/download/0.15.7/voicevox_core-0.15.7+cpu-cp38-abi3-linux_x86_64.whl
```

### 5.2. pipによるインストール
ダウンロードしたWheelファイルを使って、VOICEVOX COREをインストールします。
```bash
# X.XX.X の部分を、メモしたバージョン番号に置き換えてください
!pip install voicevox_core-X.XX.X+cpu-cp38-abi3-linux_x86_64.whl

# 例: バージョンが0.15.7の場合
# !pip install voicevox_core-0.15.7+cpu-cp38-abi3-linux_x86_64.whl
```

### 5.3. インストール確認 (任意)
必要であれば、以下のコマンドでpipにVOICEVOX Coreがインストールされているか確認できます。
```bash
!pip list | grep voicevox_core
```
`voicevox_core 0.15.7+cpu`のように表示されれば、インストールは成功しています。
## 6. 実行用スクリプトのダウンロード
テキスト読み上げを実行するためのPythonスクリプト `run.py` をダウンロードします。
```bash
#ディレクトリを「voicevox_core」に移動する
%cd /content/drive/MyDrive/voicevox/voicevox_core
#run.pyのダウンロード
!wget https://raw.githubusercontent.com/VOICEVOX/voicevox_core/406f6c41408836840b9a38489d0f670fb960f412/example/python/run.py
```
## 7. テキスト読み上げの実行
以下のコードを実行すると、指定したテキストをVOICEVOXで読み上げ、音声ファイル `data.wav` を生成します。
```python
#%cd /content/drive/MyDrive/voicevox/voicevox_core
text = "こんにちは。私はベイマックス。あなたの健康を守ります"
speaker_id = 53 

!python ./run.py --dict-dir "./open_jtalk_dic_utf_8-1.11" --text $text --out "../data.wav" --speaker-id $speaker_id
from IPython.display import Audio
Audio('../data.wav', autoplay=True)
```
このように音声ファイルが出力されてるはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4006031/5e0b4d2c-b2af-40bf-b97a-f2e4369e7bfa.png)



:::note info
* **--text**: 読み上げたいテキストを指定します。
* **--speaker_id**: 話者IDを指定します。ここではID 53が指定されていますが、VOICEVOXには複数の話者が用意されており、IDを変更することで異なる声で読み上げさせることができます。利用可能な話者IDリストはこちら[こちら](https://github.com/VOICEVOX/voicevox_vvm/blob/main/README.md#%E9%9F%B3%E5%A3%B0%E3%83%A2%E3%83%87%E3%83%ABvvm%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E5%A3%B0%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%BC%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E5%90%8D%E3%81%A8%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB-id-%E3%81%AE%E5%AF%BE%E5%BF%9C%E8%A1%A8)を参照してください。
* **--dict-dir**: Open JTalkの辞書ディレクトリを指定します。ダウンロードスクリプトによって自動的に用意されます。
* **--out**: 生成される音声ファイルのパスを指定します。ここでは、一つ上のディレクトリに `data.wav`という名前でファイルが保存されています。
:::



# 注意事項

*   **Colabのランタイム切断に注意:** Colabは一定時間操作がないとランタイムが切断され、インストールしたライブラリやファイルが消えてしまいます。作業を中断する場合は、後述するGoogle Driveとの連携を検討してください。
*   **GPUランタイム不要:** この記事ではCPU版を使用するため、ColabのランタイムをGPUに変更する必要はありません。
*   **利用規約の遵守:** VOICEVOXおよび関連ライブラリの利用規約を必ず守って使用してください。
*   **動作確認環境:** 2025年3月13日時点での動作確認です。VOICEVOX Coreのバージョンアップ等により、手順が変更になる可能性があります。
*   私自身初心者の状態で、備忘録としてこの記事を書きました。何か修正すべき点等ございましたら、コメントでご指摘いただけますと幸いです。

# 参考記事
* https://voicevox.hiroshiba.jp/
* https://github.com/VOICEVOX/voicevox_core/tree/main/example/python
* https://monomonotech.jp/kurage/memo/230227_voicevox_colaboratory.html