Skip to content

無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのコア

License

Notifications You must be signed in to change notification settings

VOICEVOX/voicevox_core

Repository files navigation

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 つです。

  • 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 の使い方については こちら を参照してください

Downloader を使わない場合
  1. まず Releases からダウンロードしたコアライブラリの zip を、適当なディレクトリ名で展開します。CUDA 版、DirectML 版はかならずその zip ファイルをダウンロードしてください。
  2. 同じく Releases から音声モデルの zip をダウンロードしてください。
  3. Open JTalk から配布されている辞書ファイル をダウンロードしてコアライブラリを展開したディレクトリに展開してください。
  4. 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 版のみの提供となります。

サンプル実行

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

その他の言語

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

貢献者の方へ

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

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

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

VOICEVOX CORE の主要機能は Rust で実装されることを前提としており、他の言語のラッパーでのみの機能追加はしない方針としています。これは機能の一貫性を保つための方針です。 各言語の特性に応じた追加実装(例えば、Python での style_idNewType 化など)は許容されます。

コアライブラリのビルド

ビルドには 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 にあるビルド済みのコアライブラリは別ライセンスなのでご注意ください。