/voicevox

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

Primary LanguageTypeScriptOtherNOASSERTION

VOICEVOX

VOICEVOX のエディターです。

(エンジンは VOICEVOX ENGINE 、 コアは VOICEVOX CORE 、 全体構成は こちら に詳細があります。)

環境構築

.node-version に記載されているバージョンの Node.js をインストールしてください。 Node.js をインストール後、このリポジトリ を Fork して git clone し、次のコマンドを実行してください。

Node.js の管理ツール (nvsなど)を利用すると、 .node-version を簡単にインストールすることができます。

npm ci

実行

.env.productionをコピーして.envを作成し、DEFAULT_ENGINE_INFOS内のexecutionFilePathvoicevox_engineがあるパスを指定します。 製品版 VOICEVOX のディレクトリのパスを指定すれば動きます。 Windowsの場合でもパスの区切り文字は\ではなく/なのでご注意ください。

npm run electron:serve

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

貢献者の方へ

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

ビルド

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を編集してください。

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)に求めてください。