Skip to content

Commit

Permalink
ダウンロードスクリプトの作成とドキュメントの修正 (#249)
Browse files Browse the repository at this point in the history
* ダウンロードスクリプトの作成とドキュメントの修正

 ## 内容
 voicevox_coreのダウンロードと追加ライブラリのダウンロードを行うスクリプトを作成します(shell script,power shell)
 また現状READMEを修正している人がいないのでそれに伴いREADMEを修正する必要があるがこのさいRust化したことによってつじつまが合わなくなった部分や、不足しているもの(Pythonのexampleの説明はトップREADMEにあるのにC++のexamleの説明はリンクすらないこと)などを直していこうと思います。

* WIP releasesからartifactをダウンロードして展開するスクリプトを作成した

* renamed baseurl

* open_jtalkダウンロード機能を実装した

* directory名変更する

* 新しいバージョンを取得する関数を分けた

* option指定方法を変更

* 変数名を短くした

* cudaはlinuxのみと記載した

* format

* 説明文を修正

* script名変更

* path変更した

* default値が有効になるようにした

* powershellダウンロードスクリプトを作った

* full optionをminにして通常はすべてダウンロードするようにした 

* downloaderのドキュメントを作成した

* download関連のドキュメントを修正した

* pythonのexampleをdownloaderを使用した新しいものに修正した

* cmakeでのexampleをdownloaderを使用したものに更新

* リポジトリで管理してる全てのexampleの案内をトップのREADMEに記載した

* download testを追加した

* overwriteを指定しないようにした

* mac版に対応した

* curl失敗時にエラーになるようにした

* exampleのテストが通ってないのを修正

* cmakeにtarget_include_directoriesを追加した

* versionチェックを追加

* download directoryを引数化することによりコード量を削減した

* macのテストを無効化

* 追加ライブラリダウンロード処理を実装した

* 存在してはいけないファイルチェックを追加

* cudaダウンロードテスト実装した

* ワイルドカードを使えるようにした

* linux版cudaを追加

* directmlパターンを追加

* DirectML minタイプも追加

* cudaのMinタイプも追加

* linuxのcuda min type追加

* minの場合はopen_jtalk辞書もダウンロードされないのでファイル非存在に追加

* cpuでのminチェック追加

* powershellの場合はtrueを指定するようにした

* output確認を追加

* 名前をわかりやすくした

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update docs/downloads/Download.md

Co-authored-by: Hiroshiba <[email protected]>

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update example/python/README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update docs/downloads/Download.md

Co-authored-by: Hiroshiba <[email protected]>

* Update docs/downloads/Download.md

Co-authored-by: Hiroshiba <[email protected]>

* audio_query 関数の返すクエリの初期値に create_kana の結果を格納 (#254)

* audio_query関数の返すAudioQueryのkanaフィールドにcreate_kanaの結果を格納

* AudioQueryModelのkanaフィールドのallow(dead_code)を削除

* VoicevoxCore::audio_queryのテストを実装

* 句読点の長さが適切に設定されていなかった問題を修正 (#255)

* pause_moraの長さが適切に設定されていなかった部分を修正

* テキストに句読点が含まれている場合にcreate_accent_phrasesに期待する値をテスト

* ループの書き方を改善

* 消し忘れを削除

* オプションの手順は最後にした

* Downloaderに統一

* PowerShellの表記ゆれを修正

* downloaderの大文字小文字を修正した

* powershellの大文字小文字を統一した

* downloaderをダウンロードする旨を削除

* downloaderのreleaseを追加

* main branchかダウンロード関係のファイルに変更が合った場合にダウンロードテストが実行されるようにした 

* latestの場合は自動で最新版を設定するようにした

* mainなら常に実行されるように変更

* EXPECTED_VOICEVOX_CORE_VERSIONに設定されるように変更

* 表記ゆれを修正した

* fileの表記ゆれを修正

* renamed powershell script

* title変更

* linkをid指定に変更した

* download scirptファイル名を変更

* download.mdに変更

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update example/cpp/unix/README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* Update README.md

Co-authored-by: Hiroshiba <[email protected]>

* PyO3を使ってクレートからwhlを作る (#239)

* Export more items in `voicevox_core`

* Add `voicevox_core_python_api`

* Add pyd files to .gitignore

* Install Python 3.8

* Build only `voicevox_core_c_api` in `build-unix-cpp-example`

* Add `build-python-api` job

* Deny non-Unicode path for `open_jtalk_dict_dir`

* Remove an unused dependency

* Use pyo3-log again

* Add `VoicevoxCore.is_gpu_mode` as a `@property`

* Add example/pyo3/.gitignore

* Add `help`s

* Add example/pyo3/README.md

* Insert an empty line

* Use `@pydantic.dataclasses.dataclass` for `SupportedDevices`

* Load `./*.dll`

* Modify run.py

* Do not allow `None` for `acceleration_mode`

* Reorder methods

* Move pyproject.toml

* Move requirements.txt

* Release whl

* Leave the `package.version` of voicevox_core_python_api as is

* Add crates/voicevox_core_python_api/README.md

* Minor refactor

* Improve "環境構築"

* Fix a typo

Co-authored-by: Nanashi. <[email protected]>

* Fix a link

* Add `voicevox_core_python_api/directml` feature

* Update crates/voicevox_core_python_api/README.md

* Add a comment

* Remove /requirements.txt

* `pass` → `...`

* Type the return type of `VoicevoxCore.decode`

* Minor refactor

Co-authored-by: Nanashi. <[email protected]>

* Update docs/downloads/download.md

Co-authored-by: Gray Suitcase <[email protected]>

* curlからo optionを削除した

* Update scripts/downloads/download.sh

Co-authored-by: Gray Suitcase <[email protected]>

* type argument to accelerator

* type -> Acceleratorに変更

* testを修正

* Update docs/downloads/download.md

Co-authored-by: Gray Suitcase <[email protected]>

* Update docs/downloads/download.md

Co-authored-by: Gray Suitcase <[email protected]>

* Update docs/downloads/download.md

Co-authored-by: Gray Suitcase <[email protected]>

* Invoke-WebRequestだとpipeがうまくいかないのでpowershellの場合は全て一度downloadスクリプトをダウンロードしてからスクリプトを実行するようにした

* Outputを絶対パス化するようにした

* Outputを絶対パス化した

* Update .github/workflows/download_test.yml

Co-authored-by: Gray Suitcase <[email protected]>

* 元のパラメタが正しかったので修正

* includeディレクトリを追加するのをやめてカレントディレクトリからの参照にするようにした

macosでビルドできなくなったため

Co-authored-by: Hiroshiba <[email protected]>
Co-authored-by: Gray Suitcase <[email protected]>
Co-authored-by: Ryo Yamashita <[email protected]>
Co-authored-by: Nanashi. <[email protected]>
  • Loading branch information
5 people authored Sep 11, 2022
1 parent b3c47e5 commit 89a0911
Show file tree
Hide file tree
Showing 15 changed files with 759 additions and 106 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/build_and_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -156,3 +156,16 @@ jobs:
prerelease: true
tag: ${{ env.VERSION }}
file: ${{ steps.build-voicevox-core-python-api.outputs.whl }}
deploy_downloader:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Upload to Release
if: env.VERSION != 'DEBUG' && env.SKIP_UPLOADING_RELEASE_ASSET == '0'
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
prerelease: true
file: scripts/downloads/*
file_glob: true
tag: ${{ env.VERSION }}
270 changes: 270 additions & 0 deletions .github/workflows/download_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,270 @@
name: Download test workflow
on:
push:
branches:
- main
pull_request:
paths:
- "scripts/downloads/*"
- ".github/workflows/download_test.yml"
jobs:
downlaod-releases:
strategy:
fail-fast: false
matrix:
include:
- name: 通常ダウンロード
os: windows-latest
download_command: ./scripts/downloads/Download.ps1
download_dir: voicevox_core
check_items: |
core.dll
open_jtalk_dic_utf_8-1.11
README.txt
check_not_exists_items: |
*directml*
*cuda*
*cudnn*
*onnxruntime*providers*
*eula*
*nvidia*
*cufft*
*curand*
- name: output先指定ダウンロード
os: windows-latest
download_command: ./scripts/downloads/Download.ps1 -Output other_output
download_dir: other_output
check_items: |
core.dll
open_jtalk_dic_utf_8-1.11
README.txt
check_not_exists_items: |
*directml*
*cuda*
*cudnn*
*onnxruntime*providers*
*eula*
*nvidia*
*cufft*
*curand*
- name: Min option確認
os: windows-latest
download_command: ./scripts/downloads/Download.ps1 -Min $True
download_dir: voicevox_core
check_items: |
core.dll
README.txt
check_not_exists_items: |
*directml*
*cuda*
*cudnn*
*onnxruntime*providers*
*eula*
*nvidia*
*cufft*
*curand*
open_jtalk_dic_utf_8-1.11
- name: DirectML option確認
os: windows-latest
download_command: ./scripts/downloads/Download.ps1 -Accelerator directml
download_dir: voicevox_core
check_items: |
core.dll
open_jtalk_dic_utf_8-1.11
README.txt
DirectML.dll
DirectML_LICENSE.txt
check_not_exists_items: |
*directml*
*cuda*
*cudnn*
*eula*
*nvidia*
*cufft*
*curand*
- name: DirectMLかつMin option確認
os: windows-latest
download_command: ./scripts/downloads/Download.ps1 -Accelerator directml -Min $true
download_dir: voicevox_core
check_items: |
core.dll
README.txt
check_not_exists_items: |
*cuda*
*cudnn*
*eula*
*nvidia*
*cufft*
*curand*
Directml.dll
DirectML_LICENSE.txt
open_jtalk_dic_utf_8-1.11
- name: cuda option確認
os: windows-latest
download_command: ./scripts/downloads/Download.ps1 -Accelerator cuda
download_dir: voicevox_core
check_items: |
core.dll
open_jtalk_dic_utf_8-1.11
README.txt
EULA.txt
NVIDIA_SLA_cuDNN_Support.txt
cublas64_*.dll
cublasLt64_*.dll
cudart64_*.dll
cudnn64_*.dll
cudnn_adv_infer64_*.dll
cudnn_cnn_infer64_*.dll
cudnn_ops_infer64_*.dll
cufft64_*.dll
curand64_*.dll
check_not_exists_items: |
*directml*
- name: cudaかつmin option確認
os: windows-latest
download_command: ./scripts/downloads/Download.ps1 -Accelerator cuda -Min $true
download_dir: voicevox_core
check_items: |
core.dll
README.txt
check_not_exists_items: |
*directml*
EULA.txt
NVIDIA_SLA_cuDNN_Support.txt
cublas64_*.dll
cublasLt64_*.dll
cudart64_*.dll
cudnn64_*.dll
cudnn_adv_infer64_*.dll
cudnn_cnn_infer64_*.dll
cudnn_ops_infer64_*.dll
cufft64_*.dll
curand64_*.dll
open_jtalk_dic_utf_8-1.11
- name: 通常ダウンロード
os: ubuntu-latest
download_command: ./scripts/downloads/download.sh
download_dir: voicevox_core
check_items: |
libcore.so
open_jtalk_dic_utf_8-1.11
README.txt
check_not_exists_items: |
*directml*
*cuda*
*cudnn*
*onnxruntime*providers*
*eula*
*nvidia*
*cufft*
*curand*
- name: output先指定ダウンロード
os: ubuntu-latest
download_command: ./scripts/downloads/download.sh --output other_output
download_dir: other_output
check_items: |
libcore.so
open_jtalk_dic_utf_8-1.11
README.txt
check_not_exists_items: |
*directml*
*cuda*
*cudnn*
*onnxruntime*providers*
*eula*
*nvidia*
*cufft*
*curand*
- name: min option確認
os: ubuntu-latest
download_command: ./scripts/downloads/download.sh --min
download_dir: voicevox_core
check_items: |
libcore.so
README.txt
check_not_exists_items: |
*directml*
*cuda*
*cudnn*
*onnxruntime*providers*
*eula*
*nvidia*
*cufft*
*curand*
open_jtalk_dic_utf_8-1.11
- name: cuda option確認
os: ubuntu-latest
download_command: ./scripts/downloads/download.sh --accelerator cuda
download_dir: voicevox_core
check_items: |
libcore.so
open_jtalk_dic_utf_8-1.11
README.txt
EULA.txt
NVIDIA_SLA_cuDNN_Support.txt
libcublas.so.*
libcublasLt.so.*
libcudnn.so.*
libcudnn_adv_infer.so.*
libcudnn_cnn_infer.so.*
libcudnn_ops_infer.so.*
libcufft.so.*
libcurand.so.*
check_not_exists_items: |
*directml*
- name: cudaかつmin option確認
os: ubuntu-latest
download_command: ./scripts/downloads/download.sh --accelerator cuda --min
download_dir: voicevox_core
check_items: |
libcore.so
README.txt
check_not_exists_items: |
*directml*
EULA.txt
NVIDIA_SLA_cuDNN_Support.txt
libcublas.so.*
libcublasLt.so.*
libcudnn.so.*
libcudnn_adv_infer.so.*
libcudnn_cnn_infer.so.*
libcudnn_ops_infer.so.*
libcufft.so.*
libcurand.so.*
open_jtalk_dic_utf_8-1.11
runs-on: ${{ matrix.os }}
name: ${{ matrix.name }}-${{ matrix.os }}
env:
EXPECTED_VOICEVOX_CORE_VERSION: ${{ matrix.expected_version || 'latest' }}
steps:
- uses: actions/checkout@v2
- name: Execute download command
run: ${{ matrix.download_command }}
- name: Get latest version
if: ${{ env.EXPECTED_VOICEVOX_CORE_VERSION == 'latest' }}
shell: bash
run: |
echo "EXPECTED_VOICEVOX_CORE_VERSION=$(curl -sSfI "https://github.com/VOICEVOX/voicevox_core/releases/latest"| grep "location:" | sed -e "s%location: https://github.com/VOICEVOX/voicevox_core/releases/tag/%%" | sed 's/\r//g')" >> $GITHUB_ENV
- name: Check downloaded version
shell: bash
run: |
[ -e "${{ matrix.download_dir }}/VERSION" ]
[ "$(cat "${{ matrix.download_dir }}/VERSION")" = "${{ env.EXPECTED_VOICEVOX_CORE_VERSION }}" ]
- name: Check downloaded files
shell: bash
run: |
items=($(echo -e "${{ matrix.check_items }}" | xargs))
for item in "${items[@]}"
do
echo "check exists ${{ matrix.download_dir }}/${item}..."
[ -e "${{ matrix.download_dir }}"/${item} ]
done
- name: Check should not exists files
shell: bash
run: |
items=($(echo -e "${{ matrix.check_not_exists_items }}" | xargs))
for item in "${items[@]}"
do
echo "check should not exists ${{ matrix.download_dir }}/${item}..."
[ ! -e "${{ matrix.download_dir }}"/${item} ]
done
9 changes: 5 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,11 @@ jobs:
run: cargo build -p voicevox_core_c_api --features generate-c-header
- name: 必要なfileをunix用exampleのディレクトリに移動させる
run: |
cp -v target/core.h example/cpp/unix/
cp -v target/debug/libcore.{so,dylib} example/cpp/unix/ || true
cp -v target/debug/build/onnxruntime-sys-*/out/onnxruntime_*/onnxruntime-*/lib/libonnxruntime.so.* example/cpp/unix/ || true
cp -v target/debug/build/onnxruntime-sys-*/out/onnxruntime_*/onnxruntime-*/lib/libonnxruntime.*.dylib example/cpp/unix/ || true
mkdir -p example/cpp/unix/voicevox_core/
cp -v target/core.h example/cpp/unix/voicevox_core/
cp -v target/debug/libcore.{so,dylib} example/cpp/unix/voicevox_core/ || true
cp -v target/debug/build/onnxruntime-sys-*/out/onnxruntime_*/onnxruntime-*/lib/libonnxruntime.so.* example/cpp/unix/voicevox_core/ || true
cp -v target/debug/build/onnxruntime-sys-*/out/onnxruntime_*/onnxruntime-*/lib/libonnxruntime.*.dylib example/cpp/unix/voicevox_core/ || true
- if: startsWith(matrix.os, 'mac')
uses: jwlawson/[email protected]
Expand Down
Loading

0 comments on commit 89a0911

Please sign in to comment.