Skip to content

Commit

Permalink
フォーマット
Browse files Browse the repository at this point in the history
  • Loading branch information
Hiroshiba committed May 4, 2024
1 parent ab9960e commit 4199555
Showing 1 changed file with 38 additions and 27 deletions.
65 changes: 38 additions & 27 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@ TODO: 重複部分を省く

## 目次

* [環境構築](#環境構築)
* [スクリプトの使い方](#スクリプトの使い方)
* [実行](#実行)
* [テスト](#テスト)
* [ビルド](#ビルド)
* [コードフォーマット](#コードフォーマット)
* [タイポチェック](#タイポチェック)
* [APIドキュメントの確認](#APIドキュメントの確認)
* [依存関係](#依存関係)
* [ユーザー辞書の更新について](#ユーザー辞書の更新について)
* [Issue](#issue)
- [環境構築](#環境構築)
- [スクリプトの使い方](#スクリプトの使い方)
- [実行](#実行)
- [テスト](#テスト)
- [ビルド](#ビルド)
- [コードフォーマット](#コードフォーマット)
- [タイポチェック](#タイポチェック)
- [API ドキュメントの確認](#APIドキュメントの確認)
- [依存関係](#依存関係)
- [ユーザー辞書の更新について](#ユーザー辞書の更新について)
- [Issue](#issue)

## 貢献者の方へ

Expand All @@ -24,11 +24,12 @@ Issue 側で取り組み始めたことを伝えるか、最初に Draft プル
[VOICEVOX 非公式 Discord サーバー](https://discord.gg/WMwWetrzuh)にて、開発の議論や雑談を行っています。気軽にご参加ください。

## 環境構築

`Python 3.11.3` を用いて開発されています。
インストールするには、各 OS ごとの C/C++ コンパイラ、CMake が必要になります。

まずリポジトリをフォークします。
次に以下の手順でローカル環境を構築します。
次に以下の手順でローカル環境を構築します。

```bash
# レポジトリのクローン
Expand All @@ -53,15 +54,17 @@ python -m pip install -r requirements.txt -r requirements-dev.txt -r requirement
次に音声ライブラリを準備します。
OSS 版 VOICEVOX ENGINE は製品版 VOICEVOX の音声ライブラリを含んでいません。
これら音声ライブラリは、利用規約を遵守の上、以下のいずれかの手順で導入できます。これにより「ずんだもん」等の製品版キャラクター音声を合成できます。
なお、OSS 版 VOICEVOX ENGINE 単体でもモック利用により機能制限版の音声合成が可能です。その場合、音声ライブラリの導入は不要です。
なお、OSS 版 VOICEVOX ENGINE 単体でもモック利用により機能制限版の音声合成が可能です。その場合、音声ライブラリの導入は不要です。

### 製品版 VOICEVOX を用いた音声ライブラリの導入

製品版 VOICEVOX を導入することで音声ライブラリを利用できます。
[VOICEVOX 公式ホームページ](https://voicevox.hiroshiba.jp/)に従いソフトウェアを導入してください。
[VOICEVOX 公式ホームページ](https://voicevox.hiroshiba.jp/)に従いソフトウェアを導入してください。

### 製品版 VOICEVOX CORE を用いた音声ライブラリの導入

製品版 VOICEVOX CORE を導入することで音声ライブラリを利用できます。
以下のコマンドにより必要なファイルが準備されます。
以下のコマンドにより必要なファイルが準備されます。

```bash
# CORE のバリエーション指定変数を定義する(例として x64 Linux マシン向け VOICEVOX CORE v0.15.0 CPU版)
Expand All @@ -75,18 +78,18 @@ unzip "${CORENAME}.zip"

CORE のバリエーション変数は以下の値を指定できます。

* `VERSION`: voicevox_core のバージョン (例として `0.15.0`)
* `OS`: OS 種別 (`windows` | `osx` | `linux`)
* `ARCHITECTURE`: CPU アーキテクチャ (`x86` | `x64` | `arm64`)
* `PROCESSOR`: プロセッサ種別 (`cpu` | `gpu` | `cuda` | `directml`)
- `VERSION`: voicevox_core のバージョン (例として `0.15.0`)
- `OS`: OS 種別 (`windows` | `osx` | `linux`)
- `ARCHITECTURE`: CPU アーキテクチャ (`x86` | `x64` | `arm64`)
- `PROCESSOR`: プロセッサ種別 (`cpu` | `gpu` | `cuda` | `directml`)

最新のリリースは以下にあります。
https://github.com/VOICEVOX/voicevox_core/releases/latest


## スクリプトの使い方

### 実行

VOICEVOX ENGINE を実行することで HTTP サーバーが立ち上がります。
コマンドライン引数の詳細は以下のコマンドで確認してください。

Expand All @@ -95,30 +98,35 @@ python run.py --help
```

#### 音声ライブラリに製品版 VOICEVOX を利用して実行

```bash
VOICEVOX_DIR="C:/path/to/voicevox" # 製品版 VOICEVOX ディレクトリのパス
python run.py --voicevox_dir=$VOICEVOX_DIR
```

#### 音声ライブラリに製品版 VOICEVOX CORE を利用して実行

```bash
VOICELIB_DIR_1="C:/path/to/core_1"; VOICELIB_DIR_2="C:/path/to/core_2"; # 製品版 VOICEVOX CORE ディレクトリのパス
python run.py --voicelib_dir=$VOICELIB_DIR_1 --voicelib_dir=$VOICELIB_DIR_2
```

#### 音声ライブラリ無しで実行

```bash
python run.py --enable_mock
```

#### ログをUTF8に変更
#### ログを UTF8 に変更

```bash
python run.py --output_log_utf8
# もしくは
VV_OUTPUT_LOG_UTF8=1 python run.py
```

### テスト

```bash
python -m pytest
```
Expand All @@ -131,7 +139,7 @@ python -m pytest --snapshot-update

### ビルド

この方法でビルドしたものは、リリースで公開されているものとは異なります。 また、GPUで利用するにはcuDNNやCUDA、DirectMLなどのライブラリが追加で必要となります
この方法でビルドしたものは、リリースで公開されているものとは異なります。 また、GPU で利用するには cuDNN や CUDA、DirectML などのライブラリが追加で必要となります

```bash
OUTPUT_LICENSE_JSON_PATH=licenses.json \
Expand All @@ -144,7 +152,7 @@ pyinstaller --noconfirm run.spec
CORE_MODEL_DIR_PATH="/path/to/core_model" \
LIBCORE_PATH="/path/to/libcore" \
LIBONNXRUNTIME_PATH="/path/to/libonnxruntime" \
pyinstaller --noconfirm run.spec
pyinstaller --noconfirm run.spec
```

#### Github Actions でビルド
Expand Down Expand Up @@ -176,34 +184,36 @@ typos

でタイポチェックを行えます。 もし誤判定やチェックから除外すべきファイルがあれば [設定ファイルの説明](https://github.com/crate-ci/typos#false-positives) に従って`_typos.toml`を編集してください。

### APIドキュメントの確認
### API ドキュメントの確認

API ドキュメント(実体はdocs/api/index.html)は自動で更新されます。
API ドキュメント(実体は docs/api/index.html)は自動で更新されます。
次のコマンドで API ドキュメントを手動で作成することができます。

```bash
PYTHONPATH=. python build_util/make_docs.py
```


### 依存関係

[Poetry](https://python-poetry.org/) を用いて依存ライブラリのバージョンを固定しています。 以下のコマンドで操作できます。

パッケージを追加する場合

```bash
poetry add `パッケージ名`
poetry add --group dev `パッケージ名` # 開発依存の追加
poetry add --group test `パッケージ名` # テスト依存の追加
```

パッケージをアップデートする場合

```bash
poetry update `パッケージ名`
poetry update # 全部更新
```

requirements.txtの更新
requirements.txt の更新

```bash
poetry export --without-hashes -o requirements.txt # こちらを更新する場合は下3つも更新する必要があります。
poetry export --without-hashes --with dev -o requirements-dev.txt
Expand Down Expand Up @@ -244,6 +254,7 @@ PYTHONPATH=. python build_util/make_docs.py
| DOCKERHUB_TOKEN | [Docker Hub アクセストークン](https://hub.docker.com/settings/security) |

## Issue

不具合の報告、機能要望、改善提案、質問は<a href="https://github.com/VOICEVOX/voicevox_engine/issues/new">Issue</a>の方に報告してください。

## ライセンス
Expand Down

0 comments on commit 4199555

Please sign in to comment.