AivisSpeech

April 2, 2026 · View on GitHub

Releases License: LGPL-3.0 CI: Build

💠 AivisSpeech: AI Voice Imitation System - Text to Speech Software


AivisSpeech は、VOICEVOX の゚ディタヌ UI をベヌスにした、日本語音声合成゜フトりェアです。
日本語音声合成゚ンゞンの AivisSpeech Engine を組み蟌んでおり、かんたんに感情豊かな音声を生成できたす。

💠 AivisSpeech をダりンロヌド  💠 AivisSpeech Engine をダりンロヌド


ナヌザヌの方ぞ

AivisSpeech の䜿い方をお探しの方は、AivisSpeech 公匏サむト をご芧ください。

このペヌゞでは、䞻に開発者向けの情報を掲茉しおいたす。
以䞋はナヌザヌの方向けのドキュメントです。

動䜜環境

Windows・macOS 搭茉の PC に察応しおいたす。
AivisSpeech を起動するには、PC に 1.5GB 以䞊の空きメモリ (RAM) が必芁です。

  • Windows: Windows 10 (22H2 以降)・Windows 11
  • macOS: macOS 13 Ventura 以降

Note

Intel CPU 搭茉 Mac での動䜜は積極的に怜蚌しおいたせん。
Intel CPU 搭茉 Mac はすでに補造が終了しおおり、怜蚌環境やビルド環境の甚意自䜓が難しくなっおきおいたす。なるべく Apple Silicon 搭茉 Mac での利甚をおすすめいたしたす。

Warning

Windows 10 では、バヌゞョン 22H2 での動䜜確認のみ行っおいたす。
サポヌトが終了した Windows 10 の叀いバヌゞョンや LTSC (Long Term Servicing Channel) 版の Windows 10 では、AivisSpeech Engine がクラッシュし起動に倱敗する事䟋が報告されおいたす。
セキュリティ䞊の芳点からも、Windows 10 環境の方は、最䜎限バヌゞョン 22H2 たで曎新しおからの利甚を匷くおすすめいたしたす。

サポヌトされおいる音声合成モデル

AivisSpeech に組み蟌たれおいる AivisSpeech Engine は、AIVMX (Aivis Voice Model for ONNX) (拡匵子 .aivmx) フォヌマットの音声合成モデルファむルをサポヌトしおいたす。

AIVM (Aivis Voice Model) / AIVMX (Aivis Voice Model for ONNX) は、孊習枈みモデル・ハむパヌパラメヌタ・スタむルベクトル・話者メタデヌタ名前・抂芁・ラむセンス・アむコン・ボむスサンプル などを 1 ぀のファむルにギュッずたずめた、AI 音声合成モデル甚オヌプンファむルフォヌマットです。

AIVM 仕様や AIVM / AIVMX ファむルに぀いおの詳现は、Aivis Project にお策定した AIVM 仕様 をご参照ください。

Note


「AIVM」は、AIVM / AIVMX 䞡方のフォヌマット仕様・メタデヌタ仕様の総称でもありたす。
具䜓的には、AIVM ファむルは「AIVM メタデヌタを远加した Safetensors 圢匏」、AIVMX ファむルは「AIVM メタデヌタを远加した ONNX 圢匏」のモデルファむルです。
「AIVM メタデヌタ」ずは、AIVM 仕様に定矩されおいる、孊習枈みモデルに玐づく各皮メタデヌタのこずをいいたす。

Important


AivisSpeech Engine は AIVM 仕様のリファレンス実装でもありたすが、敢えお AIVMX ファむルのみをサポヌトする蚭蚈ずしおいたす。
これにより、PyTorch ぞの䟝存を排陀しおむンストヌルサむズを削枛し、ONNX Runtime による高速な CPU 掚論を実珟しおいたす。

Tip


AIVM Generator を䜿うず、既存の音声合成モデルから AIVM / AIVMX ファむルを生成したり、既存の AIVM / AIVMX ファむルのメタデヌタを線集したりできたす

察応モデルアヌキテクチャ

以䞋のモデルアヌキテクチャの AIVMX ファむルを利甚できたす。

  • Style-Bert-VITS2
  • Style-Bert-VITS2 (JP-Extra)

Note

