Giter Site home page Giter Site logo

tsubakibot / voicevox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from voicevox/voicevox

0.0 0.0 0.0 34.48 MB

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

Home Page: https://voicevox.hiroshiba.jp/

License: Other

Shell 1.52% JavaScript 2.10% TypeScript 45.36% HTML 0.12% NSIS 5.80% Vue 44.05% Dockerfile 0.04% SCSS 1.01%

voicevox's Introduction

VOICEVOX

releases build test Discord

VOICEVOX のエディターです。

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

ユーザーの方へ

こちらは開発用のページになります。利用方法に関してはVOICEVOX 公式サイト をご覧ください。

貢献者の方へ

VOICEVOX のエディタは Electron・TypeScript・Vue・Vuex などが活用されており、全体構成がわかりにくくなっています。
コードの歩き方で構成を紹介しているので、開発の一助になれば幸いです。

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

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

デザインガイドライン

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

環境構築

.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の場合でもパスの区切り文字は\ではなく/なのでご注意ください。

また、macOS向けのVOICEVOX.appを利用している場合は/path/to/VOICEVOX.app/Contents/MacOS/runを指定してください。

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

VOICEVOXエディタの実行とは別にエンジンAPIのサーバを立てている場合はexecutionFilePathを指定する必要はありません。 これは製品版VOICEVOXを起動している場合もあてはまります。

また、エンジン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

監視モード

npm run test-watch:unit
npm run test-watch: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

npx 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

VS Code でのデバッグ実行

npm scripts の serveelectron:serve などの開発ビルド下では、ビルドに使用している vite で sourcemap を出力するため、ソースコードと出力されたコードの対応付けが行われます。

.vscode/launch.template.json をコピーして .vscode/launch.json を作成することで、開発ビルドを VS Code から実行し、デバッグを可能にするタスクが有効になります。

ライセンス

LGPL v3 と、ソースコードの公開が不要な別ライセンスのデュアルライセンスです。 別ライセンスを取得したい場合は、ヒホ(twitter: @hiho_karuta)に求めてください。

voicevox's People

Contributors

hiroshiba avatar sevenc-nanashi avatar mt224244 avatar y-chan avatar segu-g avatar aoirint avatar madosuki avatar patchethium avatar k-kuroguro avatar k-chop avatar sabonerune avatar pickledchair avatar yamachu avatar yosshi999 avatar takana-v avatar sousuke0422 avatar oov avatar shirayu avatar eggplants avatar mes51 avatar raa0121 avatar sopisoft avatar hyodakazuaki avatar kantas-spike avatar shigobu avatar wappon28dev avatar yuqquu avatar tunamaguro avatar qwerty2501 avatar nogino52 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.