VOICEVOX
VOICEVOX のエディターです。
(エンジンは VOICEVOX ENGINE 、 コアは VOICEVOX CORE 、 全体構成は こちら に詳細があります。)
ユーザーの方へ
こちらは開発用のページになります。利用方法に関してはVOICEVOX 公式サイト をご覧ください。
貢献者の方へ
Issue を解決するプルリクエストを作成される際は、別の方と同じ Issue に取り組むことを避けるため、 Issue 側で取り組み始めたことを伝えるか、最初に Draft プルリクエストを作成してください。
デザインガイドライン
UX・UIデザインの方針をご参照ください。
環境構築
.node-version に記載されているバージョンの Node.js をインストールしてください。
Node.js をインストール後、このリポジトリ を
Fork して git clone
し、次のコマンドを実行してください。
Node.js の管理ツール (nvsなど)を利用すると、 .node-version を簡単にインストールすることができます。
npm ci
実行
.env.production
をコピーして.env
を作成し、DEFAULT_ENGINE_INFOS
内のexecutionFilePath
にvoicevox_engine
があるパスを指定します。
製品版 VOICEVOX のディレクトリのパスを指定すれば動きます。
Windowsの場合でもパスの区切り文字は\
ではなく/
なのでご注意ください。
VOICEVOXエディタの実行とは別にエンジンAPIのサーバを立てている場合はexecutionFilePath
を指定する必要はありません。
また、エンジンAPIの宛先エンドポイントを変更する場合はDEFAULT_ENGINE_INFOS
内のhost
を変更してください。
npm run electron:serve
音声合成エンジンのリポジトリはこちらです https://github.com/VOICEVOX/voicevox_engine
ビルド
npm run electron:build
テスト
npm run test:unit
npm run test:e2e
依存ライブラリのライセンス情報の生成
# get licenses.json from voicevox_engine as engine_licenses.json
npm run license:generate -- -o voicevox_licenses.json
npm run license:merge -- -o public/licenses.json -i engine_licenses.json -i voicevox_licenses.json
コードフォーマット
コードのフォーマットを整えます。プルリクエストを送る前に実行してください。
npm run fmt
タイポチェック
typos を使ってタイポのチェックを行っています。 typos をインストール した後
typos
でタイポチェックを行えます。
もし誤判定やチェックから除外すべきファイルがあれば
設定ファイルの説明 に従って_typos.toml
を編集してください。
型チェック
TypeScriptの型チェックを行います。 ※ 現在チェック方法は2種類ありますが、将来的に1つになります。
# .tsのみ型チェック
npm run typecheck
# .vueも含めて型チェック
# ※ 現状、大量にエラーが検出されます。
npm run typecheck:vue-tsc
Markdownlint
Markdown の文法チェックを行います。
npm run markdownlint
Shellcheck
ShellScript の文法チェックを行います。 インストール方法は こちら を参照してください。
shellcheck ./build/*.sh
OpenAPI generator
音声合成エンジンが起動している状態で以下のコマンドを実行してください。
curl http://127.0.0.1:50021/openapi.json >openapi.json
$(npm bin)/openapi-generator-cli generate \
-i openapi.json \
-g typescript-fetch \
-o src/openapi/ \
--additional-properties=modelPropertyNaming=camelCase,supportsES6=true,withInterfaces=true,typescriptThreePlus=true
npm run fmt
ライセンス
LGPL v3 と、ソースコードの公開が不要な別ライセンスのデュアルライセンスです。 別ライセンスを取得したい場合は、ヒホ(twitter: @hiho_karuta)に求めてください。