Home

Awesome

VOICEVOX CORE

現在の main ブランチは工事中なので正しく動かないことがあります。バージョン 0.15.4をご利用ください。

releases test dependency status discord

VOICEVOX の音声合成コア。
Releases にビルド済みのコアライブラリ(.so/.dll/.dylib)があります。

(エディターは VOICEVOX 、 エンジンは VOICEVOX ENGINE 、 全体構成は こちら に詳細があります。)

API

API ドキュメントをご覧ください。

ユーザーガイド

VOICEVOX コア ユーザーガイドをご覧ください。

環境構築

[!NOTE] 音声モデル(VVM ファイル)には利用規約が存在します。詳しくはダウンロードしたファイル内の README に記載されています。

Downloader を用いて環境構築を行う場合

Windows の場合

PowerShell で下記コマンドを実行してください

Invoke-WebRequest https://github.com/VOICEVOX/voicevox_core/releases/latest/download/download-windows-x64.exe -OutFile ./download.exe
./download.exe

Linux/macOS の場合

最新のリリースから環境に合わせてダウンローダーのバイナリをダウンロードしてください。 現在利用可能なのは以下の 4 つです。

以下は Linux の x64 での実行例です。

binary=download-linux-x64
curl -sSfL https://github.com/VOICEVOX/voicevox_core/releases/latest/download/${binary} -o download
chmod +x download
./download

詳細な Downloader の使い方については こちら を参照してください

<details> <summary> Downloader を使わない場合</summary> <!-- #### Raspberry Pi (armhf)の場合 Raspberry Pi 用の ONNX Runtime は以下からダウンロードできます。 - <https://github.com/VOICEVOX/onnxruntime-builder/releases> 動作には、libgomp のインストールが必要です。 -->
  1. まず Releases からダウンロードしたコアライブラリの zip を、適当なディレクトリ名で展開します。CUDA 版、DirectML 版はかならずその zip ファイルをダウンロードしてください。
  2. 同じく Releases から音声モデルの zip をダウンロードしてください。
  3. Open JTalk から配布されている辞書ファイル をダウンロードしてコアライブラリを展開したディレクトリに展開してください。
  4. CUDA や DirectML を利用する場合は、 追加ライブラリ をダウンロードして、コアライブラリを展開したディレクトリに展開してください。
</details>

注意

GPU の使用について

CUDA

nvidia 製 GPU を搭載した Windows, Linux PC では CUDA を用いた合成が可能です。

CUDA 版を利用するには Downloader の実行が必要です。
詳細は CUDA 版をダウンロードする場合 を参照してください

DirectML

DirectX12 に対応した GPU を搭載した Windows PC では DirectML を用いた合成が可能です
DirectML 版を利用するには Downloader の実行が必要です。
詳細は DirectML 版をダウンロードする場合 を参照してください

macOS の場合、CUDA の macOS サポートは現在終了しているため、VOICEVOX CORE の macOS 向けコアライブラリも CUDA, CUDNN を利用しない CPU 版のみの提供となります。

<!-- #### Raspberry Piでの使用について Raspberry PiなどのarmhアーキテクチャPCでの使用では、環境構築時に https://github.com/VOICEVOX/onnxruntime-builder/releases にある独自ビルドのonnxruntimeを使用する必要があります。 そのため、環境にあったファイルのURLを取得し、上記例の代わりに ```bash python configure.py --ort_download_link <独自ビルドonnxruntimeのURL> ``` を実行してください また、動作には、libgomp のインストールが必要です。 ```shell sudo apt install libgomp1 ``` -->

サンプル実行

現在このリポジトリでは次のサンプルが提供されています。実行方法についてはそれぞれのディレクトリ内にある README を参照してください

その他の言語

サンプルコードを実装された際はぜひお知らせください。こちらに追記させて頂きます。

貢献者の方へ

Issue を解決するプルリクエストを作成される際は、別の方と同じ Issue に取り組むことを避けるため、 Issue 側で取り組み始めたことを伝えるか、最初に Draft プルリクエストを作成してください。

VOICEVOX 非公式 Discord サーバーにて、開発の議論や雑談を行っています。気軽にご参加ください。

Rust 以外の言語の API に関する方針

APIデザイン ガイドラインをご覧ください。

コアライブラリのビルド

ビルドには Rust (Windows での Rust 開発環境構築手順はこちら) と cmake が必要です。 Releases にあるビルド済みのコアライブラリを利用せず、自分で一からビルドした場合は、model フォルダにある onnx モデルのみが利用できます。 このモデルはダミーのため、ノイズの混じった音声が出力されます。

# DLLをビルド
cargo build --release -p voicevox_core_c_api --features load-onnxruntime

DLL 用のヘッダファイルの雛形は crates/voicevox_core_c_api/include/voicevox_core.h にあります。 詳しくはfeature-options.mdを参照してください。

# ヘッダファイルを加工し、マクロ`VOICEVOX_LOAD_ONNXRUNTIME`を宣言
sed 's:^//\(#define VOICEVOX_LOAD_ONNXRUNTIME\)$:\1:' \
  crates/voicevox_core_c_api/include/voicevox_core.h \
  > ./voicevox_core.h

コアライブラリのテスト

cargo test

ダウンローダーの実行

cargo run -p downloader

# ヘルプを表示
cargo run -p downloader -- -h

ヘッダファイルの更新

cargo xtask update-c-header

cbindgen が手元にインストールされているなら、それを使いヘッダファイルを生成することもできます。

タイポチェック

typos を使ってタイポのチェックを行っています。 typos をインストール した後

typos

事例紹介

voicevox.rb @sevenc-nanashi ・・・ VOICEVOX CORE の Ruby 向け FFI ラッパー
Node VOICEVOX Engine @y-chan ・・・ VOICEVOX ENGINE の Node.js/C++ 実装
VOICEVOX ENGINE SHARP @yamachu ・・・ VOICEVOX ENGINE の C# 実装
voicevoxcore4s @windymelt ・・・ VOICEVOX CORE の Scala(JVM) 向け FFI ラッパー
voicevox_flutter @char5742 ・・・ VOICEVOX CORE の Flutter 向け FFI ラッパー
voicevoxcore.go @sh1ma ・・・ VOICEVOX CORE の Go 言語 向け FFI ラッパー
VoicevoxCoreSharp @yamachu ・・・ VOICEVOX CORE の C# 向け FFI ラッパー

ライセンス

ソースコードのライセンスは MIT LICENSE です。

Releases にあるビルド済みのコアライブラリは別ライセンスなのでご注意ください。