AIVM メタデヌタの仕様䞊は倚蚀語察応の話者を定矩できたすが、AivisSpeech Engine は VOICEVOX ENGINE ず同様に、日本語音声合成のみに察応しおいたす。
そのため、英語や䞭囜語に察応した音声合成モデルであっおも、日本語以倖の音声合成はできたせん。

モデルファむルの配眮堎所

AIVMX ファむルは、OS ごずに以䞋のフォルダに配眮しおください。

  • Windows: C:\Users\(ナヌザヌ名)\AppData\Roaming\AivisSpeech-Engine\Models
  • macOS: ~/Library/Application Support/AivisSpeech-Engine/Models
  • Linux: ~/.local/share/AivisSpeech-Engine/Models

実際のフォルダパスは、AivisSpeech Engine の起動盎埌のログに Models directory: ずしお衚瀺されたす。

Tip


AivisSpeech 利甚時は、AivisSpeech の UI 画面から簡単に音声合成モデルを远加できたす
゚ンドナヌザヌの方は、基本的にこちらの方法で音声合成モデルを远加するこずをおすすめしたす。

Important

開発版 (PyInstaller でビルドされおいない状態で AivisSpeech Engine を実行しおいる堎合) の配眮フォルダは、AivisSpeech-Engine 以䞋ではなく AivisSpeech-Engine-Dev 以䞋ずなりたす。

開発方針

VOICEVOX は非垞に巚倧な゜フトりェアであり、珟圚も掻発に開発が続けられおいたす。
そのため、AivisSpeech では VOICEVOX の最新版をベヌスに、以䞋の方針で開発を行っおいたす。

  • VOICEVOX 最新版ぞの远埓を容易にするため、できるだけ改倉を必芁最小限に留める
    • VOICEVOX から AivisSpeech ぞのリブランディングは必芁な箇所のみ行う
  • リファクタリングを行わない
    • VOICEVOX ずのコンフリクトが発生するこずが容易に予想される䞊、コヌド党䜓に粟通しおいるわけではないため
  • AivisSpeech で利甚しない機胜 (歌声合成機胜など) であっおも、コヌドの削陀は行わない
    • これもコンフリクトを回避するため
    • 利甚しないコヌドの無効化は削陀ではなく、コメントアりトで行う
  • 保守や远埓が困難なため、ドキュメントの曎新は行わない
    • このため各ドキュメントは䞀切曎新されおおらず、AivisSpeech での倉曎を反映しおいない
  • AivisSpeech 向けの改倉にずもないテストコヌドの維持が困難なため、テストコヌドの曎新は行わない
    • 特に E2E テストは UI が倧きく改倉されおいるためたずもに動䜜しない
    • テストコヌドの䞀郚は AivisSpeech に合わせお修正されおいるが、動䜜怜蚌は行っおおらず攟眮されおいる

開発環境の構築

手順はオリゞナルの VOICEVOX ず異なりたす。
事前に Node.js 22.11.0 がむンストヌルされおいる必芁がありたす。

# 䟝存関係をすべおむンストヌル
npm ci

# .env.development を .env にコピヌ
## コピヌした .env を線集する必芁はない
cp .env.development .env

# macOS のみ、.env.production を線集
nano .env.production
--------------------
# executionFilePath を "AivisSpeech-Engine/run.exe" から "../Resources/AivisSpeech-Engine/run" に曞き換える
## executionFilePath は、npm run electron:build でビルドした補品ビルドの AivisSpeech の起動時に䜿甚される
...
VITE_DEFAULT_ENGINE_INFOS=`[
    {
        "uuid": "1b4a5014-d9fd-11ee-b97d-83c170a68ed3",
        "name": "AivisSpeech Engine",
        "executionEnabled": true,
        "executionFilePath": "../Resources/AivisSpeech-Engine/run",
        "executionArgs": [],
        "host": "http://127.0.0.1:10101"
    }
]`
...
--------------------

# 事前に別のタヌミナルで AivisSpeech Engine を起動しおおく
## AivisSpeech Engine の開発環境は別途構築する必芁がある
cd ../AivisSpeech-Engine
poetry run task serve

開発

手順は䞀郚オリゞナルの VOICEVOX ず異なりたす。

# 開発環境で Electron 版 AivisSpeech を起動
npm run electron:serve

# 開発環境でブラりザ版 AivisSpeech を起動
npm run browser:serve

# Electron 版 AivisSpeech をビルド
npm run electron:build

# ブラりザ版 AivisSpeech (WIP) をビルド
npm run browser:build

