Awesome
VOICEVOX CORE
現在の main ブランチは工事中なので正しく動かないことがあります。バージョン 0.15.4をご利用ください。
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 つです。
- download-linux-arm64
- download-linux-x64
- download-osx-arm64
- download-osx-x64
以下は 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 のインストールが必要です。 -->- まず Releases からダウンロードしたコアライブラリの zip を、適当なディレクトリ名で展開します。CUDA 版、DirectML 版はかならずその zip ファイルをダウンロードしてください。
- 同じく Releases から音声モデルの zip をダウンロードしてください。
- Open JTalk から配布されている辞書ファイル をダウンロードしてコアライブラリを展開したディレクトリに展開してください。
- CUDA や DirectML を利用する場合は、 追加ライブラリ をダウンロードして、コアライブラリを展開したディレクトリに展開してください。
注意
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 を参照してください
その他の言語
- Go(Windows) @yerrowTail
- C# @yamachu
サンプルコードを実装された際はぜひお知らせください。こちらに追記させて頂きます。
貢献者の方へ
Issue を解決するプルリクエストを作成される際は、別の方と同じ Issue に取り組むことを避けるため、 Issue 側で取り組み始めたことを伝えるか、最初に Draft プルリクエストを作成してください。
VOICEVOX 非公式 Discord サーバーにて、開発の議論や雑談を行っています。気軽にご参加ください。
Rust 以外の言語の API に関する方針
VOICEVOX CORE の主要機能は Rust で実装されることを前提としており、他の言語のラッパーでのみの機能追加はしない方針としています。これは機能の一貫性を保つための方針です。
各言語の特性に応じた追加実装(例えば、Python での style_id
の NewType
化など)は許容されます。
コアライブラリのビルド
ビルドには 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 にあるビルド済みのコアライブラリは別ライセンスなのでご注意ください。