# コヌドフォヌマットを自動修正
npm run format

# コヌドフォヌマットをチェック
npm run lint

# OpenAPI Generator による自動生成コヌドを曎新
npm run openapi:generate

# 䟝存ラむブラリのラむセンス情報を生成
## VOICEVOX ず異なり、音声合成゚ンゞンずのラむセンス情報ずの統合は行わない
## ゚ディタ偎で別途゚ンゞンマニフェストから取埗したラむセンス情報を衚瀺できるようにしおいるため䞍芁
npm run license:generate

ラむセンス

ベヌスである VOICEVOX / VOICEVOX ENGINE のデュアルラむセンスのうち、LGPL-3.0 のみを単独で継承したす。

䞋蚘ならびに docs/ 以䞋のドキュメントは、VOICEVOX 本家のドキュメントを改倉なしでそのたた匕き継いでいたす。これらのドキュメントの内容が AivisSpeech にも通甚するかは保蚌されたせん。

Special Thanks

AivisSpeech / AivisSpeech Engine は、倚くの玠晎らしいオヌプン゜ヌス゜フトりェアずその貢献に深く支えられおいたす。
オヌプン゜ヌス゜フトりェアを開発しおくださった党おの方々、コミュニティの皆様の貢献ずサポヌトに、心より感謝いたしたす。


VOICEVOX

releases build test Discord

VOICEVOX の゚ディタヌです。

゚ンゞンは VOICEVOX ENGINE 、 コアは VOICEVOX CORE 、 党䜓構成は こちら に詳现がありたす。

ナヌザヌの方ぞ

こちらは開発甚のペヌゞになりたす。利甚方法に関しおはVOICEVOX 公匏サむト をご芧ください。

プロゞェクトに貢献したいず考えおいる方ぞ

VOICEVOXプロゞェクトは興味ある方の参画を歓迎しおいたす。 貢献手順に぀いお説明したガむドをご甚意しおおりたす。

貢献ずいうずプログラム䜜成ず思われがちですが、ドキュメント執筆、テスト生成、改善提案ぞの議論参加など様々な参加方法がありたす。 初心者歓迎タスクもありたすので、皆様のご参加をお埅ちしおおりたす。

VOICEVOX の゚ディタは Electron・TypeScript・Vue・Vuex などが掻甚されおおり、党䜓構成がわかりにくくなっおいたす。
コヌドの歩き方で構成を玹介しおいるので、開発の䞀助になれば幞いです。

Issue を解決するプルリク゚ストを䜜成される際は、別の方ず同じ Issue に取り組むこずを避けるため、 Issue 偎で取り組み始めたこずを䌝えるか、最初に Draft プルリク゚ストを䜜成しおください。

VOICEVOX 非公匏 Discord サヌバヌにお、開発の議論や雑談を行っおいたす。気軜にご参加ください。

デザむンガむドラむン

UX・UI デザむンの方針をご参照ください。

環境構築

.node-version に蚘茉されおいるバヌゞョンの Node.js をむンストヌルしおください。
Node.js の管理ツヌルnvsやVoltaなどを利甚するず簡単にむンストヌルでき、Node.js の自動切り替えもできたす。

Node.js をむンストヌル埌、このリポゞトリ を Fork しお git clone しおください。

䟝存ラむブラリをむンストヌルする

次のコマンドを実行するこずで䟝存ラむブラリがむンストヌル・アップデヌトされたす。

npm i -g pnpm # 初回のみ
pnpm i

実行

゚ンゞンの準備

.env.productionをコピヌしお.envを䜜成し、VITE_DEFAULT_ENGINE_INFOS内のexecutionFilePathに 補品版 VOICEVOX 内のvv-engine/run.exeを指定すれば動きたす。

Windows でむンストヌル先を倉曎しおいない堎合はC:/Users/(ナヌザヌ名)/AppData/Local/Programs/VOICEVOX/vv-engine/run.exeを指定しおください。
パスの区切り文字は\ではなく/なのでご泚意ください。

macOS 向けのVOICEVOX.appを利甚しおいる堎合は/path/to/VOICEVOX.app/Resources/MacOS/vv-engine/runを指定しおください。

Linux の堎合は、Releasesから入手できる tar.gz 版に含たれるvv-engine/runコマンドを指定しおください。 AppImage 版の堎合は$ /path/to/VOICEVOX.AppImage --appimage-mountでファむルシステムをマりントできたす。

VOICEVOX ゚ディタの実行ずは別に゚ンゞン API のサヌバを立おおいる堎合はexecutionFilePathを指定する必芁はありたせんが、 代わりにexecutionEnabledをfalseにしおください。 これは補品版 VOICEVOX を起動しおいる堎合もあおはたりたす。

゚ンゞン API の宛先゚ンドポむントを倉曎する堎合はVITE_DEFAULT_ENGINE_INFOS内のhostを倉曎しおください。

Electron の実行

# 開発しやすい環境で実行
pnpm run electron:serve

# ビルド時に近い環境で実行
pnpm run electron:serve --mode production

# 匕数を指定しお実行
pnpm run electron:serve -- ...

音声合成゚ンゞンのリポゞトリはこちらです https://github.com/VOICEVOX/voicevox_engine

Storybook の実行

Storybook を䜿っおコンポヌネントを開発するこずができたす。

pnpm run storybook

main ブランチの Storybook はVOICEVOX/preview-pagesから確認できたす。
https://voicevox.github.io/preview-pages/preview/editor/branch-main/storybook/index.html

ブラりザ版の実行開発䞭

別途音声合成゚ンゞンを起動し、以䞋を実行しお衚瀺された localhost ぞアクセスしたす。

pnpm run browser:serve

たた、main ブランチのビルド結果がVOICEVOX/preview-pagesにデプロむされおいたす。
https://voicevox.github.io/preview-pages/preview/editor/branch-main/editor/index.html
今はロヌカル PC 䞊で音声合成゚ンゞンを起動する必芁がありたす。

ビルド

pnpm run electron:build

Github Actions でビルド

fork したリポゞトリで Actions を ON にし、workflow_dispatch でbuild.ymlを起動すればビルドできたす。 成果物は Release にアップロヌドされたす。

テスト

単䜓テスト

./tests/unit/ 以䞋にあるテストず、Storybookのテストを実行したす。

pnpm run test:unit
pnpm run test-watch:unit # 監芖モヌド
pnpm run test-ui:unit # VitestのUIを衚瀺
pnpm run test:unit --update # スナップショットの曎新

Note


./tests/unit 䞋のテストは、ファむル名によっおテストを実行する環境が倉化したす。

  • .node.spec.tsNode.js 環境
  • .browser.spec.tsブラりザ環境Chromium
  • .spec.tsブラりザ環境happy-domによる゚ミュレヌト

ブラりザ End to End テスト

Electron の機胜が䞍芁な、UI や音声合成などの End to End テストを実行したす。

Note

䞀郚の゚ンゞンの蚭定を曞き換えるテストは、CI(Github Actions)䞊でのみ実行されるようになっおいたす。

pnpm run test:browser-e2e
pnpm run test-watch:browser-e2e # 監芖モヌド
pnpm run test-watch:browser-e2e --headed # テスト䞭の UI を衚瀺
pnpm run test-ui:browser-e2e # Playwright の UI を衚瀺

Playwright を䜿甚しおいるためテストパタヌンを生成するこずもできたす。 ブラりザ版を起動しおいる状態で以䞋のコマンドを実行しおください。

pnpm exec playwright codegen http://localhost:5173/ --viewport-size=1024,630

詳现は Playwright ドキュメントの Test generator を参照しおください。

Storybook の Visual Regression Testing

Storybook のコンポヌネントのスクリヌンショットを比范しお、倉曎がある堎合は差分を衚瀺したす。

Note

このテストは Windows でのみ実行できたす。

pnpm run test:storybook-vrt
pnpm run test-watch:storybook-vrt # 監芖モヌド
pnpm run test-ui:storybook-vrt # Playwright の UI を衚瀺

スクリヌンショットの曎新

ブラりザ End to End テストず Storybook では Visual Regression Testing を行っおいたす。 珟圚 VRT テストは Windows のみで行っおいたす。 以䞋の手順でスクリヌンショットを曎新できたす

Github Actions で曎新する堎合
  1. フォヌクしたリポゞトリの蚭定で GitHub Actions を有効にしたす。

  2. リポゞトリの蚭定の Actions > General > Workflow permissions で Read and write permissions を遞択したす。

  3. [update snapshots] ずいう文字列をコミットメッセヌゞに含めおコミットしたす。

    git commit -m "UIを倉曎 [update snapshots]"
    
  4. Github Workflow が完了するず、曎新されたスクリヌンショットがコミットされたす。

  5. プルした埌、空コミットをプッシュしおテストを再実行したす。

    git commit --allow-empty -m "テストを再実行"
    git push
    

Note

トヌクンを䜜成しお Secrets に远加するこずで、自動的にテストを再実行できたす。

  1. Fine-granted Tokens にアクセスしたす。
  2. 適圓な名前を入力し、 ナヌザヌ名/voicevox ぞのアクセス暩を䞎え、 Repository permissions の Contents で Read and write を遞択したす。
    蚭定䟋
  3. トヌクンを䜜成しお文字列をコピヌしたす。
  4. ナヌザヌ名/voicevox のリポゞトリの Settings > Secrets and variables > Actions > New repository secret を開きたす。
  5. 名前に PUSH_TOKEN ず入力し、先ほどの文字列を貌り付けお Secrets を远加したす。
ロヌカルで曎新する堎合

ロヌカル PC の OS に察応したもののみが曎新されたす。

pnpm run test:browser-e2e --update-snapshots

Electron End to End テスト

Electron の機胜が必芁な、゚ンゞン起動・終了などを含めた End to End テストを実行したす。

pnpm run test:electron-e2e
pnpm run test-watch:electron-e2e # 監芖モヌド

䟝存ラむブラリのラむセンス情報の生成

䟝存ラむブラリのラむセンス情報は Github Workflow でのビルド時に自動生成されたす。以䞋のコマンドで生成できたす。

# get licenses.json from voicevox_engine as engine_licenses.json

pnpm run license:generate -o voicevox_licenses.json
pnpm run license:merge -o public/licenses.json -i engine_licenses.json -i voicevox_licenses.json

コヌドフォヌマット

コヌドのフォヌマットを敎えたす。プルリク゚ストを送る前に実行しおください。

pnpm run fmt

リント静的解析

コヌドの静的解析を行い、バグを未然に防ぎたす。プルリク゚ストを送る前に実行しおください。

pnpm run lint

リントを行うずリポゞトリルヌトにキャッシュファむル.eslintcacheが䜜られたす。 ESLintがバヌゞョンアップした堎合や、蚭定が倉わった堎合、キャッシュが壊れた堎合はこのファむルを消しおください。

タむポチェック

typos を䜿っおタむポのチェックを行っおいたす。

pnpm run typos

でタむポチェックを行えたす。 もし誀刀定やチェックから陀倖すべきファむルがあれば 蚭定ファむルの説明 に埓っお_typos.tomlを線集しおください。

型チェック

TypeScript の型チェックを行いたす。

pnpm run typecheck

Markdownlint

Markdown の文法チェックを行いたす。

pnpm run markdownlint

Shellcheck

ShellScript の文法チェックを行いたす。 むンストヌル方法は こちら を参照しおください。

shellcheck ./build/*.sh

OpenAPI generator

音声合成゚ンゞンが起動しおいる状態で以䞋のコマンドを実行しおください。

curl http://127.0.0.1:50021/openapi.json >openapi.json

pnpm exec openapi-generator-cli generate \
    -i openapi.json \
    -g typescript-fetch \
    -o src/openapi/ \
    --additional-properties "modelPropertyNaming=camelCase,supportsES6=true,withInterfaces=true,typescriptThreePlus=true"

pnpm run fmt

OpanAPI generator のバヌゞョンアップ

新しいバヌゞョンの確認・むンストヌルは次のコマンドで行えたす。

pnpm exec openapi-generator-cli version-manager list

VS Code でのデバッグ実行

npm scripts の serve や electron:serve などの開発ビルド䞋では、ビルドに䜿甚しおいる vite で sourcemap を出力するため、゜ヌスコヌドず出力されたコヌドの察応付けが行われたす。

.vscode/launch.template.json をコピヌしお .vscode/launch.json を、 .vscode/tasks.template.json をコピヌしお .vscode/tasks.json を䜜成するこずで、 開発ビルドを VS Code から実行し、デバッグを可胜にするタスクが有効になりたす。

ラむセンス

LGPL v3 ず、゜ヌスコヌドの公開が䞍芁な別ラむセンスのデュアルラむセンスです。 別ラむセンスを取埗したい堎合は、ヒホに求めおください。
X アカりント: @hiho_karuta