Spaces:
Sleeping
Sleeping
MeowSkyKung
commited on
Commit
•
329ce4a
1
Parent(s):
afc212d
Upload voicevox_nemo_engine
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- voicevox_nemo_engine/.gitattributes +3 -0
- voicevox_nemo_engine/.github/CODEOWNERS +1 -0
- voicevox_nemo_engine/.github/ISSUE_TEMPLATE/bugreport.md +47 -0
- voicevox_nemo_engine/.github/ISSUE_TEMPLATE/featurerequest.md +48 -0
- voicevox_nemo_engine/.github/ISSUE_TEMPLATE/question.md +35 -0
- voicevox_nemo_engine/.github/PULL_REQUEST_TEMPLATE.md +24 -0
- voicevox_nemo_engine/.github/labeler.yml +6 -0
- voicevox_nemo_engine/.github/workflows/build-docker.yml +174 -0
- voicevox_nemo_engine/.github/workflows/build.yml +642 -0
- voicevox_nemo_engine/.github/workflows/coverage-comment.yml +100 -0
- voicevox_nemo_engine/.github/workflows/labeler.yml +17 -0
- voicevox_nemo_engine/.github/workflows/release-test-docker.yml +97 -0
- voicevox_nemo_engine/.github/workflows/release-test.yml +86 -0
- voicevox_nemo_engine/.github/workflows/test.yml +82 -0
- voicevox_nemo_engine/.github/workflows/typos.yml +22 -0
- voicevox_nemo_engine/.github/workflows/upload-gh-pages.yml +45 -0
- voicevox_nemo_engine/.gitignore +157 -0
- voicevox_nemo_engine/.pre-commit-config.yaml +36 -0
- voicevox_nemo_engine/Dockerfile +298 -0
- voicevox_nemo_engine/LGPL_LICENSE +165 -0
- voicevox_nemo_engine/LICENSE +9 -0
- voicevox_nemo_engine/Makefile +125 -0
- voicevox_nemo_engine/README.md +671 -0
- voicevox_nemo_engine/_typos.toml +11 -0
- voicevox_nemo_engine/build_util/check_release_build.py +70 -0
- voicevox_nemo_engine/build_util/codesign.bash +79 -0
- voicevox_nemo_engine/build_util/create_venv_and_generate_licenses.bash +24 -0
- voicevox_nemo_engine/build_util/merge_update_infos.py +57 -0
- voicevox_nemo_engine/build_util/modify_pyinstaller.bash +25 -0
- voicevox_nemo_engine/build_util/process_voicevox_resource.bash +27 -0
- voicevox_nemo_engine/default.csv +75 -0
- voicevox_nemo_engine/default_setting.yml +2 -0
- voicevox_nemo_engine/docs/VOICEVOX音声合成エンジンとの連携.md +7 -0
- voicevox_nemo_engine/docs/api/.gitkeep +0 -0
- voicevox_nemo_engine/docs/licenses/cuda/EULA.txt +1598 -0
- voicevox_nemo_engine/docs/licenses/cudnn/LICENSE +305 -0
- voicevox_nemo_engine/docs/licenses/mpg123/COPYING +772 -0
- voicevox_nemo_engine/docs/licenses/open_jtalk/COPYING +39 -0
- voicevox_nemo_engine/docs/licenses/open_jtalk/mecab-naist-jdic/COPYING +69 -0
- voicevox_nemo_engine/docs/licenses/open_jtalk/mecab/COPYING +69 -0
- voicevox_nemo_engine/docs/licenses/world/LICENSE.txt +39 -0
- voicevox_nemo_engine/docs/res/マルチエンジン概念図.svg +35 -0
- voicevox_nemo_engine/engine_manifest.json +63 -0
- voicevox_nemo_engine/engine_manifest_assets/dependency_licenses.json +8 -0
- voicevox_nemo_engine/engine_manifest_assets/downloadable_libraries.json +44 -0
- voicevox_nemo_engine/engine_manifest_assets/icon.png +0 -0
- voicevox_nemo_engine/engine_manifest_assets/terms_of_service.md +1 -0
- voicevox_nemo_engine/engine_manifest_assets/update_infos.json +7 -0
- voicevox_nemo_engine/generate_licenses.py +383 -0
- voicevox_nemo_engine/get_cost_candidates.py +91 -0
voicevox_nemo_engine/.gitattributes
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
* text=auto
|
2 |
+
*.png -text
|
3 |
+
*.wav -text
|
voicevox_nemo_engine/.github/CODEOWNERS
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
* @VOICEVOX/maintainer
|
voicevox_nemo_engine/.github/ISSUE_TEMPLATE/bugreport.md
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
name: Bug Report
|
3 |
+
about: 不具合の報告
|
4 |
+
labels: バグ
|
5 |
+
---
|
6 |
+
|
7 |
+
## 不具合の内容
|
8 |
+
|
9 |
+
<!-- 概要はここに記載してください -->
|
10 |
+
|
11 |
+
### 現象・ログ
|
12 |
+
|
13 |
+
<!-- ここに記載してください -->
|
14 |
+
|
15 |
+
### 再現手順
|
16 |
+
|
17 |
+
<!-- 最小の構成でできると、なおよい -->
|
18 |
+
|
19 |
+
### 期待動作
|
20 |
+
|
21 |
+
<!-- 正しいと思う動作が明確であれば記載してください -->
|
22 |
+
|
23 |
+
## VOICEVOXのバージョン
|
24 |
+
|
25 |
+
0.?.0
|
26 |
+
|
27 |
+
<!-- "ヘルプ" → "アップデート情報" で確認できます -->
|
28 |
+
|
29 |
+
## OSの種類/ディストリ/バージョン
|
30 |
+
|
31 |
+
<!-- チェックするには [ ] を [x] に変更してください -->
|
32 |
+
|
33 |
+
- [ ] Windows
|
34 |
+
- [ ] macOS
|
35 |
+
- [ ] Linux
|
36 |
+
|
37 |
+
<!--
|
38 |
+
なるべく詳しく書いてください 記述例:
|
39 |
+
* Windows 10 Pro 64bit (10.0.10586)
|
40 |
+
* macOS Sierra
|
41 |
+
* Linux fedora 23 64bit
|
42 |
+
* Others
|
43 |
+
-->
|
44 |
+
|
45 |
+
## その他
|
46 |
+
|
47 |
+
<!-- 関連して何か気がついたこと、気になることがあればココに書いてください -->
|
voicevox_nemo_engine/.github/ISSUE_TEMPLATE/featurerequest.md
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
name: Feature Request
|
3 |
+
about: 機能要望・改善提案
|
4 |
+
labels: 機能向上
|
5 |
+
---
|
6 |
+
|
7 |
+
## 内容
|
8 |
+
|
9 |
+
<!-- ここに要望する機能を記載してください -->
|
10 |
+
<!-- その機能が必要な理由や、具体例も -->
|
11 |
+
|
12 |
+
### Pros 良くなる点
|
13 |
+
|
14 |
+
<!-- 改善される状態など -->
|
15 |
+
|
16 |
+
### Cons 悪くなる点
|
17 |
+
|
18 |
+
<!-- ないことが望ましいが、もしあるなら -->
|
19 |
+
|
20 |
+
### 実現方法
|
21 |
+
|
22 |
+
<!-- 実現方法について検討済みであるなら -->
|
23 |
+
|
24 |
+
## VOICEVOXのバージョン
|
25 |
+
|
26 |
+
0.?.0
|
27 |
+
|
28 |
+
<!-- "ヘルプ" → "アップデート情報" で確認できます -->
|
29 |
+
|
30 |
+
## OSの種類/ディストリ/バージョン
|
31 |
+
|
32 |
+
<!-- チェックするには [ ] を [x] に変更してください -->
|
33 |
+
|
34 |
+
- [ ] Windows
|
35 |
+
- [ ] macOS
|
36 |
+
- [ ] Linux
|
37 |
+
|
38 |
+
<!--
|
39 |
+
なるべく詳しく書いてください 記述例:
|
40 |
+
* Windows 10 Pro 64bit (10.0.10586)
|
41 |
+
* macOS Sierra
|
42 |
+
* Linux fedora 23 64bit
|
43 |
+
* Others
|
44 |
+
-->
|
45 |
+
|
46 |
+
## その他
|
47 |
+
|
48 |
+
<!-- 関連して何か気がついたこと、気になることがあればココに書いてください -->
|
voicevox_nemo_engine/.github/ISSUE_TEMPLATE/question.md
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
name: Question
|
3 |
+
about: 質問 (既存のIssueや一般事例を良く調べてからしてください)
|
4 |
+
labels: 要議論
|
5 |
+
---
|
6 |
+
|
7 |
+
## 質問の内容
|
8 |
+
|
9 |
+
<!-- ここに記載してください -->
|
10 |
+
|
11 |
+
## VOICEVOXのバージョン
|
12 |
+
|
13 |
+
0.?.0
|
14 |
+
|
15 |
+
<!-- "ヘルプ" → "アップデート情報" で確認できます -->
|
16 |
+
|
17 |
+
## OSの種類/ディストリ/バージョン
|
18 |
+
|
19 |
+
<!-- チェックするには [ ] を [x] に変更してください -->
|
20 |
+
|
21 |
+
- [ ] Windows
|
22 |
+
- [ ] macOS
|
23 |
+
- [ ] Linux
|
24 |
+
|
25 |
+
<!--
|
26 |
+
なるべく詳しく書いてください 記述例:
|
27 |
+
* Windows 10 Pro 64bit (10.0.10586)
|
28 |
+
* macOS Sierra
|
29 |
+
* Linux fedora 23 64bit
|
30 |
+
* Others
|
31 |
+
-->
|
32 |
+
|
33 |
+
## その他
|
34 |
+
|
35 |
+
<!-- 関連して何か気がついたこと、気になることがあればココに書いてください -->
|
voicevox_nemo_engine/.github/PULL_REQUEST_TEMPLATE.md
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## 内容
|
2 |
+
|
3 |
+
<!--
|
4 |
+
プルリクエストの内容説明を端的に記載してください。
|
5 |
+
-->
|
6 |
+
|
7 |
+
## 関連 Issue
|
8 |
+
|
9 |
+
<!--
|
10 |
+
関連するIssue番号を記載してください。
|
11 |
+
番号の前に"close"を書くと自動的にIssueが閉じられます。
|
12 |
+
|
13 |
+
(例)
|
14 |
+
ref #0
|
15 |
+
close #0
|
16 |
+
-->
|
17 |
+
|
18 |
+
## スクリーンショット・動画など
|
19 |
+
|
20 |
+
<!--
|
21 |
+
UIを変更した際は、変更がわかるような動画・スクリーンショットがあると助かります。
|
22 |
+
-->
|
23 |
+
|
24 |
+
## その他
|
voicevox_nemo_engine/.github/labeler.yml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
'OS:mac':
|
2 |
+
- '\[x\] macOS'
|
3 |
+
'OS:linux':
|
4 |
+
- '\[x\] Linux'
|
5 |
+
'OS:win':
|
6 |
+
- '\[x\] Windows'
|
voicevox_nemo_engine/.github/workflows/build-docker.yml
ADDED
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: build-docker
|
2 |
+
on:
|
3 |
+
push:
|
4 |
+
branches:
|
5 |
+
- master
|
6 |
+
release:
|
7 |
+
types:
|
8 |
+
- created
|
9 |
+
workflow_dispatch:
|
10 |
+
inputs:
|
11 |
+
version:
|
12 |
+
description: "バージョン情報(A.BB.C / A.BB.C-preview.D)"
|
13 |
+
required: true
|
14 |
+
|
15 |
+
env:
|
16 |
+
IMAGE_NAME: ${{ vars.DOCKERHUB_USERNAME }}/voicevox_nemo_engine
|
17 |
+
PYTHON_VERSION: "3.11.3"
|
18 |
+
VOICEVOX_RESOURCE_VERSION: "0.14.0"
|
19 |
+
VOICEVOX_CORE_VERSION: "0.14.0"
|
20 |
+
|
21 |
+
defaults:
|
22 |
+
run:
|
23 |
+
shell: bash
|
24 |
+
|
25 |
+
jobs:
|
26 |
+
config: # 全 jobs で利用する定数の定義. `env` が利用できないコンテキストでも利用できる.
|
27 |
+
runs-on: ubuntu-latest
|
28 |
+
outputs:
|
29 |
+
version_or_latest: ${{ steps.vars.outputs.version_or_latest }}
|
30 |
+
steps:
|
31 |
+
- name: declare variables
|
32 |
+
id: vars
|
33 |
+
run: |
|
34 |
+
: # releaseタグ名か、workflow_dispatchでのバージョン名か、latestが入る
|
35 |
+
echo "version_or_latest=${{ github.event.release.tag_name || github.event.inputs.version || 'latest' }}" >> $GITHUB_OUTPUT
|
36 |
+
|
37 |
+
build-docker:
|
38 |
+
needs: [config]
|
39 |
+
runs-on: ${{ matrix.os }}
|
40 |
+
|
41 |
+
strategy:
|
42 |
+
matrix:
|
43 |
+
os: [ubuntu-latest]
|
44 |
+
tag:
|
45 |
+
- ""
|
46 |
+
- cpu
|
47 |
+
- cpu-ubuntu20.04
|
48 |
+
- nvidia
|
49 |
+
- nvidia-ubuntu20.04
|
50 |
+
include:
|
51 |
+
# Ubuntu 20.04
|
52 |
+
- tag: ""
|
53 |
+
target: runtime-env
|
54 |
+
base_image: ubuntu:20.04
|
55 |
+
base_runtime_image: ubuntu:20.04
|
56 |
+
onnxruntime_version: 1.13.1
|
57 |
+
platforms: linux/amd64,linux/arm64/v8
|
58 |
+
- tag: cpu
|
59 |
+
target: runtime-env
|
60 |
+
base_image: ubuntu:20.04
|
61 |
+
base_runtime_image: ubuntu:20.04
|
62 |
+
onnxruntime_version: 1.13.1
|
63 |
+
platforms: linux/amd64,linux/arm64/v8
|
64 |
+
- tag: cpu-ubuntu20.04
|
65 |
+
target: runtime-env
|
66 |
+
base_image: ubuntu:20.04
|
67 |
+
base_runtime_image: ubuntu:20.04
|
68 |
+
onnxruntime_version: 1.13.1
|
69 |
+
platforms: linux/amd64,linux/arm64/v8
|
70 |
+
- tag: nvidia
|
71 |
+
target: runtime-nvidia-env
|
72 |
+
base_image: ubuntu:20.04
|
73 |
+
base_runtime_image: nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04
|
74 |
+
onnxruntime_version: 1.13.1
|
75 |
+
platforms: linux/amd64
|
76 |
+
- tag: nvidia-ubuntu20.04
|
77 |
+
target: runtime-nvidia-env
|
78 |
+
base_image: ubuntu:20.04
|
79 |
+
base_runtime_image: nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04
|
80 |
+
onnxruntime_version: 1.13.1
|
81 |
+
platforms: linux/amd64
|
82 |
+
|
83 |
+
steps:
|
84 |
+
- uses: actions/checkout@v3
|
85 |
+
|
86 |
+
- name: Setup QEMU
|
87 |
+
uses: docker/setup-qemu-action@v2
|
88 |
+
|
89 |
+
- name: Setup Docker Buildx
|
90 |
+
id: buildx
|
91 |
+
uses: docker/setup-buildx-action@v2
|
92 |
+
|
93 |
+
- name: Login to DockerHub
|
94 |
+
uses: docker/login-action@v2
|
95 |
+
with:
|
96 |
+
username: ${{ vars.DOCKERHUB_USERNAME }}
|
97 |
+
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
98 |
+
|
99 |
+
# Download VOICEVOX RESOURCE
|
100 |
+
- name: Prepare VOICEVOX RESOURCE cache
|
101 |
+
uses: actions/cache@v3
|
102 |
+
id: voicevox-resource-cache
|
103 |
+
with:
|
104 |
+
key: voicevox-resource-${{ env.VOICEVOX_RESOURCE_VERSION }}
|
105 |
+
path: download/resource
|
106 |
+
|
107 |
+
- name: Checkout VOICEVOX RESOURCE
|
108 |
+
if: steps.voicevox-resource-cache.outputs.cache-hit != 'true'
|
109 |
+
uses: actions/checkout@v3
|
110 |
+
with:
|
111 |
+
repository: VOICEVOX/voicevox_nemo_resource
|
112 |
+
ref: ${{ env.VOICEVOX_RESOURCE_VERSION }}
|
113 |
+
path: download/resource
|
114 |
+
|
115 |
+
# Merge VOICEVOX RESOURCE
|
116 |
+
- name: Merge VOICEVOX RESOURCE
|
117 |
+
env:
|
118 |
+
DOWNLOAD_RESOURCE_PATH: download/resource
|
119 |
+
run: bash build_util/process_voicevox_resource.bash
|
120 |
+
|
121 |
+
- name: Build and Deploy Docker image
|
122 |
+
uses: docker/build-push-action@v3
|
123 |
+
env:
|
124 |
+
IMAGE_TAG:
|
125 |
+
|- # If it's a release, add the version, otherwise add the `latest`
|
126 |
+
${{ (
|
127 |
+
matrix.tag != '' && (
|
128 |
+
format('{0}:{1}-{2}', env.IMAGE_NAME, matrix.tag, needs.config.outputs.version_or_latest)
|
129 |
+
) || format('{0}:{1}', env.IMAGE_NAME, needs.config.outputs.version_or_latest)
|
130 |
+
) }}
|
131 |
+
IMAGE_CACHE_FROM:
|
132 |
+
|- # Always use the `latest` buildcache. :latest-buildcache or :{tag}-latest-buildcache
|
133 |
+
${{ (
|
134 |
+
matrix.tag != '' && (
|
135 |
+
format('type=registry,ref={0}:{1}-latest-buildcache', env.IMAGE_NAME, matrix.tag)
|
136 |
+
) || format('type=registry,ref={0}:latest-buildcache', env.IMAGE_NAME)
|
137 |
+
) }}
|
138 |
+
IMAGE_CACHE_TO:
|
139 |
+
|- # If it's a release, do not create buildcache, otherwise create the `latest` buildcache. :latest-buildcache or :{tag}-latest-buildcache
|
140 |
+
${{ (
|
141 |
+
needs.config.outputs.version_or_latest == 'latest' && (
|
142 |
+
matrix.tag != '' && (
|
143 |
+
format('type=registry,ref={0}:{1}-latest-buildcache,mode=max', env.IMAGE_NAME, matrix.tag)
|
144 |
+
) || format('type=registry,ref={0}:latest-buildcache,mode=max', env.IMAGE_NAME)
|
145 |
+
) || ''
|
146 |
+
) }}
|
147 |
+
with:
|
148 |
+
context: .
|
149 |
+
builder: ${{ steps.buildx.outputs.name }}
|
150 |
+
file: ./Dockerfile
|
151 |
+
build-args: |
|
152 |
+
BASE_IMAGE=${{ matrix.base_image }}
|
153 |
+
BASE_RUNTIME_IMAGE=${{ matrix.base_runtime_image }}
|
154 |
+
PYTHON_VERSION=${{ env.PYTHON_VERSION }}
|
155 |
+
VOICEVOX_ENGINE_VERSION=${{ needs.config.outputs.version_or_latest }}
|
156 |
+
VOICEVOX_CORE_VERSION=${{ env.VOICEVOX_CORE_VERSION }}
|
157 |
+
VOICEVOX_RESOURCE_VERSION=${{ env.VOICEVOX_RESOURCE_VERSION }}
|
158 |
+
USE_GPU=${{ matrix.target == 'runtime-nvidia-env' }}
|
159 |
+
ONNXRUNTIME_VERSION=${{ matrix.onnxruntime_version }}
|
160 |
+
target: ${{ matrix.target }}
|
161 |
+
push: true
|
162 |
+
tags: ${{ env.IMAGE_TAG }}
|
163 |
+
cache-from: ${{ env.IMAGE_CACHE_FROM }}
|
164 |
+
cache-to: ${{ env.IMAGE_CACHE_TO }}
|
165 |
+
platforms: ${{ matrix.platforms }}
|
166 |
+
|
167 |
+
run-release-test-workflow:
|
168 |
+
# version が指定されている場合のみ実行する
|
169 |
+
if: needs.config.outputs.version_or_latest != 'latest'
|
170 |
+
needs: [config, build-docker]
|
171 |
+
uses: ./.github/workflows/release-test-docker.yml
|
172 |
+
with:
|
173 |
+
version: ${{ needs.config.outputs.version_or_latest }}
|
174 |
+
repo_url: ${{ format('{0}/{1}', github.server_url, github.repository) }} # このリポジトリのURL
|
voicevox_nemo_engine/.github/workflows/build.yml
ADDED
@@ -0,0 +1,642 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: build
|
2 |
+
on:
|
3 |
+
push:
|
4 |
+
branches:
|
5 |
+
- master
|
6 |
+
release:
|
7 |
+
types:
|
8 |
+
- created
|
9 |
+
workflow_dispatch:
|
10 |
+
inputs:
|
11 |
+
version:
|
12 |
+
description: "バージョン情報(A.BB.C / A.BB.C-preview.D)"
|
13 |
+
required: true
|
14 |
+
prerelease:
|
15 |
+
description: "プレリリースかどうか"
|
16 |
+
type: boolean
|
17 |
+
default: true
|
18 |
+
code_signing:
|
19 |
+
description: "コード署名する"
|
20 |
+
type: boolean
|
21 |
+
upload_artifact:
|
22 |
+
description: "デバッグ用に成果物をartifactにアップロードするか"
|
23 |
+
type: boolean
|
24 |
+
default: false
|
25 |
+
|
26 |
+
env:
|
27 |
+
PYTHON_VERSION: "3.11.3"
|
28 |
+
VOICEVOX_RESOURCE_VERSION: "0.14.0"
|
29 |
+
VOICEVOX_CORE_VERSION: "0.14.0"
|
30 |
+
|
31 |
+
defaults:
|
32 |
+
run:
|
33 |
+
shell: bash
|
34 |
+
|
35 |
+
jobs:
|
36 |
+
config: # 全 jobs で利用する定数の定義. `env` が利用できないコンテキストでも利用できる.
|
37 |
+
runs-on: ubuntu-latest
|
38 |
+
outputs:
|
39 |
+
version: ${{ steps.vars.outputs.version }}
|
40 |
+
version_or_latest: ${{ steps.vars.outputs.version_or_latest }}
|
41 |
+
steps:
|
42 |
+
- name: declare variables
|
43 |
+
id: vars
|
44 |
+
run: |
|
45 |
+
: # release タグ名, または workflow_dispatch でのバージョン名. リリースでない (push event) 場合は空文字列
|
46 |
+
echo "version=${{ github.event.release.tag_name || github.event.inputs.version }}" >> $GITHUB_OUTPUT
|
47 |
+
: # release タグ名, または workflow_dispatch でのバージョン名, または 'latest'
|
48 |
+
echo "version_or_latest=${{ github.event.release.tag_name || github.event.inputs.version || 'latest' }}" >> $GITHUB_OUTPUT
|
49 |
+
|
50 |
+
build-and-upload:
|
51 |
+
needs: [config]
|
52 |
+
environment: ${{ github.event.inputs.code_signing == 'true' && 'code_signing' || '' }} # コード署名用のenvironment
|
53 |
+
strategy:
|
54 |
+
matrix:
|
55 |
+
include:
|
56 |
+
# Windows CPU
|
57 |
+
- os: windows-2019
|
58 |
+
architecture: "x64"
|
59 |
+
voicevox_core_asset_prefix: voicevox_core-windows-x64-cpu
|
60 |
+
onnxruntime_url: https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-win-x64-1.13.1.zip
|
61 |
+
target: windows-cpu
|
62 |
+
# Windows DirectML
|
63 |
+
- os: windows-2019
|
64 |
+
architecture: "x64"
|
65 |
+
voicevox_core_asset_prefix: voicevox_core-windows-x64-directml
|
66 |
+
onnxruntime_url: https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/Microsoft.ML.OnnxRuntime.DirectML.1.13.1.zip
|
67 |
+
directml_url: https://www.nuget.org/api/v2/package/Microsoft.AI.DirectML/1.10.0
|
68 |
+
target: windows-directml
|
69 |
+
# Windows NVIDIA GPU
|
70 |
+
- os: windows-2019
|
71 |
+
architecture: "x64"
|
72 |
+
voicevox_core_asset_prefix: voicevox_core-windows-x64-cuda
|
73 |
+
onnxruntime_url: https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-win-x64-gpu-1.13.1.zip
|
74 |
+
cuda_version: "11.8.0"
|
75 |
+
cudnn_url: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/windows-x86_64/cudnn-windows-x86_64-8.9.2.26_cuda11-archive.zip
|
76 |
+
zlib_url: http://www.winimage.com/zLibDll/zlib123dllx64.zip
|
77 |
+
target: windows-nvidia
|
78 |
+
# Mac CPU (x64 arch only)
|
79 |
+
- os: macos-11
|
80 |
+
architecture: "x64"
|
81 |
+
voicevox_core_asset_prefix: voicevox_core-osx-x64-cpu
|
82 |
+
onnxruntime_url: https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-osx-x86_64-1.13.1.tgz
|
83 |
+
target: macos-x64
|
84 |
+
# Linux CPU
|
85 |
+
- os: ubuntu-20.04
|
86 |
+
architecture: "x64"
|
87 |
+
voicevox_core_asset_prefix: voicevox_core-linux-x64-cpu
|
88 |
+
onnxruntime_url: https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-1.13.1.tgz
|
89 |
+
target: linux-cpu
|
90 |
+
# Linux NVIDIA GPU
|
91 |
+
- os: ubuntu-20.04
|
92 |
+
architecture: "x64"
|
93 |
+
voicevox_core_asset_prefix: voicevox_core-linux-x64-gpu
|
94 |
+
onnxruntime_url: https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-gpu-1.13.1.tgz
|
95 |
+
cuda_version: "11.8.0"
|
96 |
+
cudnn_url: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar.xz
|
97 |
+
target: linux-nvidia
|
98 |
+
|
99 |
+
runs-on: ${{ matrix.os }}
|
100 |
+
|
101 |
+
env:
|
102 |
+
# GNUコマンド
|
103 |
+
sed: ${{ startsWith(matrix.os, 'macos-') && 'gsed' || 'sed' }}
|
104 |
+
split: ${{ startsWith(matrix.os, 'macos-') && 'gsplit' || 'split' }}
|
105 |
+
|
106 |
+
steps:
|
107 |
+
- name: declare variables
|
108 |
+
id: vars
|
109 |
+
run: |
|
110 |
+
echo "package_name=voicevox_engine-${{ matrix.target }}-${{ needs.config.outputs.version }}" >> $GITHUB_OUTPUT
|
111 |
+
|
112 |
+
- uses: actions/checkout@v3
|
113 |
+
|
114 |
+
# NOTE: The default 'sed' and 'split' of macOS is BSD 'sed' and 'split'.
|
115 |
+
# There is a difference in specification between BSD 'sed' and 'split' and GNU 'sed' and 'split',
|
116 |
+
# so you need to install GNU 'sed' and 'split'.
|
117 |
+
- name: Install GNU sed on macOS
|
118 |
+
if: startsWith(matrix.os, 'macos-')
|
119 |
+
run: |
|
120 |
+
brew install gnu-sed coreutils
|
121 |
+
|
122 |
+
# ONNX Runtime providersとCUDA周りをリンクするために使う
|
123 |
+
- name: Install patchelf
|
124 |
+
if: startsWith(matrix.os, 'ubuntu-') && endsWith(matrix.target, 'nvidia')
|
125 |
+
run: |
|
126 |
+
sudo apt-get update
|
127 |
+
sudo apt-get install -y patchelf
|
128 |
+
|
129 |
+
# Download CUDA
|
130 |
+
- name: Restore cached CUDA
|
131 |
+
if: matrix.cuda_version != ''
|
132 |
+
uses: actions/cache/restore@v3
|
133 |
+
id: cuda-dll-cache-restore
|
134 |
+
with:
|
135 |
+
# update this key when ONNX Runtime CUDA dependency changed
|
136 |
+
key: ${{ matrix.os }}-cuda-dll-${{ matrix.cuda_version }}-v1
|
137 |
+
path: download/cuda
|
138 |
+
|
139 |
+
- name: Setup CUDA
|
140 |
+
if: matrix.cuda_version != '' && steps.cuda-dll-cache-restore.outputs.cache-hit != 'true'
|
141 |
+
uses: Jimver/[email protected]
|
142 |
+
id: cuda-toolkit
|
143 |
+
with:
|
144 |
+
method: network
|
145 |
+
cuda: ${{ matrix.cuda_version }}
|
146 |
+
|
147 |
+
- name: Extract CUDA Dynamic Libraries
|
148 |
+
if: matrix.cuda_version != '' && steps.cuda-dll-cache-restore.outputs.cache-hit != 'true'
|
149 |
+
run: |
|
150 |
+
set -eux
|
151 |
+
|
152 |
+
CUDA_ROOT=$( echo "${{ steps.cuda-toolkit.outputs.CUDA_PATH }}" | tr '\\' '/' )
|
153 |
+
|
154 |
+
mkdir -p download/cuda/bin
|
155 |
+
if [[ ${{ matrix.os }} == windows-* ]]; then
|
156 |
+
mv "${CUDA_ROOT}/bin/"*.dll download/cuda/bin/
|
157 |
+
|
158 |
+
# remove CUDA to reduce disk usage
|
159 |
+
rm -rf "${CUDA_ROOT}"
|
160 |
+
else
|
161 |
+
cp "${CUDA_ROOT}/lib64/"libcublas.so.* download/cuda/bin/
|
162 |
+
cp "${CUDA_ROOT}/lib64/"libcublasLt.so.* download/cuda/bin/
|
163 |
+
cp "${CUDA_ROOT}/lib64/"libcudart.so.* download/cuda/bin/
|
164 |
+
cp "${CUDA_ROOT}/lib64/"libcufft.so.* download/cuda/bin/
|
165 |
+
cp "${CUDA_ROOT}/lib64/"libcurand.so.* download/cuda/bin/
|
166 |
+
|
167 |
+
# remove unneed full version libraries
|
168 |
+
rm -f download/cuda/bin/libcublas.so.*.*
|
169 |
+
rm -f download/cuda/bin/libcublasLt.so.*.*
|
170 |
+
rm -f download/cuda/bin/libcufft.so.*.*
|
171 |
+
rm -f download/cuda/bin/libcurand.so.*.*
|
172 |
+
rm -f download/cuda/bin/libcudart.so.*.*.*
|
173 |
+
|
174 |
+
# remove CUDA to reduce disk usage
|
175 |
+
sudo rm -rf "${CUDA_ROOT}"
|
176 |
+
fi
|
177 |
+
|
178 |
+
- name: Save CUDA cache
|
179 |
+
if: matrix.cuda_version != ''
|
180 |
+
uses: actions/cache/save@v3
|
181 |
+
with:
|
182 |
+
key: ${{ steps.cuda-dll-cache-restore.outputs.cache-primary-key }}
|
183 |
+
path: download/cuda
|
184 |
+
|
185 |
+
# Download cuDNN
|
186 |
+
- name: Export cuDNN url to calc hash
|
187 |
+
if: matrix.cudnn_url != ''
|
188 |
+
run: echo "${{ matrix.cudnn_url }}" > download/cudnn_url.txt
|
189 |
+
|
190 |
+
- name: Restore cached cuDNN
|
191 |
+
if: matrix.cudnn_url != ''
|
192 |
+
uses: actions/cache/restore@v3
|
193 |
+
id: cudnn-dll-cache-restore
|
194 |
+
with:
|
195 |
+
# update this key when ONNX Runtime cuDNN dependency changed
|
196 |
+
key: ${{ matrix.os }}-cudnn-dll-${{ hashFiles('download/cudnn_url.txt') }}-v1
|
197 |
+
path: download/cudnn
|
198 |
+
|
199 |
+
- name: Download and extract cuDNN Dynamic Libraries
|
200 |
+
if: matrix.cudnn_url != '' && steps.cudnn-dll-cache-restore.outputs.cache-hit != 'true'
|
201 |
+
run: |
|
202 |
+
set -eux
|
203 |
+
|
204 |
+
if [[ ${{ matrix.os }} == windows-* ]]; then
|
205 |
+
curl -L "${{ matrix.cudnn_url }}" > download/cudnn.zip
|
206 |
+
|
207 |
+
unzip download/cudnn.zip cudnn-*/bin/*.dll -d download/cudnn_tmp
|
208 |
+
|
209 |
+
mkdir -p download/cudnn/bin
|
210 |
+
mv download/cudnn_tmp/cudnn-*/bin/*.dll download/cudnn/bin/
|
211 |
+
rm -rf download/cudnn_tmp
|
212 |
+
|
213 |
+
rm download/cudnn.zip
|
214 |
+
else
|
215 |
+
curl -L "${{ matrix.cudnn_url }}" > download/cudnn.tar.xz
|
216 |
+
|
217 |
+
tar -Jxf download/cudnn.tar.xz -C download/
|
218 |
+
|
219 |
+
mkdir -p download/cudnn/bin
|
220 |
+
cp download/cudnn-*/lib/libcudnn.so.* download/cudnn/bin/
|
221 |
+
cp download/cudnn-*/lib/libcudnn_*_infer.so.* download/cudnn/bin/
|
222 |
+
|
223 |
+
# remove unneed full version libraries
|
224 |
+
rm -f download/cudnn/bin/libcudnn.so.*.*
|
225 |
+
rm -f download/cudnn/bin/libcudnn_*_infer.so.*.*
|
226 |
+
|
227 |
+
rm download/cudnn.tar.xz
|
228 |
+
fi
|
229 |
+
|
230 |
+
- name: Save cuDNN cache
|
231 |
+
if: matrix.cudnn_url != ''
|
232 |
+
uses: actions/cache/save@v3
|
233 |
+
with:
|
234 |
+
key: ${{ steps.cudnn-dll-cache-restore.outputs.cache-primary-key }}
|
235 |
+
path: download/cudnn
|
236 |
+
|
237 |
+
# Donwload zlib
|
238 |
+
- name: Export zlib url to calc hash
|
239 |
+
if: matrix.zlib_url != ''
|
240 |
+
run: echo "${{ matrix.zlib_url }}" >> download/zlib_url.txt
|
241 |
+
|
242 |
+
- name: Restore cached zlib
|
243 |
+
if: matrix.zlib_url != ''
|
244 |
+
uses: actions/cache/restore@v3
|
245 |
+
id: zlib-cache-restore
|
246 |
+
with:
|
247 |
+
key: zlib-cache-v1-${{ hashFiles('download/zlib_url.txt') }}
|
248 |
+
path: download/zlib
|
249 |
+
|
250 |
+
- name: Download zlib
|
251 |
+
if: steps.zlib-cache-restore.outputs.cache-hit != 'true' && matrix.zlib_url != ''
|
252 |
+
run: |
|
253 |
+
curl -L "${{ matrix.zlib_url }}" -o download/zlib.zip
|
254 |
+
mkdir -p download/zlib
|
255 |
+
|
256 |
+
# extract only dlls
|
257 |
+
unzip download/zlib.zip dll_${{ matrix.architecture }}/zlibwapi.dll -d download/zlib
|
258 |
+
rm download/zlib.zip
|
259 |
+
mv download/zlib/dll_${{ matrix.architecture }}/zlibwapi.dll download/zlib/zlibwapi.dll
|
260 |
+
rm -r download/zlib/dll_${{ matrix.architecture }}
|
261 |
+
|
262 |
+
- name: Save zlib cache
|
263 |
+
if: matrix.zlib_url != ''
|
264 |
+
uses: actions/cache/save@v3
|
265 |
+
with:
|
266 |
+
key: ${{ steps.zlib-cache-restore.outputs.cache-primary-key }}
|
267 |
+
path: download/zlib
|
268 |
+
|
269 |
+
- name: Setup MSVC
|
270 |
+
if: startsWith(matrix.os, 'windows-')
|
271 |
+
uses: ilammy/msvc-dev-cmd@v1
|
272 |
+
|
273 |
+
# Python install path of windows: C:/hostedtoolcache/windows/Python
|
274 |
+
- name: Setup Python
|
275 |
+
id: setup-python
|
276 |
+
uses: actions/setup-python@v4
|
277 |
+
with:
|
278 |
+
python-version: ${{ env.PYTHON_VERSION }}
|
279 |
+
architecture: ${{ matrix.architecture }}
|
280 |
+
cache: pip
|
281 |
+
|
282 |
+
- name: Install Python dependencies
|
283 |
+
run: |
|
284 |
+
python -m pip install -r requirements-dev.txt
|
285 |
+
|
286 |
+
if [ "$RUNNER_OS" = Windows ]; then
|
287 |
+
# Modify PyInstaller to enable NvOptimusEnablement and AmdPowerXpressRequestHighPerformance
|
288 |
+
./build_util/modify_pyinstaller.bash
|
289 |
+
fi
|
290 |
+
|
291 |
+
# Download pyopenjtalk dictionary
|
292 |
+
# try 5 times, sleep 5 seconds before retry
|
293 |
+
for i in $(seq 5); do
|
294 |
+
EXIT_CODE=0
|
295 |
+
python3 -c "import pyopenjtalk; pyopenjtalk._lazy_init()" || EXIT_CODE=$?
|
296 |
+
|
297 |
+
if [ "$EXIT_CODE" = "0" ]; then
|
298 |
+
break
|
299 |
+
fi
|
300 |
+
|
301 |
+
sleep 5
|
302 |
+
done
|
303 |
+
|
304 |
+
if [ "$EXIT_CODE" != "0" ]; then
|
305 |
+
exit "$EXIT_CODE"
|
306 |
+
fi
|
307 |
+
|
308 |
+
- name: Create download directory
|
309 |
+
run: mkdir -p download/
|
310 |
+
|
311 |
+
# Donwload DirectML
|
312 |
+
- name: Export DirectML url to calc hash
|
313 |
+
if: endswith(matrix.target, '-directml')
|
314 |
+
run: echo "${{ matrix.directml_url }}" >> download/directml_url.txt
|
315 |
+
|
316 |
+
- name: Restore cached DirectML
|
317 |
+
if: endswith(matrix.target, '-directml')
|
318 |
+
uses: actions/cache/restore@v3
|
319 |
+
id: directml-cache-restore
|
320 |
+
with:
|
321 |
+
key: directml-cache-v1-${{ hashFiles('download/directml_url.txt') }}
|
322 |
+
path: download/directml
|
323 |
+
|
324 |
+
- name: Download DirectML
|
325 |
+
if: steps.directml-cache-restore.outputs.cache-hit != 'true' && endswith(matrix.target, '-directml')
|
326 |
+
run: |
|
327 |
+
curl -L "${{ matrix.directml_url }}" -o download/directml.zip
|
328 |
+
mkdir -p download/directml
|
329 |
+
|
330 |
+
# extract only dlls
|
331 |
+
unzip download/directml.zip bin/${{ matrix.architecture }}-win/DirectML.dll -d download/directml
|
332 |
+
rm download/directml.zip
|
333 |
+
mv download/directml/bin/${{ matrix.architecture }}-win/DirectML.dll download/directml/DirectML.dll
|
334 |
+
rm -r download/directml/bin
|
335 |
+
|
336 |
+
- name: Save DirectML cache
|
337 |
+
if: endswith(matrix.target, '-directml')
|
338 |
+
uses: actions/cache/save@v3
|
339 |
+
with:
|
340 |
+
key: ${{ steps.directml-cache-restore.outputs.cache-primary-key }}
|
341 |
+
path: download/directml
|
342 |
+
|
343 |
+
# Download ONNX Runtime
|
344 |
+
- name: Export ONNX Runtime url to calc hash
|
345 |
+
run: echo "${{ matrix.onnxruntime_url }}" > download/onnxruntime_url.txt
|
346 |
+
|
347 |
+
- name: Restore cached ONNX Runtime
|
348 |
+
uses: actions/cache/restore@v3
|
349 |
+
id: onnxruntime-cache-restore
|
350 |
+
with:
|
351 |
+
key: ${{ matrix.os }}-onnxruntime-${{ hashFiles('download/onnxruntime_url.txt') }}-v1
|
352 |
+
path: download/onnxruntime
|
353 |
+
|
354 |
+
- name: Download ONNX Runtime (Windows)
|
355 |
+
if: steps.onnxruntime-cache-restore.outputs.cache-hit != 'true' && startsWith(matrix.os, 'windows-')
|
356 |
+
run: |
|
357 |
+
curl -L "${{ matrix.onnxruntime_url }}" > download/onnxruntime.zip
|
358 |
+
|
359 |
+
# extract only dlls
|
360 |
+
if [[ ${{ matrix.target }} != *-directml ]]; then
|
361 |
+
unzip download/onnxruntime.zip onnxruntime-*/lib/*.dll -d download/
|
362 |
+
mv download/onnxruntime-* download/onnxruntime
|
363 |
+
else
|
364 |
+
mkdir -p download/onnxruntime/lib
|
365 |
+
unzip download/onnxruntime.zip runtimes/win-${{ matrix.architecture }}/native/*.dll -d download/onnxruntime
|
366 |
+
mv download/onnxruntime/runtimes/win-${{ matrix.architecture }}/native/*.dll download/onnxruntime/lib/
|
367 |
+
rm -r download/onnxruntime/runtimes
|
368 |
+
fi
|
369 |
+
|
370 |
+
rm download/onnxruntime.zip
|
371 |
+
|
372 |
+
- name: Download ONNX Runtime (Mac/Linux)
|
373 |
+
if: steps.onnxruntime-cache-restore.outputs.cache-hit != 'true' && startsWith(matrix.os, 'windows-') != true
|
374 |
+
run: |
|
375 |
+
curl -L "${{ matrix.onnxruntime_url }}" > download/onnxruntime.tgz
|
376 |
+
mkdir -p download/onnxruntime
|
377 |
+
tar xf "download/onnxruntime.tgz" -C "download/onnxruntime" --strip-components 1
|
378 |
+
rm download/onnxruntime.tgz
|
379 |
+
|
380 |
+
- name: Save ONNX Runtime cache
|
381 |
+
uses: actions/cache/save@v3
|
382 |
+
with:
|
383 |
+
key: ${{ steps.onnxruntime-cache-restore.outputs.cache-primary-key }}
|
384 |
+
path: download/onnxruntime
|
385 |
+
|
386 |
+
# Download VOICEVOX RESOURCE
|
387 |
+
- name: Prepare VOICEVOX RESOURCE cache
|
388 |
+
uses: actions/cache@v3
|
389 |
+
id: voicevox-resource-cache
|
390 |
+
with:
|
391 |
+
key: voicevox-resource-${{ env.VOICEVOX_RESOURCE_VERSION }}
|
392 |
+
path: download/resource
|
393 |
+
|
394 |
+
- name: Checkout VOICEVOX RESOURCE
|
395 |
+
if: steps.voicevox-resource-cache.outputs.cache-hit != 'true'
|
396 |
+
uses: actions/checkout@v3
|
397 |
+
with:
|
398 |
+
repository: VOICEVOX/voicevox_nemo_resource
|
399 |
+
ref: ${{ env.VOICEVOX_RESOURCE_VERSION }}
|
400 |
+
path: download/resource
|
401 |
+
|
402 |
+
# Merge VOICEVOX RESOURCE
|
403 |
+
- name: Merge VOICEVOX RESOURCE
|
404 |
+
env:
|
405 |
+
DOWNLOAD_RESOURCE_PATH: download/resource
|
406 |
+
run: bash build_util/process_voicevox_resource.bash
|
407 |
+
|
408 |
+
# Download VOICEVOX Core
|
409 |
+
- name: Prepare VOICEVOX Core cache
|
410 |
+
uses: actions/cache@v3
|
411 |
+
id: voicevox-core-cache
|
412 |
+
with:
|
413 |
+
key: ${{ matrix.os }}-voicevox-core-${{ matrix.voicevox_core_asset_prefix }}-${{ env.VOICEVOX_CORE_VERSION }}
|
414 |
+
path: download/core
|
415 |
+
|
416 |
+
- name: Download VOICEVOX Core
|
417 |
+
if: steps.voicevox-core-cache.outputs.cache-hit != 'true'
|
418 |
+
env:
|
419 |
+
VOICEVOX_CORE_ASSET_NAME: ${{ matrix.voicevox_core_asset_prefix }}-${{ env.VOICEVOX_CORE_VERSION }}
|
420 |
+
run: |
|
421 |
+
curl -L "https://github.com/VOICEVOX/voicevox_nemo_core/releases/download/${{ env.VOICEVOX_CORE_VERSION }}/${{ env.VOICEVOX_CORE_ASSET_NAME }}.zip" > download/${{ env.VOICEVOX_CORE_ASSET_NAME }}.zip
|
422 |
+
# NOTE: Windows 版コアのみ PowerShell の Compress-Archive コマンドレットを用いて zip を作成している(デフォルト状態では zip コマンドが存在していないため)。
|
423 |
+
# このコマンドはバージョンによっては作成した zip 内のパスの区切り文字がバックスラッシュになる。 (cf. https://github.com/PowerShell/Microsoft.PowerShell.Archive/issues/48)
|
424 |
+
# unzip コマンドはこのような zip ファイルを解凍できるものの、終了コード 1 を報告して CI が落ちてしまう。
|
425 |
+
# 回避策として、unzip コマンドの代わりに 7z コマンドを用いて zip ファイルを解凍する。
|
426 |
+
# unzip download/${{ env.VOICEVOX_CORE_ASSET_NAME }}.zip -d download/
|
427 |
+
if [[ ${{ matrix.os }} == windows-* ]]; then
|
428 |
+
7z x -o"download" download/${{ env.VOICEVOX_CORE_ASSET_NAME }}.zip
|
429 |
+
elif [[ ${{ matrix.os }} == mac-* ]]; then
|
430 |
+
ditto -x -k --sequesterRsrc --rsrc download/${{ env.VOICEVOX_CORE_ASSET_NAME }}.zip download/
|
431 |
+
else
|
432 |
+
unzip download/${{ env.VOICEVOX_CORE_ASSET_NAME }}.zip -d download/
|
433 |
+
fi
|
434 |
+
mkdir -p download/core
|
435 |
+
mv download/${{ env.VOICEVOX_CORE_ASSET_NAME }}/* download/core
|
436 |
+
rm -rf download/${{ env.VOICEVOX_CORE_ASSET_NAME }}
|
437 |
+
rm download/${{ env.VOICEVOX_CORE_ASSET_NAME }}.zip
|
438 |
+
|
439 |
+
- name: Generate licenses.json
|
440 |
+
run: |
|
441 |
+
OUTPUT_LICENSE_JSON_PATH=engine_manifest_assets/dependency_licenses.json \
|
442 |
+
bash build_util/create_venv_and_generate_licenses.bash
|
443 |
+
# FIXME: VOICEVOX (editor) cannot build without licenses.json
|
444 |
+
cp engine_manifest_assets/dependency_licenses.json licenses.json
|
445 |
+
|
446 |
+
- name: Build run.py with PyInstaller
|
447 |
+
run: |
|
448 |
+
set -eux
|
449 |
+
|
450 |
+
jq '.version = "${{ needs.config.outputs.version_or_latest }}"' engine_manifest.json > engine_manifest.json.tmp
|
451 |
+
mv -f engine_manifest.json.tmp engine_manifest.json
|
452 |
+
|
453 |
+
# Replace version & specify dynamic libraries
|
454 |
+
$sed -i "s/__version__ = \"latest\"/__version__ = \"${{ needs.config.outputs.version_or_latest }}\"/" voicevox_engine/__init__.py
|
455 |
+
if [[ ${{ matrix.os }} == windows-* ]]; then
|
456 |
+
LIBCORE_PATH=download/core/voicevox_core.dll
|
457 |
+
LIBONNXRUNTIME_PATH=download/onnxruntime/lib/onnxruntime.dll
|
458 |
+
elif [[ ${{ matrix.os }} == macos-* ]]; then
|
459 |
+
LIBCORE_PATH=download/core/libvoicevox_core.dylib
|
460 |
+
LIBONNXRUNTIME_PATH=download/onnxruntime/lib/libonnxruntime.dylib
|
461 |
+
else
|
462 |
+
LIBCORE_PATH=download/core/libvoicevox_core.so
|
463 |
+
LIBONNXRUNTIME_PATH=download/onnxruntime/lib/libonnxruntime.so
|
464 |
+
fi
|
465 |
+
|
466 |
+
CORE_MODEL_DIR_PATH="download/core/model" \
|
467 |
+
LIBCORE_PATH="$LIBCORE_PATH" \
|
468 |
+
LIBONNXRUNTIME_PATH="$LIBONNXRUNTIME_PATH" \
|
469 |
+
pyinstaller --noconfirm run.spec
|
470 |
+
|
471 |
+
- name: Gather DLL dependencies to dist/run/ (Windows)
|
472 |
+
if: startsWith(matrix.os, 'windows-')
|
473 |
+
run: |
|
474 |
+
set -eux
|
475 |
+
|
476 |
+
# Move DLL dependencies (cache already saved)
|
477 |
+
|
478 |
+
if [ -f "download/onnxruntime/lib/onnxruntime_providers_cuda.dll" ]; then
|
479 |
+
# ONNX Runtime providers (PyInstaller does not copy dynamic loaded libraries)
|
480 |
+
mv download/onnxruntime/lib/onnxruntime_*.dll dist/run/
|
481 |
+
|
482 |
+
# CUDA
|
483 |
+
mv download/cuda/bin/cublas64_*.dll dist/run/
|
484 |
+
mv download/cuda/bin/cublasLt64_*.dll dist/run/
|
485 |
+
mv download/cuda/bin/cudart64_*.dll dist/run/
|
486 |
+
mv download/cuda/bin/cufft64_*.dll dist/run/
|
487 |
+
mv download/cuda/bin/curand64_*.dll dist/run/
|
488 |
+
|
489 |
+
# cuDNN
|
490 |
+
mv download/cudnn/bin/cudnn64_*.dll dist/run/
|
491 |
+
mv download/cudnn/bin/cudnn_*_infer64*.dll dist/run/
|
492 |
+
|
493 |
+
# zlib
|
494 |
+
mv download/zlib/zlibwapi.dll dist/run/
|
495 |
+
|
496 |
+
# Remove source directories to reduce disk usage (already cached)
|
497 |
+
rm -rf download/onnxruntime
|
498 |
+
rm -rf download/cuda
|
499 |
+
rm -rf download/cudnn
|
500 |
+
rm -rf download/zlib
|
501 |
+
fi
|
502 |
+
|
503 |
+
if [[ ${{ matrix.target }} == *-directml ]]; then
|
504 |
+
# DirectML
|
505 |
+
mv download/directml/DirectML.dll dist/run/
|
506 |
+
|
507 |
+
# Remove source directory (already cached)
|
508 |
+
rm -rf download/directml
|
509 |
+
fi
|
510 |
+
|
511 |
+
- name: Gather DLL dependencies to dist/run/ (Linux CUDA)
|
512 |
+
if: startsWith(matrix.os, 'ubuntu-') && endsWith(matrix.target, 'nvidia')
|
513 |
+
run: |
|
514 |
+
set -eux
|
515 |
+
|
516 |
+
# Move DLL dependencies (cache already saved)
|
517 |
+
|
518 |
+
# ONNX Runtime providers (PyInstaller does not copy dynamic loaded libraries)
|
519 |
+
patchelf --set-rpath '$ORIGIN' "$(pwd)/download/onnxruntime/lib"/libonnxruntime_providers_*.so
|
520 |
+
mv download/onnxruntime/lib/libonnxruntime_*.so dist/run/
|
521 |
+
|
522 |
+
# CUDA
|
523 |
+
mv download/cuda/bin/libcublas.so.* dist/run/
|
524 |
+
mv download/cuda/bin/libcublasLt.so.* dist/run/
|
525 |
+
mv download/cuda/bin/libcudart.so.* dist/run/
|
526 |
+
mv download/cuda/bin/libcufft.so.* dist/run/
|
527 |
+
mv download/cuda/bin/libcurand.so.* dist/run/
|
528 |
+
|
529 |
+
# cuDNN
|
530 |
+
mv download/cudnn/bin/libcudnn.so.* dist/run/
|
531 |
+
mv download/cudnn/bin/libcudnn_*_infer.so.* dist/run/
|
532 |
+
|
533 |
+
# Remove source directories to reduce disk usage (already cached)
|
534 |
+
rm -rf download/onnxruntime
|
535 |
+
rm -rf download/cuda
|
536 |
+
rm -rf download/cudnn
|
537 |
+
|
538 |
+
- name: Set @rpath to @executable_path
|
539 |
+
if: startsWith(matrix.os, 'macos-')
|
540 |
+
run: |
|
541 |
+
install_name_tool -add_rpath @executable_path/. dist/run/run
|
542 |
+
|
543 |
+
- name: Code signing
|
544 |
+
if: github.event.inputs.code_signing == 'true' && startsWith(matrix.os, 'windows-')
|
545 |
+
run: |
|
546 |
+
bash build_util/codesign.bash "dist/run/run.exe"
|
547 |
+
env:
|
548 |
+
ESIGNERCKA_USERNAME: ${{ secrets.ESIGNERCKA_USERNAME }}
|
549 |
+
ESIGNERCKA_PASSWORD: ${{ secrets.ESIGNERCKA_PASSWORD }}
|
550 |
+
ESIGNERCKA_TOTP_SECRET: ${{ secrets.ESIGNERCKA_TOTP_SECRET }}
|
551 |
+
|
552 |
+
- name: Rename artifact directory to archive
|
553 |
+
run: |
|
554 |
+
mv dist/run/ "${{ matrix.target }}/"
|
555 |
+
|
556 |
+
# 7z archives
|
557 |
+
- name: Create 7z archives
|
558 |
+
run: |
|
559 |
+
# Compress to artifact.7z.001, artifact.7z.002, ...
|
560 |
+
7z -r -v1900m a "${{ steps.vars.outputs.package_name }}.7z" "${{ matrix.target }}/"
|
561 |
+
|
562 |
+
# Output splitted archive list
|
563 |
+
ls ${{ steps.vars.outputs.package_name }}.7z.* > archives_7z.txt
|
564 |
+
mv archives_7z.txt "${{ steps.vars.outputs.package_name }}.7z.txt"
|
565 |
+
|
566 |
+
- name: Upload 7z archives to artifact
|
567 |
+
if: github.event.inputs.upload_artifact
|
568 |
+
uses: actions/upload-artifact@v3
|
569 |
+
with:
|
570 |
+
name: ${{ steps.vars.outputs.package_name }}
|
571 |
+
path: |
|
572 |
+
${{ steps.vars.outputs.package_name }}.7z.*
|
573 |
+
|
574 |
+
- name: Upload 7z archives to Release assets
|
575 |
+
if: needs.config.outputs.version != ''
|
576 |
+
uses: ncipollo/release-action@v1
|
577 |
+
with:
|
578 |
+
allowUpdates: true
|
579 |
+
prerelease: ${{ github.event.inputs.prerelease }}
|
580 |
+
token: ${{ secrets.GITHUB_TOKEN }}
|
581 |
+
tag: ${{ needs.config.outputs.version }}
|
582 |
+
artifacts: >
|
583 |
+
${{ steps.vars.outputs.package_name }}.7z.*
|
584 |
+
commit: ${{ github.sha }}
|
585 |
+
|
586 |
+
- name: Clean 7z archives to reduce disk usage
|
587 |
+
run: |
|
588 |
+
rm -f ${{ steps.vars.outputs.package_name }}.7z.*
|
589 |
+
|
590 |
+
# VVPP archives
|
591 |
+
- name: Create VVPP archives
|
592 |
+
run: |
|
593 |
+
# Compress to compressed.zip.001, compressed.zip.002, ...
|
594 |
+
# NOTE: 1000th archive will be "compressed.zip.1000" after "compressed.zip.999". This is unconsidered as an extreme case.
|
595 |
+
(cd "${{ matrix.target }}" && 7z -r -v1900M a "../compressed.zip")
|
596 |
+
|
597 |
+
# Rename to artifact.001.vvppp, artifact.002.vvppp, ...
|
598 |
+
for FILE in $(ls "compressed.zip."*); do
|
599 |
+
NUMBER=${FILE##*.} # 001
|
600 |
+
mv "${FILE}" "${{ steps.vars.outputs.package_name }}.${NUMBER}.vvppp"
|
601 |
+
done
|
602 |
+
|
603 |
+
# Rename to artifact.vvpp if there are only artifact.001.vvppp
|
604 |
+
if [ "$(ls ${{ steps.vars.outputs.package_name }}.*.vvppp | wc -l)" == 1 ]; then
|
605 |
+
mv ${{ steps.vars.outputs.package_name }}.001.vvppp ${{ steps.vars.outputs.package_name }}.vvpp
|
606 |
+
fi
|
607 |
+
|
608 |
+
# Output splitted archive list
|
609 |
+
ls ${{ steps.vars.outputs.package_name }}*.vvppp ${{ steps.vars.outputs.package_name }}.vvpp > archives_vvpp.txt || true
|
610 |
+
mv archives_vvpp.txt "${{ steps.vars.outputs.package_name }}.vvpp.txt"
|
611 |
+
|
612 |
+
- name: Upload VVPP archives to artifact
|
613 |
+
if: github.event.inputs.upload_artifact
|
614 |
+
uses: actions/upload-artifact@v3
|
615 |
+
with:
|
616 |
+
name: ${{ steps.vars.outputs.package_name }}
|
617 |
+
path: |
|
618 |
+
${{ steps.vars.outputs.package_name }}.vvpp
|
619 |
+
${{ steps.vars.outputs.package_name }}*.vvppp
|
620 |
+
${{ steps.vars.outputs.package_name }}.vvpp.txt
|
621 |
+
|
622 |
+
- name: Upload VVPP archives to Release assets
|
623 |
+
if: needs.config.outputs.version != ''
|
624 |
+
uses: ncipollo/release-action@v1
|
625 |
+
with:
|
626 |
+
allowUpdates: true
|
627 |
+
prerelease: ${{ github.event.inputs.prerelease }}
|
628 |
+
token: ${{ secrets.GITHUB_TOKEN }}
|
629 |
+
tag: ${{ needs.config.outputs.version }}
|
630 |
+
artifacts: >
|
631 |
+
${{ steps.vars.outputs.package_name }}.vvpp,
|
632 |
+
${{ steps.vars.outputs.package_name }}*.vvppp,
|
633 |
+
${{ steps.vars.outputs.package_name }}.vvpp.txt
|
634 |
+
commit: ${{ github.sha }}
|
635 |
+
|
636 |
+
run-release-test-workflow:
|
637 |
+
if: needs.config.outputs.version != ''
|
638 |
+
needs: [config, build-and-upload]
|
639 |
+
uses: ./.github/workflows/release-test.yml
|
640 |
+
with:
|
641 |
+
version: ${{ needs.config.outputs.version }}
|
642 |
+
repo_url: ${{ format('{0}/{1}', github.server_url, github.repository) }} # このリポジトリのURL
|
voicevox_nemo_engine/.github/workflows/coverage-comment.yml
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Coverage Report Comment
|
2 |
+
|
3 |
+
on:
|
4 |
+
workflow_run:
|
5 |
+
workflows:
|
6 |
+
- test
|
7 |
+
types:
|
8 |
+
- completed
|
9 |
+
workflow_dispatch:
|
10 |
+
|
11 |
+
defaults:
|
12 |
+
run:
|
13 |
+
shell: bash
|
14 |
+
|
15 |
+
jobs:
|
16 |
+
comment:
|
17 |
+
runs-on: ubuntu-latest
|
18 |
+
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success'
|
19 |
+
steps:
|
20 |
+
- name: Download coverage report
|
21 |
+
uses: actions/[email protected]
|
22 |
+
with:
|
23 |
+
script: |
|
24 |
+
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
25 |
+
owner: context.repo.owner,
|
26 |
+
repo: context.repo.repo,
|
27 |
+
run_id: ${{ github.event.workflow_run.id }},
|
28 |
+
})
|
29 |
+
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
|
30 |
+
return artifact.name == 'report'
|
31 |
+
})[0]
|
32 |
+
const download = await github.rest.actions.downloadArtifact({
|
33 |
+
owner: context.repo.owner,
|
34 |
+
repo: context.repo.repo,
|
35 |
+
artifact_id: matchArtifact.id,
|
36 |
+
archive_format: 'zip',
|
37 |
+
})
|
38 |
+
const fs = require('fs')
|
39 |
+
fs.writeFileSync('${{github.workspace}}/report.zip', Buffer.from(download.data))
|
40 |
+
|
41 |
+
- name: Unzip report
|
42 |
+
run: unzip report.zip
|
43 |
+
|
44 |
+
- name: Comment coverage result to Pull Requests
|
45 |
+
uses: actions/[email protected]
|
46 |
+
with:
|
47 |
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
48 |
+
script: |
|
49 |
+
const fs = require('fs')
|
50 |
+
const baseReport = fs.readFileSync('report.txt', 'utf8').toString().split('\n')
|
51 |
+
let report = ''
|
52 |
+
for (let i = 0; i < baseReport.length; i++) {
|
53 |
+
const line = baseReport[i].split(' ').filter(v => v)
|
54 |
+
if (i === 1 && line.length === 1) {
|
55 |
+
report += "|:---|---:|---:|---:|\n"
|
56 |
+
} else if (line.length === 1) {
|
57 |
+
continue
|
58 |
+
} else {
|
59 |
+
if (i !== 0 && line.length === 4) {
|
60 |
+
const parcent = Number(line[3].replace("%", ""))
|
61 |
+
let color = 'green'
|
62 |
+
if (parcent < 50) {
|
63 |
+
color = 'red'
|
64 |
+
} else if (parcent < 90) {
|
65 |
+
color = 'orange'
|
66 |
+
}
|
67 |
+
line[3] = `![coverage-${parcent}%](https://img.shields.io/badge/coverage-${parcent}%25-${color}.svg)`
|
68 |
+
}
|
69 |
+
report += "|" + line.join("|") + "|\n"
|
70 |
+
}
|
71 |
+
if (line[0] === 'TOTAL') break
|
72 |
+
}
|
73 |
+
|
74 |
+
const issue_number = Number(fs.readFileSync('pr_num.txt'))
|
75 |
+
const body = `## Coverage Result\n\n<details>\n<summary>Resultを開く</summary>\n\n${report}\n</details>`
|
76 |
+
|
77 |
+
let listComments = await github.rest.issues.listComments({
|
78 |
+
issue_number,
|
79 |
+
owner: context.repo.owner,
|
80 |
+
repo: context.repo.repo,
|
81 |
+
})
|
82 |
+
listComments = listComments.data.filter((comment) => {
|
83 |
+
return comment.body.includes('Coverage Result') && comment.user.login.includes('github-actions')
|
84 |
+
})
|
85 |
+
|
86 |
+
if (listComments.length === 0) {
|
87 |
+
github.rest.issues.createComment({
|
88 |
+
issue_number,
|
89 |
+
owner: context.repo.owner,
|
90 |
+
repo: context.repo.repo,
|
91 |
+
body,
|
92 |
+
})
|
93 |
+
} else {
|
94 |
+
github.rest.issues.updateComment({
|
95 |
+
comment_id: listComments[0].id,
|
96 |
+
owner: context.repo.owner,
|
97 |
+
repo: context.repo.repo,
|
98 |
+
body,
|
99 |
+
})
|
100 |
+
}
|
voicevox_nemo_engine/.github/workflows/labeler.yml
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Issue Labeler
|
2 |
+
on:
|
3 |
+
issues:
|
4 |
+
types: [opened]
|
5 |
+
defaults:
|
6 |
+
run:
|
7 |
+
shell: bash
|
8 |
+
|
9 |
+
jobs:
|
10 |
+
triage:
|
11 |
+
runs-on: ubuntu-latest
|
12 |
+
steps:
|
13 |
+
- uses: github/[email protected]
|
14 |
+
with:
|
15 |
+
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
16 |
+
configuration-path: .github/labeler.yml
|
17 |
+
enable-versioned-regex: 0
|
voicevox_nemo_engine/.github/workflows/release-test-docker.yml
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Test Docker Release Build
|
2 |
+
|
3 |
+
on:
|
4 |
+
workflow_call:
|
5 |
+
inputs:
|
6 |
+
version:
|
7 |
+
type: string
|
8 |
+
required: true
|
9 |
+
repo_url:
|
10 |
+
type: string
|
11 |
+
required: false
|
12 |
+
workflow_dispatch:
|
13 |
+
inputs:
|
14 |
+
version:
|
15 |
+
type: string
|
16 |
+
description: "テストしたいタグ名"
|
17 |
+
required: true
|
18 |
+
|
19 |
+
env:
|
20 |
+
IMAGE_NAME: ${{ vars.DOCKERHUB_USERNAME }}/voicevox_engine
|
21 |
+
VERSION: |- # version指定時はversionを、それ以外はタグ名を使用
|
22 |
+
${{ (github.event.inputs || inputs).version }}
|
23 |
+
|
24 |
+
defaults:
|
25 |
+
run:
|
26 |
+
shell: bash
|
27 |
+
|
28 |
+
jobs:
|
29 |
+
test:
|
30 |
+
runs-on: [ ubuntu-20.04 ]
|
31 |
+
strategy:
|
32 |
+
fail-fast: false
|
33 |
+
matrix:
|
34 |
+
tag:
|
35 |
+
- ""
|
36 |
+
- cpu
|
37 |
+
- cpu-ubuntu20.04
|
38 |
+
|
39 |
+
steps:
|
40 |
+
- uses: actions/checkout@v3
|
41 |
+
|
42 |
+
#
|
43 |
+
# Setup Python Environment
|
44 |
+
#
|
45 |
+
- uses: actions/setup-python@v4
|
46 |
+
with:
|
47 |
+
python-version: "3.11.3"
|
48 |
+
cache: pip
|
49 |
+
|
50 |
+
- name: Install requirements
|
51 |
+
run: |
|
52 |
+
pip install -r requirements-test.txt
|
53 |
+
|
54 |
+
#
|
55 |
+
# Setup Docker Environment
|
56 |
+
#
|
57 |
+
- name: Declare variables
|
58 |
+
id: docker_vars
|
59 |
+
run: |
|
60 |
+
if [ "${{ matrix.tag }}" != "" ]; then
|
61 |
+
echo "image_tag=${{ env.IMAGE_NAME }}:${{ matrix.tag }}-${{ env.VERSION }}" >> $GITHUB_OUTPUT
|
62 |
+
else
|
63 |
+
echo "image_tag=${{ env.IMAGE_NAME }}:${{ env.VERSION }}" >> $GITHUB_OUTPUT
|
64 |
+
fi
|
65 |
+
|
66 |
+
- name: Docker pull
|
67 |
+
run: docker pull "${{ steps.docker_vars.outputs.image_tag }}"
|
68 |
+
|
69 |
+
- name: Docker run
|
70 |
+
run: docker run -d -p 50021:50021 "${{ steps.docker_vars.outputs.image_tag }}"
|
71 |
+
|
72 |
+
# Docker コンテナが起動してから、レスポンスが返ってくるまで待機する
|
73 |
+
# リトライは10回まで `/version` にアクセスしてレスポンスのステータスコードをチェック
|
74 |
+
# - ステータスコードが `200` の場合は正常終了します
|
75 |
+
# - ステータスコードが `200` 以外の場合は、5秒間スリープしてリトライします
|
76 |
+
- name: Wait for container to start
|
77 |
+
run: |
|
78 |
+
set +e # curlのエラーを無視する
|
79 |
+
|
80 |
+
url="http://127.0.0.1:50021/version"
|
81 |
+
max_attempts=10
|
82 |
+
sleep_interval=5
|
83 |
+
|
84 |
+
for i in $(seq 1 $max_attempts); do
|
85 |
+
status=$(curl -o /dev/null -s -w '%{http_code}\n' $url)
|
86 |
+
if [ $status -eq 200 ]; then
|
87 |
+
echo "Container is ready! Response status code: $status"
|
88 |
+
exit 0
|
89 |
+
else
|
90 |
+
echo "Attempt $i/$max_attempts: Response status code $status"
|
91 |
+
sleep $sleep_interval
|
92 |
+
fi
|
93 |
+
done
|
94 |
+
exit 1
|
95 |
+
|
96 |
+
- name: Test
|
97 |
+
run: python build_util/check_release_build.py --skip_run_process --dist_dir dist/
|
voicevox_nemo_engine/.github/workflows/release-test.yml
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Test Release Build
|
2 |
+
|
3 |
+
on:
|
4 |
+
workflow_call:
|
5 |
+
inputs:
|
6 |
+
version:
|
7 |
+
type: string
|
8 |
+
required: true
|
9 |
+
repo_url:
|
10 |
+
type: string
|
11 |
+
required: false
|
12 |
+
workflow_dispatch:
|
13 |
+
inputs:
|
14 |
+
version:
|
15 |
+
type: string
|
16 |
+
description: "テストしたいタグ名"
|
17 |
+
required: true
|
18 |
+
repo_url:
|
19 |
+
type: string
|
20 |
+
description: "リポジトリのURL(省略可能)"
|
21 |
+
required: false
|
22 |
+
|
23 |
+
env:
|
24 |
+
REPO_URL:
|
25 |
+
|- # repo_url指定時はrepo_urlを、それ以外はgithubのリポジトリURLを使用
|
26 |
+
${{ (github.event.inputs || inputs).repo_url || format('{0}/{1}', github.server_url, github.repository) }}
|
27 |
+
VERSION: |- # version指定時はversionを、それ以外はタグ名を使用
|
28 |
+
${{ (github.event.inputs || inputs).version }}
|
29 |
+
|
30 |
+
defaults:
|
31 |
+
run:
|
32 |
+
shell: bash
|
33 |
+
|
34 |
+
jobs:
|
35 |
+
test:
|
36 |
+
strategy:
|
37 |
+
fail-fast: false
|
38 |
+
matrix:
|
39 |
+
include:
|
40 |
+
- os: ubuntu-20.04
|
41 |
+
target: linux-cpu
|
42 |
+
- os: ubuntu-20.04
|
43 |
+
target: linux-nvidia
|
44 |
+
- os: macos-11
|
45 |
+
target: macos-x64
|
46 |
+
- os: windows-2019
|
47 |
+
target: windows-cpu
|
48 |
+
- os: windows-2019
|
49 |
+
target: windows-nvidia
|
50 |
+
- os: windows-2019
|
51 |
+
target: windows-directml
|
52 |
+
|
53 |
+
runs-on: ${{ matrix.os }}
|
54 |
+
|
55 |
+
steps:
|
56 |
+
- name: declare variables
|
57 |
+
id: vars
|
58 |
+
run: |
|
59 |
+
echo "release_url=${{ env.REPO_URL }}/releases/download/${{ env.VERSION }}" >> $GITHUB_OUTPUT
|
60 |
+
echo "package_name=voicevox_engine-${{ matrix.target }}-${{ env.VERSION }}" >> $GITHUB_OUTPUT
|
61 |
+
|
62 |
+
- uses: actions/checkout@v2
|
63 |
+
|
64 |
+
- uses: actions/setup-python@v2
|
65 |
+
with:
|
66 |
+
python-version: "3.11.3"
|
67 |
+
cache: pip
|
68 |
+
|
69 |
+
- name: Download
|
70 |
+
run: |
|
71 |
+
mkdir -p download
|
72 |
+
curl -L -o "download/list.txt" "${{ steps.vars.outputs.release_url }}/${{ steps.vars.outputs.package_name }}.7z.txt"
|
73 |
+
cat "download/list.txt" | xargs -I '%' curl -L -o "download/%" "${{ steps.vars.outputs.release_url }}/%"
|
74 |
+
7z x "download/$(head -n1 download/list.txt)"
|
75 |
+
mv ${{ matrix.target }} dist/
|
76 |
+
|
77 |
+
- name: chmod +x
|
78 |
+
if: startsWith(matrix.target, 'linux') || startsWith(matrix.target, 'macos')
|
79 |
+
run: chmod +x dist/run
|
80 |
+
|
81 |
+
- name: Install requirements
|
82 |
+
run: |
|
83 |
+
pip install -r requirements-test.txt
|
84 |
+
|
85 |
+
- name: Test
|
86 |
+
run: python build_util/check_release_build.py --dist_dir dist/
|
voicevox_nemo_engine/.github/workflows/test.yml
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: test
|
2 |
+
|
3 |
+
on:
|
4 |
+
push:
|
5 |
+
pull_request:
|
6 |
+
branches:
|
7 |
+
- "**"
|
8 |
+
workflow_dispatch:
|
9 |
+
|
10 |
+
defaults:
|
11 |
+
run:
|
12 |
+
shell: bash
|
13 |
+
|
14 |
+
jobs:
|
15 |
+
test:
|
16 |
+
runs-on: ${{ matrix.os }}
|
17 |
+
strategy:
|
18 |
+
matrix:
|
19 |
+
os: [ubuntu-20.04, windows-latest] # [ubuntu-20.04, macos-latest, windows-latest]
|
20 |
+
python: ["3.11.3"]
|
21 |
+
|
22 |
+
steps:
|
23 |
+
- uses: actions/checkout@v3
|
24 |
+
|
25 |
+
- name: Set up Python ${{ matrix.python }}
|
26 |
+
uses: actions/setup-python@v4
|
27 |
+
with:
|
28 |
+
python-version: ${{ matrix.python }}
|
29 |
+
cache: pip
|
30 |
+
|
31 |
+
- name: Install dependencies
|
32 |
+
run: |
|
33 |
+
python -m pip install --upgrade pip setuptools wheel
|
34 |
+
python -m pip install -r requirements-test.txt
|
35 |
+
|
36 |
+
- name: Run poetry and check
|
37 |
+
run: |
|
38 |
+
poetry export --without-hashes -o requirements.txt.check
|
39 |
+
poetry export --without-hashes --with dev -o requirements-dev.txt.check
|
40 |
+
poetry export --without-hashes --with test -o requirements-test.txt.check
|
41 |
+
poetry export --without-hashes --with license -o requirements-license.txt.check
|
42 |
+
|
43 |
+
diff -q requirements.txt requirements.txt.check || \
|
44 |
+
diff -q requirements-dev.txt requirements-dev.txt.check || \
|
45 |
+
diff -q requirements-test.txt requirements-test.txt.check || \
|
46 |
+
diff -q requirements-license.txt requirements-license.txt.check > /dev/null
|
47 |
+
if [ $? = 1 ]; then
|
48 |
+
echo "poetry export has some diff"
|
49 |
+
exit 1
|
50 |
+
fi
|
51 |
+
|
52 |
+
- run: pysen run lint
|
53 |
+
|
54 |
+
- name: Run pytest and get coverage
|
55 |
+
run: |
|
56 |
+
coverage run --omit=test/* -m pytest
|
57 |
+
|
58 |
+
- name: Submit coverage to Coveralls
|
59 |
+
if: matrix.os == 'ubuntu-20.04'
|
60 |
+
run: coveralls --service=github
|
61 |
+
env:
|
62 |
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
63 |
+
|
64 |
+
- name: Create coverage result
|
65 |
+
if: github.event_name == 'pull_request' && matrix.os == 'ubuntu-20.04'
|
66 |
+
run: |
|
67 |
+
mkdir report
|
68 |
+
coverage report > report/report.txt
|
69 |
+
echo ${{ github.event.number }} > report/pr_num.txt
|
70 |
+
|
71 |
+
- name: Upload coverage result
|
72 |
+
if: github.event_name == 'pull_request' && matrix.os == 'ubuntu-20.04'
|
73 |
+
uses: actions/upload-artifact@v3
|
74 |
+
with:
|
75 |
+
name: report
|
76 |
+
path: report/
|
77 |
+
|
78 |
+
- name: Check licenses
|
79 |
+
shell: bash
|
80 |
+
run: |
|
81 |
+
OUTPUT_LICENSE_JSON_PATH=/dev/null \
|
82 |
+
bash build_util/create_venv_and_generate_licenses.bash
|
voicevox_nemo_engine/.github/workflows/typos.yml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Check typos
|
2 |
+
|
3 |
+
on:
|
4 |
+
push:
|
5 |
+
pull_request:
|
6 |
+
branches:
|
7 |
+
- "**"
|
8 |
+
workflow_dispatch:
|
9 |
+
|
10 |
+
defaults:
|
11 |
+
run:
|
12 |
+
shell: bash
|
13 |
+
|
14 |
+
jobs:
|
15 |
+
typos:
|
16 |
+
runs-on: ubuntu-latest
|
17 |
+
|
18 |
+
steps:
|
19 |
+
- uses: actions/checkout@v3
|
20 |
+
|
21 |
+
- name: typos-action
|
22 |
+
uses: crate-ci/[email protected]
|
voicevox_nemo_engine/.github/workflows/upload-gh-pages.yml
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: upload-docs
|
2 |
+
|
3 |
+
on:
|
4 |
+
push:
|
5 |
+
branches:
|
6 |
+
- "master"
|
7 |
+
|
8 |
+
env:
|
9 |
+
PYTHON_VERSION: "3.11.3"
|
10 |
+
PUBLISH_DIR: "./docs/api"
|
11 |
+
PUBLISH_BRANCH: "gh-pages"
|
12 |
+
DESTINATION_DIR: "api"
|
13 |
+
|
14 |
+
defaults:
|
15 |
+
run:
|
16 |
+
shell: bash
|
17 |
+
|
18 |
+
jobs:
|
19 |
+
upload-doc:
|
20 |
+
runs-on: ubuntu-20.04
|
21 |
+
steps:
|
22 |
+
- uses: actions/checkout@v2
|
23 |
+
|
24 |
+
- name: Setup Python
|
25 |
+
id: setup-python
|
26 |
+
uses: actions/setup-python@v2
|
27 |
+
with:
|
28 |
+
python-version: ${{ env.PYTHON_VERSION }}
|
29 |
+
cache: pip
|
30 |
+
|
31 |
+
- name: Install Python dependencies
|
32 |
+
run: |
|
33 |
+
pip install -r requirements.txt
|
34 |
+
|
35 |
+
- name: Make documents
|
36 |
+
run: |
|
37 |
+
python make_docs.py
|
38 |
+
|
39 |
+
- name: Deploy to GitHub Pages
|
40 |
+
uses: peaceiris/actions-gh-pages@v3
|
41 |
+
with:
|
42 |
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
43 |
+
publish_dir: ${{ env.PUBLISH_DIR }}
|
44 |
+
publish_branch: ${{ env.PUBLISH_BRANCH }}
|
45 |
+
destination_dir: ${{ env.DESTINATION_DIR }}
|
voicevox_nemo_engine/.gitignore
ADDED
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# VOICEVOX specifics
|
2 |
+
## Artifacts of nuitka
|
3 |
+
*.dist
|
4 |
+
*.build
|
5 |
+
/build
|
6 |
+
/cache
|
7 |
+
## Artifact of generating licenses
|
8 |
+
/licenses.json
|
9 |
+
licenses_venv/
|
10 |
+
|
11 |
+
# Copied from `https://github.com/github/gitignore/blob/main/Python.gitignore` @2022-01-10
|
12 |
+
# Byte-compiled / optimized / DLL files
|
13 |
+
__pycache__/
|
14 |
+
*.py[cod]
|
15 |
+
*$py.class
|
16 |
+
|
17 |
+
# C extensions
|
18 |
+
*.so
|
19 |
+
|
20 |
+
# Distribution / packaging
|
21 |
+
.Python
|
22 |
+
build/
|
23 |
+
develop-eggs/
|
24 |
+
dist/
|
25 |
+
downloads/
|
26 |
+
eggs/
|
27 |
+
.eggs/
|
28 |
+
lib/
|
29 |
+
lib64/
|
30 |
+
parts/
|
31 |
+
sdist/
|
32 |
+
var/
|
33 |
+
wheels/
|
34 |
+
share/python-wheels/
|
35 |
+
*.egg-info/
|
36 |
+
.installed.cfg
|
37 |
+
*.egg
|
38 |
+
MANIFEST
|
39 |
+
|
40 |
+
# Installer logs
|
41 |
+
pip-log.txt
|
42 |
+
pip-delete-this-directory.txt
|
43 |
+
|
44 |
+
# Unit test / coverage reports
|
45 |
+
htmlcov/
|
46 |
+
.tox/
|
47 |
+
.nox/
|
48 |
+
.coverage
|
49 |
+
.coverage.*
|
50 |
+
.cache
|
51 |
+
nosetests.xml
|
52 |
+
coverage.xml
|
53 |
+
*.cover
|
54 |
+
*.py,cover
|
55 |
+
.hypothesis/
|
56 |
+
.pytest_cache/
|
57 |
+
cover/
|
58 |
+
|
59 |
+
# Translations
|
60 |
+
*.mo
|
61 |
+
*.pot
|
62 |
+
|
63 |
+
# Django stuff:
|
64 |
+
*.log
|
65 |
+
local_settings.py
|
66 |
+
db.sqlite3
|
67 |
+
db.sqlite3-journal
|
68 |
+
|
69 |
+
# Flask stuff:
|
70 |
+
instance/
|
71 |
+
.webassets-cache
|
72 |
+
|
73 |
+
# Scrapy stuff:
|
74 |
+
.scrapy
|
75 |
+
|
76 |
+
# Sphinx documentation
|
77 |
+
docs/_build/
|
78 |
+
|
79 |
+
# PyBuilder
|
80 |
+
.pybuilder/
|
81 |
+
target/
|
82 |
+
|
83 |
+
# Jupyter Notebook
|
84 |
+
.ipynb_checkpoints
|
85 |
+
|
86 |
+
# IPython
|
87 |
+
profile_default/
|
88 |
+
ipython_config.py
|
89 |
+
|
90 |
+
# pyenv
|
91 |
+
# For a library or package, you might want to ignore these files since the code is
|
92 |
+
# intended to run in multiple environments; otherwise, check them in:
|
93 |
+
.python-version
|
94 |
+
|
95 |
+
# pipenv
|
96 |
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
97 |
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
98 |
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
99 |
+
# install all needed dependencies.
|
100 |
+
Pipfile.lock
|
101 |
+
|
102 |
+
# poetry
|
103 |
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
104 |
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
105 |
+
# commonly ignored for libraries.
|
106 |
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
107 |
+
# poetry.lock
|
108 |
+
|
109 |
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
110 |
+
__pypackages__/
|
111 |
+
|
112 |
+
# Celery stuff
|
113 |
+
celerybeat-schedule
|
114 |
+
celerybeat.pid
|
115 |
+
|
116 |
+
# SageMath parsed files
|
117 |
+
*.sage.py
|
118 |
+
|
119 |
+
# Environments
|
120 |
+
.env
|
121 |
+
.venv
|
122 |
+
env/
|
123 |
+
venv/
|
124 |
+
ENV/
|
125 |
+
env.bak/
|
126 |
+
venv.bak/
|
127 |
+
|
128 |
+
# Spyder project settings
|
129 |
+
.spyderproject
|
130 |
+
.spyproject
|
131 |
+
|
132 |
+
# Rope project settings
|
133 |
+
.ropeproject
|
134 |
+
|
135 |
+
# mkdocs documentation
|
136 |
+
/site
|
137 |
+
|
138 |
+
# mypy
|
139 |
+
.mypy_cache/
|
140 |
+
.dmypy.json
|
141 |
+
dmypy.json
|
142 |
+
|
143 |
+
# Pyre type checker
|
144 |
+
.pyre/
|
145 |
+
|
146 |
+
# pytype static type analyzer
|
147 |
+
.pytype/
|
148 |
+
|
149 |
+
# Cython debug symbols
|
150 |
+
cython_debug/
|
151 |
+
|
152 |
+
# PyCharm
|
153 |
+
# JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
|
154 |
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
155 |
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
156 |
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
157 |
+
.idea/
|
voicevox_nemo_engine/.pre-commit-config.yaml
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# See https://pre-commit.com for more information
|
2 |
+
# See https://pre-commit.com/hooks.html for more hooks
|
3 |
+
repos:
|
4 |
+
- repo: local
|
5 |
+
hooks:
|
6 |
+
- id: pysen-lint
|
7 |
+
name: pysen-lint
|
8 |
+
entry: pysen run lint
|
9 |
+
language: python
|
10 |
+
types: [file, python]
|
11 |
+
stages: [push]
|
12 |
+
pass_filenames: false
|
13 |
+
- id: poetry-export
|
14 |
+
name: poetry-export
|
15 |
+
entry: poetry export --without-hashes -o requirements.txt
|
16 |
+
language: python
|
17 |
+
stages: [push]
|
18 |
+
pass_filenames: false
|
19 |
+
- id: poetry-export-dev
|
20 |
+
name: poetry-export-dev
|
21 |
+
entry: poetry export --without-hashes --with dev -o requirements-dev.txt
|
22 |
+
language: python
|
23 |
+
stages: [push]
|
24 |
+
pass_filenames: false
|
25 |
+
- id: poetry-export-test
|
26 |
+
name: poetry-export-test
|
27 |
+
entry: poetry export --without-hashes --with test -o requirements-test.txt
|
28 |
+
language: python
|
29 |
+
stages: [push]
|
30 |
+
pass_filenames: false
|
31 |
+
- id: poetry-export-license
|
32 |
+
name: poetry-export-license
|
33 |
+
entry: poetry export --without-hashes --with license -o requirements-license.txt
|
34 |
+
language: python
|
35 |
+
stages: [push]
|
36 |
+
pass_filenames: false
|
voicevox_nemo_engine/Dockerfile
ADDED
@@ -0,0 +1,298 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# syntax=docker/dockerfile:1.4
|
2 |
+
|
3 |
+
ARG BASE_IMAGE=ubuntu:20.04
|
4 |
+
ARG BASE_RUNTIME_IMAGE=$BASE_IMAGE
|
5 |
+
|
6 |
+
# Download VOICEVOX Core shared object
|
7 |
+
FROM ${BASE_IMAGE} AS download-core-env
|
8 |
+
ARG DEBIAN_FRONTEND=noninteractive
|
9 |
+
|
10 |
+
WORKDIR /work
|
11 |
+
|
12 |
+
RUN <<EOF
|
13 |
+
set -eux
|
14 |
+
|
15 |
+
apt-get update
|
16 |
+
apt-get install -y \
|
17 |
+
wget \
|
18 |
+
unzip
|
19 |
+
apt-get clean
|
20 |
+
rm -rf /var/lib/apt/lists/*
|
21 |
+
EOF
|
22 |
+
|
23 |
+
# assert VOICEVOX_CORE_VERSION >= 0.11.0 (ONNX)
|
24 |
+
ARG TARGETPLATFORM
|
25 |
+
ARG USE_GPU=false
|
26 |
+
ARG VOICEVOX_CORE_VERSION=0.14.0
|
27 |
+
|
28 |
+
RUN <<EOF
|
29 |
+
set -eux
|
30 |
+
|
31 |
+
# Processing Switch
|
32 |
+
if [ "${USE_GPU}" = "true" ]; then
|
33 |
+
VOICEVOX_CORE_ASSET_ASSET_PROCESSING="gpu"
|
34 |
+
else
|
35 |
+
VOICEVOX_CORE_ASSET_ASSET_PROCESSING="cpu"
|
36 |
+
fi
|
37 |
+
|
38 |
+
# TARGETARCH Switch
|
39 |
+
if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then
|
40 |
+
VOICEVOX_CORE_ASSET_TARGETARCH="x64"
|
41 |
+
else
|
42 |
+
VOICEVOX_CORE_ASSET_TARGETARCH="arm64"
|
43 |
+
fi
|
44 |
+
|
45 |
+
VOICEVOX_CORE_ASSET_PREFIX="voicevox_core-linux-${VOICEVOX_CORE_ASSET_TARGETARCH}-${VOICEVOX_CORE_ASSET_ASSET_PROCESSING}"
|
46 |
+
|
47 |
+
# Download Core
|
48 |
+
VOICEVOX_CORE_ASSET_NAME=${VOICEVOX_CORE_ASSET_PREFIX}-${VOICEVOX_CORE_VERSION}
|
49 |
+
wget -nv --show-progress -c -O "./${VOICEVOX_CORE_ASSET_NAME}.zip" "https://github.com/VOICEVOX/voicevox_nemo_core/releases/download/${VOICEVOX_CORE_VERSION}/${VOICEVOX_CORE_ASSET_NAME}.zip"
|
50 |
+
unzip "./${VOICEVOX_CORE_ASSET_NAME}.zip"
|
51 |
+
mkdir -p core
|
52 |
+
mv "${VOICEVOX_CORE_ASSET_NAME}"/* core
|
53 |
+
rm -rf $VOICEVOX_CORE_ASSET_NAME
|
54 |
+
rm "./${VOICEVOX_CORE_ASSET_NAME}.zip"
|
55 |
+
|
56 |
+
# Move Core to /opt/voicevox_core/
|
57 |
+
mkdir /opt/voicevox_core
|
58 |
+
mv ./core/* /opt/voicevox_core/
|
59 |
+
|
60 |
+
# Add /opt/voicevox_core to dynamic library search path
|
61 |
+
echo "/opt/voicevox_core" > /etc/ld.so.conf.d/voicevox_core.conf
|
62 |
+
|
63 |
+
# Update dynamic library search cache
|
64 |
+
ldconfig
|
65 |
+
EOF
|
66 |
+
|
67 |
+
|
68 |
+
# Download ONNX Runtime
|
69 |
+
FROM ${BASE_IMAGE} AS download-onnxruntime-env
|
70 |
+
ARG DEBIAN_FRONTEND=noninteractive
|
71 |
+
|
72 |
+
WORKDIR /work
|
73 |
+
|
74 |
+
RUN <<EOF
|
75 |
+
set -eux
|
76 |
+
|
77 |
+
apt-get update
|
78 |
+
apt-get install -y \
|
79 |
+
wget \
|
80 |
+
tar
|
81 |
+
apt-get clean
|
82 |
+
rm -rf /var/lib/apt/lists/*
|
83 |
+
EOF
|
84 |
+
|
85 |
+
ARG TARGETPLATFORM
|
86 |
+
ARG USE_GPU=false
|
87 |
+
ARG ONNXRUNTIME_VERSION=1.13.1
|
88 |
+
RUN <<EOF
|
89 |
+
set -eux
|
90 |
+
|
91 |
+
# Processing Switch
|
92 |
+
if [ "${USE_GPU}" = "true" ]; then
|
93 |
+
ONNXRUNTIME_PROCESSING="gpu-"
|
94 |
+
else
|
95 |
+
ONNXRUNTIME_PROCESSING=""
|
96 |
+
fi
|
97 |
+
|
98 |
+
# TARGETARCH Switch
|
99 |
+
if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then
|
100 |
+
ONNXRUNTIME_TARGETARCH=x64
|
101 |
+
else
|
102 |
+
ONNXRUNTIME_TARGETARCH=aarch64
|
103 |
+
fi
|
104 |
+
|
105 |
+
ONNXRUNTIME_URL="https://github.com/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-linux-${ONNXRUNTIME_TARGETARCH}-${ONNXRUNTIME_PROCESSING}${ONNXRUNTIME_VERSION}.tgz"
|
106 |
+
|
107 |
+
# Download ONNX Runtime
|
108 |
+
wget -nv --show-progress -c -O "./onnxruntime.tgz" "${ONNXRUNTIME_URL}"
|
109 |
+
|
110 |
+
# Extract ONNX Runtime to /opt/onnxruntime
|
111 |
+
mkdir -p /opt/onnxruntime
|
112 |
+
tar xf "./onnxruntime.tgz" -C "/opt/onnxruntime" --strip-components 1
|
113 |
+
rm ./onnxruntime.tgz
|
114 |
+
|
115 |
+
# Add /opt/onnxruntime/lib to dynamic library search path
|
116 |
+
echo "/opt/onnxruntime/lib" > /etc/ld.so.conf.d/onnxruntime.conf
|
117 |
+
|
118 |
+
# Update dynamic library search cache
|
119 |
+
ldconfig
|
120 |
+
EOF
|
121 |
+
|
122 |
+
|
123 |
+
# Compile Python (version locked)
|
124 |
+
FROM ${BASE_IMAGE} AS compile-python-env
|
125 |
+
|
126 |
+
ARG DEBIAN_FRONTEND=noninteractive
|
127 |
+
|
128 |
+
RUN <<EOF
|
129 |
+
set -eux
|
130 |
+
apt-get update
|
131 |
+
apt-get install -y \
|
132 |
+
build-essential \
|
133 |
+
libssl-dev \
|
134 |
+
zlib1g-dev \
|
135 |
+
libbz2-dev \
|
136 |
+
libreadline-dev \
|
137 |
+
libsqlite3-dev \
|
138 |
+
curl \
|
139 |
+
libncursesw5-dev \
|
140 |
+
xz-utils \
|
141 |
+
tk-dev \
|
142 |
+
libxml2-dev \
|
143 |
+
libxmlsec1-dev \
|
144 |
+
libffi-dev \
|
145 |
+
liblzma-dev \
|
146 |
+
git
|
147 |
+
apt-get clean
|
148 |
+
rm -rf /var/lib/apt/lists/*
|
149 |
+
EOF
|
150 |
+
|
151 |
+
ARG PYTHON_VERSION=3.11.3
|
152 |
+
ARG PYENV_VERSION=v2.3.17
|
153 |
+
ARG PYENV_ROOT=/tmp/.pyenv
|
154 |
+
ARG PYBUILD_ROOT=/tmp/python-build
|
155 |
+
RUN <<EOF
|
156 |
+
set -eux
|
157 |
+
|
158 |
+
git clone -b "${PYENV_VERSION}" https://github.com/pyenv/pyenv.git "$PYENV_ROOT"
|
159 |
+
PREFIX="$PYBUILD_ROOT" "$PYENV_ROOT"/plugins/python-build/install.sh
|
160 |
+
"$PYBUILD_ROOT/bin/python-build" -v "$PYTHON_VERSION" /opt/python
|
161 |
+
|
162 |
+
rm -rf "$PYBUILD_ROOT" "$PYENV_ROOT"
|
163 |
+
EOF
|
164 |
+
|
165 |
+
# FIXME: add /opt/python to PATH
|
166 |
+
# not working: /etc/profile read only on login shell
|
167 |
+
# not working: /etc/environment is the same
|
168 |
+
# not suitable: `ENV` is ignored by docker-compose
|
169 |
+
# RUN <<EOF
|
170 |
+
# set -eux
|
171 |
+
# echo "export PATH=/opt/python/bin:\$PATH" > /etc/profile.d/python-path.sh
|
172 |
+
# echo "export LD_LIBRARY_PATH=/opt/python/lib:\$LD_LIBRARY_PATH" >> /etc/profile.d/python-path.sh
|
173 |
+
# echo "export C_INCLUDE_PATH=/opt/python/include:\$C_INCLUDE_PATH" >> /etc/profile.d/python-path.sh
|
174 |
+
#
|
175 |
+
# rm -f /etc/ld.so.cache
|
176 |
+
# ldconfig
|
177 |
+
# EOF
|
178 |
+
|
179 |
+
|
180 |
+
# Runtime
|
181 |
+
FROM ${BASE_RUNTIME_IMAGE} AS runtime-env
|
182 |
+
ARG DEBIAN_FRONTEND=noninteractive
|
183 |
+
|
184 |
+
WORKDIR /opt/voicevox_engine
|
185 |
+
|
186 |
+
# ca-certificates: pyopenjtalk dictionary download
|
187 |
+
# build-essential: pyopenjtalk local build
|
188 |
+
RUN <<EOF
|
189 |
+
set -eux
|
190 |
+
|
191 |
+
apt-get update
|
192 |
+
apt-get install -y \
|
193 |
+
git \
|
194 |
+
wget \
|
195 |
+
cmake \
|
196 |
+
ca-certificates \
|
197 |
+
build-essential \
|
198 |
+
gosu
|
199 |
+
apt-get clean
|
200 |
+
rm -rf /var/lib/apt/lists/*
|
201 |
+
|
202 |
+
# Create a general user
|
203 |
+
useradd --create-home user
|
204 |
+
EOF
|
205 |
+
|
206 |
+
# Copy python env
|
207 |
+
COPY --from=compile-python-env /opt/python /opt/python
|
208 |
+
|
209 |
+
# Install Python dependencies
|
210 |
+
ADD ./requirements.txt /tmp/
|
211 |
+
RUN <<EOF
|
212 |
+
# Install requirements
|
213 |
+
gosu user /opt/python/bin/pip3 install -r /tmp/requirements.txt
|
214 |
+
EOF
|
215 |
+
|
216 |
+
# Copy VOICEVOX Core release
|
217 |
+
# COPY --from=download-core-env /etc/ld.so.conf.d/voicevox_core.conf /etc/ld.so.conf.d/voicevox_core.conf
|
218 |
+
COPY --from=download-core-env /opt/voicevox_core /opt/voicevox_core
|
219 |
+
|
220 |
+
# Copy ONNX Runtime
|
221 |
+
# COPY --from=download-onnxruntime-env /etc/ld.so.conf.d/onnxruntime.conf /etc/ld.so.conf.d/onnxruntime.conf
|
222 |
+
COPY --from=download-onnxruntime-env /opt/onnxruntime /opt/onnxruntime
|
223 |
+
|
224 |
+
# Add local files
|
225 |
+
ADD ./voicevox_engine /opt/voicevox_engine/voicevox_engine
|
226 |
+
ADD ./docs /opt/voicevox_engine/docs
|
227 |
+
ADD ./run.py ./generate_licenses.py ./presets.yaml ./default.csv ./default_setting.yml ./engine_manifest.json /opt/voicevox_engine/
|
228 |
+
ADD ./speaker_info /opt/voicevox_engine/speaker_info
|
229 |
+
ADD ./ui_template /opt/voicevox_engine/ui_template
|
230 |
+
ADD ./engine_manifest_assets /opt/voicevox_engine/engine_manifest_assets
|
231 |
+
|
232 |
+
# Replace version
|
233 |
+
ARG VOICEVOX_ENGINE_VERSION=latest
|
234 |
+
RUN sed -i "s/__version__ = \"latest\"/__version__ = \"${VOICEVOX_ENGINE_VERSION}\"/" /opt/voicevox_engine/voicevox_engine/__init__.py
|
235 |
+
RUN sed -i "s/\"version\": \"999\\.999\\.999\"/\"version\": \"${VOICEVOX_ENGINE_VERSION}\"/" /opt/voicevox_engine/engine_manifest.json
|
236 |
+
|
237 |
+
# Generate licenses.json
|
238 |
+
ADD ./requirements-license.txt /tmp/
|
239 |
+
RUN <<EOF
|
240 |
+
set -eux
|
241 |
+
|
242 |
+
cd /opt/voicevox_engine
|
243 |
+
|
244 |
+
# Define temporary env vars
|
245 |
+
# /home/user/.local/bin is required to use the commands installed by pip
|
246 |
+
export PATH="/home/user/.local/bin:${PATH:-}"
|
247 |
+
|
248 |
+
gosu user /opt/python/bin/pip3 install -r /tmp/requirements-license.txt
|
249 |
+
gosu user /opt/python/bin/python3 generate_licenses.py > /opt/voicevox_engine/engine_manifest_assets/dependency_licenses.json
|
250 |
+
cp /opt/voicevox_engine/engine_manifest_assets/dependency_licenses.json /opt/voicevox_engine/licenses.json
|
251 |
+
EOF
|
252 |
+
|
253 |
+
# Keep this layer separated to use layer cache on download failed in local build
|
254 |
+
RUN <<EOF
|
255 |
+
set -eux
|
256 |
+
|
257 |
+
# Download openjtalk dictionary
|
258 |
+
# try 5 times, sleep 5 seconds before retry
|
259 |
+
for i in $(seq 5); do
|
260 |
+
EXIT_CODE=0
|
261 |
+
gosu user /opt/python/bin/python3 -c "import pyopenjtalk; pyopenjtalk._lazy_init()" || EXIT_CODE=$?
|
262 |
+
if [ "$EXIT_CODE" = "0" ]; then
|
263 |
+
break
|
264 |
+
fi
|
265 |
+
sleep 5
|
266 |
+
done
|
267 |
+
|
268 |
+
if [ "$EXIT_CODE" != "0" ]; then
|
269 |
+
exit "$EXIT_CODE"
|
270 |
+
fi
|
271 |
+
EOF
|
272 |
+
|
273 |
+
# Download Resource
|
274 |
+
ARG VOICEVOX_RESOURCE_VERSION=0.14.0
|
275 |
+
RUN <<EOF
|
276 |
+
set -eux
|
277 |
+
|
278 |
+
# README
|
279 |
+
wget -nv --show-progress -c -O "/opt/voicevox_engine/README.md" "https://raw.githubusercontent.com/VOICEVOX/voicevox_nemo_resource/${VOICEVOX_RESOURCE_VERSION}/voicevox_nemo/engine/README.md"
|
280 |
+
EOF
|
281 |
+
|
282 |
+
# Create container start shell
|
283 |
+
COPY --chmod=775 <<EOF /entrypoint.sh
|
284 |
+
#!/bin/bash
|
285 |
+
set -eux
|
286 |
+
|
287 |
+
# Display README for engine
|
288 |
+
cat /opt/voicevox_engine/README.md > /dev/stderr
|
289 |
+
|
290 |
+
exec "\$@"
|
291 |
+
EOF
|
292 |
+
|
293 |
+
ENTRYPOINT [ "/entrypoint.sh" ]
|
294 |
+
CMD [ "gosu", "user", "/opt/python/bin/python3", "./run.py", "--voicelib_dir", "/opt/voicevox_core/", "--runtime_dir", "/opt/onnxruntime/lib", "--host", "0.0.0.0" ]
|
295 |
+
|
296 |
+
# Enable use_gpu
|
297 |
+
FROM runtime-env AS runtime-nvidia-env
|
298 |
+
CMD [ "gosu", "user", "/opt/python/bin/python3", "./run.py", "--use_gpu", "--voicelib_dir", "/opt/voicevox_core/", "--runtime_dir", "/opt/onnxruntime/lib", "--host", "0.0.0.0" ]
|
voicevox_nemo_engine/LGPL_LICENSE
ADDED
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
2 |
+
Version 3, 29 June 2007
|
3 |
+
|
4 |
+
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
5 |
+
Everyone is permitted to copy and distribute verbatim copies
|
6 |
+
of this license document, but changing it is not allowed.
|
7 |
+
|
8 |
+
|
9 |
+
This version of the GNU Lesser General Public License incorporates
|
10 |
+
the terms and conditions of version 3 of the GNU General Public
|
11 |
+
License, supplemented by the additional permissions listed below.
|
12 |
+
|
13 |
+
0. Additional Definitions.
|
14 |
+
|
15 |
+
As used herein, "this License" refers to version 3 of the GNU Lesser
|
16 |
+
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
17 |
+
General Public License.
|
18 |
+
|
19 |
+
"The Library" refers to a covered work governed by this License,
|
20 |
+
other than an Application or a Combined Work as defined below.
|
21 |
+
|
22 |
+
An "Application" is any work that makes use of an interface provided
|
23 |
+
by the Library, but which is not otherwise based on the Library.
|
24 |
+
Defining a subclass of a class defined by the Library is deemed a mode
|
25 |
+
of using an interface provided by the Library.
|
26 |
+
|
27 |
+
A "Combined Work" is a work produced by combining or linking an
|
28 |
+
Application with the Library. The particular version of the Library
|
29 |
+
with which the Combined Work was made is also called the "Linked
|
30 |
+
Version".
|
31 |
+
|
32 |
+
The "Minimal Corresponding Source" for a Combined Work means the
|
33 |
+
Corresponding Source for the Combined Work, excluding any source code
|
34 |
+
for portions of the Combined Work that, considered in isolation, are
|
35 |
+
based on the Application, and not on the Linked Version.
|
36 |
+
|
37 |
+
The "Corresponding Application Code" for a Combined Work means the
|
38 |
+
object code and/or source code for the Application, including any data
|
39 |
+
and utility programs needed for reproducing the Combined Work from the
|
40 |
+
Application, but excluding the System Libraries of the Combined Work.
|
41 |
+
|
42 |
+
1. Exception to Section 3 of the GNU GPL.
|
43 |
+
|
44 |
+
You may convey a covered work under sections 3 and 4 of this License
|
45 |
+
without being bound by section 3 of the GNU GPL.
|
46 |
+
|
47 |
+
2. Conveying Modified Versions.
|
48 |
+
|
49 |
+
If you modify a copy of the Library, and, in your modifications, a
|
50 |
+
facility refers to a function or data to be supplied by an Application
|
51 |
+
that uses the facility (other than as an argument passed when the
|
52 |
+
facility is invoked), then you may convey a copy of the modified
|
53 |
+
version:
|
54 |
+
|
55 |
+
a) under this License, provided that you make a good faith effort to
|
56 |
+
ensure that, in the event an Application does not supply the
|
57 |
+
function or data, the facility still operates, and performs
|
58 |
+
whatever part of its purpose remains meaningful, or
|
59 |
+
|
60 |
+
b) under the GNU GPL, with none of the additional permissions of
|
61 |
+
this License applicable to that copy.
|
62 |
+
|
63 |
+
3. Object Code Incorporating Material from Library Header Files.
|
64 |
+
|
65 |
+
The object code form of an Application may incorporate material from
|
66 |
+
a header file that is part of the Library. You may convey such object
|
67 |
+
code under terms of your choice, provided that, if the incorporated
|
68 |
+
material is not limited to numerical parameters, data structure
|
69 |
+
layouts and accessors, or small macros, inline functions and templates
|
70 |
+
(ten or fewer lines in length), you do both of the following:
|
71 |
+
|
72 |
+
a) Give prominent notice with each copy of the object code that the
|
73 |
+
Library is used in it and that the Library and its use are
|
74 |
+
covered by this License.
|
75 |
+
|
76 |
+
b) Accompany the object code with a copy of the GNU GPL and this license
|
77 |
+
document.
|
78 |
+
|
79 |
+
4. Combined Works.
|
80 |
+
|
81 |
+
You may convey a Combined Work under terms of your choice that,
|
82 |
+
taken together, effectively do not restrict modification of the
|
83 |
+
portions of the Library contained in the Combined Work and reverse
|
84 |
+
engineering for debugging such modifications, if you also do each of
|
85 |
+
the following:
|
86 |
+
|
87 |
+
a) Give prominent notice with each copy of the Combined Work that
|
88 |
+
the Library is used in it and that the Library and its use are
|
89 |
+
covered by this License.
|
90 |
+
|
91 |
+
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
92 |
+
document.
|
93 |
+
|
94 |
+
c) For a Combined Work that displays copyright notices during
|
95 |
+
execution, include the copyright notice for the Library among
|
96 |
+
these notices, as well as a reference directing the user to the
|
97 |
+
copies of the GNU GPL and this license document.
|
98 |
+
|
99 |
+
d) Do one of the following:
|
100 |
+
|
101 |
+
0) Convey the Minimal Corresponding Source under the terms of this
|
102 |
+
License, and the Corresponding Application Code in a form
|
103 |
+
suitable for, and under terms that permit, the user to
|
104 |
+
recombine or relink the Application with a modified version of
|
105 |
+
the Linked Version to produce a modified Combined Work, in the
|
106 |
+
manner specified by section 6 of the GNU GPL for conveying
|
107 |
+
Corresponding Source.
|
108 |
+
|
109 |
+
1) Use a suitable shared library mechanism for linking with the
|
110 |
+
Library. A suitable mechanism is one that (a) uses at run time
|
111 |
+
a copy of the Library already present on the user's computer
|
112 |
+
system, and (b) will operate properly with a modified version
|
113 |
+
of the Library that is interface-compatible with the Linked
|
114 |
+
Version.
|
115 |
+
|
116 |
+
e) Provide Installation Information, but only if you would otherwise
|
117 |
+
be required to provide such information under section 6 of the
|
118 |
+
GNU GPL, and only to the extent that such information is
|
119 |
+
necessary to install and execute a modified version of the
|
120 |
+
Combined Work produced by recombining or relinking the
|
121 |
+
Application with a modified version of the Linked Version. (If
|
122 |
+
you use option 4d0, the Installation Information must accompany
|
123 |
+
the Minimal Corresponding Source and Corresponding Application
|
124 |
+
Code. If you use option 4d1, you must provide the Installation
|
125 |
+
Information in the manner specified by section 6 of the GNU GPL
|
126 |
+
for conveying Corresponding Source.)
|
127 |
+
|
128 |
+
5. Combined Libraries.
|
129 |
+
|
130 |
+
You may place library facilities that are a work based on the
|
131 |
+
Library side by side in a single library together with other library
|
132 |
+
facilities that are not Applications and are not covered by this
|
133 |
+
License, and convey such a combined library under terms of your
|
134 |
+
choice, if you do both of the following:
|
135 |
+
|
136 |
+
a) Accompany the combined library with a copy of the same work based
|
137 |
+
on the Library, uncombined with any other library facilities,
|
138 |
+
conveyed under the terms of this License.
|
139 |
+
|
140 |
+
b) Give prominent notice with the combined library that part of it
|
141 |
+
is a work based on the Library, and explaining where to find the
|
142 |
+
accompanying uncombined form of the same work.
|
143 |
+
|
144 |
+
6. Revised Versions of the GNU Lesser General Public License.
|
145 |
+
|
146 |
+
The Free Software Foundation may publish revised and/or new versions
|
147 |
+
of the GNU Lesser General Public License from time to time. Such new
|
148 |
+
versions will be similar in spirit to the present version, but may
|
149 |
+
differ in detail to address new problems or concerns.
|
150 |
+
|
151 |
+
Each version is given a distinguishing version number. If the
|
152 |
+
Library as you received it specifies that a certain numbered version
|
153 |
+
of the GNU Lesser General Public License "or any later version"
|
154 |
+
applies to it, you have the option of following the terms and
|
155 |
+
conditions either of that published version or of any later version
|
156 |
+
published by the Free Software Foundation. If the Library as you
|
157 |
+
received it does not specify a version number of the GNU Lesser
|
158 |
+
General Public License, you may choose any version of the GNU Lesser
|
159 |
+
General Public License ever published by the Free Software Foundation.
|
160 |
+
|
161 |
+
If the Library as you received it specifies that a proxy can decide
|
162 |
+
whether future versions of the GNU Lesser General Public License shall
|
163 |
+
apply, that proxy's public statement of acceptance of any version is
|
164 |
+
permanent authorization for you to choose that version for the
|
165 |
+
Library.
|
voicevox_nemo_engine/LICENSE
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
LGPL v3 と、ソースコードの公開が不要な別ライセンスのデュアルライセンスです。
|
2 |
+
|
3 |
+
1. LGPL v3
|
4 |
+
|
5 |
+
LGPL_LICENSEを参照してください。
|
6 |
+
|
7 |
+
2. ソースコードの公開が不要な別ライセンス
|
8 |
+
|
9 |
+
別ライセンスを取得したい場合は、ヒホ(twitter: @hiho_karuta)に求めてください。
|
voicevox_nemo_engine/Makefile
ADDED
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
CMD=
|
2 |
+
NOCACHE=
|
3 |
+
|
4 |
+
ARGS:=
|
5 |
+
ifeq ($(NOCACHE),1)
|
6 |
+
ARGS:=$(ARGS) --no-cache
|
7 |
+
endif
|
8 |
+
|
9 |
+
# Ubuntu 20.04
|
10 |
+
.PHONY: build-linux-docker-ubuntu20.04
|
11 |
+
build-linux-docker-ubuntu20.04:
|
12 |
+
docker buildx build . \
|
13 |
+
-t voicevox/voicevox_engine:cpu-ubuntu20.04-latest \
|
14 |
+
--target runtime-env \
|
15 |
+
--progress plain \
|
16 |
+
--build-arg BASE_IMAGE=ubuntu:20.04 \
|
17 |
+
--build-arg BASE_RUNTIME_IMAGE=ubuntu:20.04 \
|
18 |
+
--build-arg ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-1.13.1.tgz \
|
19 |
+
--build-arg VOICEVOX_CORE_LIBRARY_NAME=libcore_cpu_x64.so $(ARGS)
|
20 |
+
|
21 |
+
.PHONY: run-linux-docker-ubuntu20.04
|
22 |
+
run-linux-docker-ubuntu20.04:
|
23 |
+
docker run --rm -it \
|
24 |
+
-p '127.0.0.1:50021:50021' $(ARGS) \
|
25 |
+
voicevox/voicevox_engine:cpu-ubuntu20.04-latest $(CMD)
|
26 |
+
|
27 |
+
.PHONY: build-linux-docker-nvidia-ubuntu20.04
|
28 |
+
build-linux-docker-nvidia-ubuntu20.04:
|
29 |
+
docker buildx build . \
|
30 |
+
-t voicevox/voicevox_engine:nvidia-ubuntu20.04-latest \
|
31 |
+
--target runtime-nvidia-env \
|
32 |
+
--progress plain \
|
33 |
+
--build-arg BASE_IMAGE=ubuntu:20.04 \
|
34 |
+
--build-arg BASE_RUNTIME_IMAGE=nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04 \
|
35 |
+
--build-arg ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-gpu-1.13.1.tgz \
|
36 |
+
--build-arg VOICEVOX_CORE_LIBRARY_NAME=libcore_gpu_x64_nvidia.so $(ARGS)
|
37 |
+
|
38 |
+
.PHONY: run-linux-docker-nvidia-ubuntu20.04
|
39 |
+
run-linux-docker-nvidia-ubuntu20.04:
|
40 |
+
docker run --rm -it \
|
41 |
+
--gpus all \
|
42 |
+
-p '127.0.0.1:50021:50021' $(ARGS) \
|
43 |
+
voicevox/voicevox_engine:nvidia-ubuntu20.04-latest $(CMD)
|
44 |
+
|
45 |
+
|
46 |
+
# Ubuntu 18.04
|
47 |
+
.PHONY: build-linux-docker-ubuntu18.04
|
48 |
+
build-linux-docker-ubuntu18.04:
|
49 |
+
docker buildx build . \
|
50 |
+
-t voicevox/voicevox_engine:cpu-ubuntu18.04-latest \
|
51 |
+
--target runtime-env \
|
52 |
+
--progress plain \
|
53 |
+
--build-arg BASE_IMAGE=ubuntu:18.04 \
|
54 |
+
--build-arg BASE_RUNTIME_IMAGE=ubuntu:18.04 \
|
55 |
+
--build-arg ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-1.13.1.tgz \
|
56 |
+
--build-arg VOICEVOX_CORE_LIBRARY_NAME=libcore_cpu_x64.so $(ARGS)
|
57 |
+
|
58 |
+
.PHONY: run-linux-docker-ubuntu18.04
|
59 |
+
run-linux-docker-ubuntu18.04:
|
60 |
+
docker run --rm -it \
|
61 |
+
-p '127.0.0.1:50021:50021' $(ARGS) \
|
62 |
+
voicevox/voicevox_engine:cpu-ubuntu18.04-latest $(CMD)
|
63 |
+
|
64 |
+
.PHONY: build-linux-docker-nvidia-ubuntu18.04
|
65 |
+
build-linux-docker-nvidia-ubuntu18.04:
|
66 |
+
docker buildx build . \
|
67 |
+
-t voicevox/voicevox_engine:nvidia-ubuntu18.04-latest \
|
68 |
+
--target runtime-nvidia-env \
|
69 |
+
--progress plain \
|
70 |
+
--build-arg BASE_IMAGE=ubuntu:18.04 \
|
71 |
+
--build-arg BASE_RUNTIME_IMAGE=nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu18.04 \
|
72 |
+
--build-arg ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-gpu-1.13.1.tgz \
|
73 |
+
--build-arg VOICEVOX_CORE_LIBRARY_NAME=libcore_gpu_x64_nvidia.so $(ARGS)
|
74 |
+
|
75 |
+
.PHONY: run-linux-docker-nvidia-ubuntu18.04
|
76 |
+
run-linux-docker-nvidia-ubuntu18.04:
|
77 |
+
docker run --rm -it \
|
78 |
+
--gpus all \
|
79 |
+
-p '127.0.0.1:50021:50021' $(ARGS) \
|
80 |
+
voicevox/voicevox_engine:nvidia-ubuntu18.04-latest $(CMD)
|
81 |
+
|
82 |
+
|
83 |
+
# VOICEVOX Core env for test
|
84 |
+
.PHONY: build-linux-docker-download-core-env-ubuntu18.04
|
85 |
+
build-linux-docker-download-core-env-ubuntu18.04:
|
86 |
+
docker buildx build . \
|
87 |
+
-t voicevox/voicevox_engine:download-core-env-ubuntu18.04 \
|
88 |
+
--target download-core-env \
|
89 |
+
--progress plain \
|
90 |
+
--build-arg BASE_IMAGE=ubuntu:18.04 $(ARGS)
|
91 |
+
|
92 |
+
.PHONY: run-linux-docker-download-core-env-ubuntu18.04
|
93 |
+
run-linux-docker-download-core-env-ubuntu18.04:
|
94 |
+
docker run --rm -it $(ARGS) \
|
95 |
+
voicevox/voicevox_engine:download-core-env-ubuntu18.04 $(CMD)
|
96 |
+
|
97 |
+
|
98 |
+
# ONNX Runtime env for test
|
99 |
+
.PHONY: build-linux-docker-download-onnxruntime-env-ubuntu18.04
|
100 |
+
build-linux-docker-download-onnxruntime-env-ubuntu18.04:
|
101 |
+
docker buildx build . \
|
102 |
+
-t voicevox/voicevox_engine:download-onnxruntime-env-ubuntu18.04 \
|
103 |
+
--target download-onnxruntime-env \
|
104 |
+
--progress plain \
|
105 |
+
--build-arg BASE_IMAGE=ubuntu:18.04 $(ARGS)
|
106 |
+
|
107 |
+
.PHONY: run-linux-docker-download-onnxruntime-env-ubuntu18.04
|
108 |
+
run-linux-docker-download-onnxruntime-env-ubuntu18.04:
|
109 |
+
docker run --rm -it $(ARGS) \
|
110 |
+
voicevox/voicevox_engine:download-onnxruntime-env-ubuntu18.04 $(CMD)
|
111 |
+
|
112 |
+
|
113 |
+
# Python env for test
|
114 |
+
.PHONY: build-linux-docker-compile-python-env
|
115 |
+
build-linux-docker-compile-python-env:
|
116 |
+
docker buildx build . \
|
117 |
+
-t voicevox/voicevox_engine:compile-python-env \
|
118 |
+
--target compile-python-env \
|
119 |
+
--progress plain \
|
120 |
+
--build-arg BASE_IMAGE=ubuntu:20.04 $(ARGS)
|
121 |
+
|
122 |
+
.PHONY: run-linux-docker-compile-python-env
|
123 |
+
run-linux-docker-compile-python-env:
|
124 |
+
docker run --rm -it $(ARGS) \
|
125 |
+
voicevox/voicevox_engine:compile-python-env $(CMD)
|
voicevox_nemo_engine/README.md
ADDED
@@ -0,0 +1,671 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# VOICEVOX NEMO ENGINE
|
2 |
+
|
3 |
+
[VOICEVOX Nemo](https://voicevox.hiroshiba.jp/nemo/) のエンジンです。
|
4 |
+
実態は HTTP サーバーなので、リクエストを送信すればテキスト音声合成できます。
|
5 |
+
|
6 |
+
(エディターは [VOICEVOX](https://github.com/VOICEVOX/voicevox/) のマルチエンジン機能を利用、
|
7 |
+
コアは [VOICEVOX NEMO CORE](https://github.com/VOICEVOX/voicevox_nemo_core/) に詳細があります。)
|
8 |
+
|
9 |
+
## ダウンロード
|
10 |
+
|
11 |
+
[こちら](https://github.com/VOICEVOX/voicevox_nemo_engine/releases/latest)から対応するエンジンをダウンロードしてください。
|
12 |
+
|
13 |
+
## API ドキュメント・サンプル
|
14 |
+
|
15 |
+
サーバーのデフォルトのポート番号は `50121` です。それ以外は [VOICEVOX ENGINE](https://github.com/VOICEVOX/voicevox_engine/) と同じです。
|
16 |
+
|
17 |
+
## Docker イメージ
|
18 |
+
|
19 |
+
### CPU
|
20 |
+
|
21 |
+
```bash
|
22 |
+
docker pull voicevox/voicevox_nemo_engine:cpu-ubuntu20.04-latest
|
23 |
+
docker run --rm -it -p '127.0.0.1:50021:50021' voicevox/voicevox_nemo_engine:cpu-ubuntu20.04-latest
|
24 |
+
```
|
25 |
+
|
26 |
+
### GPU
|
27 |
+
|
28 |
+
```bash
|
29 |
+
docker pull voicevox/voicevox_nemo_engine:nvidia-ubuntu20.04-latest
|
30 |
+
docker run --rm --gpus all -p '127.0.0.1:50021:50021' voicevox/voicevox_nemo_engine:nvidia-ubuntu20.04-latest
|
31 |
+
```
|
32 |
+
|
33 |
+
<details><summary>Fork元のVOICEVOX ENGINEのREADME</summary>
|
34 |
+
|
35 |
+
# VOICEVOX ENGINE
|
36 |
+
|
37 |
+
[![build](https://github.com/VOICEVOX/voicevox_engine/actions/workflows/build.yml/badge.svg)](https://github.com/VOICEVOX/voicevox_engine/actions/workflows/build.yml)
|
38 |
+
[![releases](https://img.shields.io/github/v/release/VOICEVOX/voicevox_engine)](https://github.com/VOICEVOX/voicevox_engine/releases)
|
39 |
+
[![discord](https://img.shields.io/discord/879570910208733277?color=5865f2&label=&logo=discord&logoColor=ffffff)](https://discord.gg/WMwWetrzuh)
|
40 |
+
|
41 |
+
[![test](https://github.com/VOICEVOX/voicevox_engine/actions/workflows/test.yml/badge.svg)](https://github.com/VOICEVOX/voicevox_engine/actions/workflows/test.yml)
|
42 |
+
[![Coverage Status](https://coveralls.io/repos/github/VOICEVOX/voicevox_engine/badge.svg)](https://coveralls.io/github/VOICEVOX/voicevox_engine)
|
43 |
+
|
44 |
+
[![build-docker](https://github.com/VOICEVOX/voicevox_engine/actions/workflows/build-docker.yml/badge.svg)](https://github.com/VOICEVOX/voicevox_engine/actions/workflows/build-docker.yml)
|
45 |
+
[![docker](https://img.shields.io/docker/pulls/voicevox/voicevox_engine)](https://hub.docker.com/r/voicevox/voicevox_engine)
|
46 |
+
|
47 |
+
[VOICEVOX](https://voicevox.hiroshiba.jp/) のエンジンです。
|
48 |
+
実態は HTTP サーバーなので、リクエストを送信すればテキスト音声合成できます。
|
49 |
+
|
50 |
+
(エディターは [VOICEVOX](https://github.com/VOICEVOX/voicevox/) 、
|
51 |
+
コアは [VOICEVOX CORE](https://github.com/VOICEVOX/voicevox_core/) 、
|
52 |
+
全体構成は [こちら](https://github.com/VOICEVOX/voicevox/blob/main/docs/%E5%85%A8%E4%BD%93%E6%A7%8B%E6%88%90.md) に詳細があります。)
|
53 |
+
|
54 |
+
## ダウンロード
|
55 |
+
|
56 |
+
[こちら](https://github.com/VOICEVOX/voicevox_engine/releases/latest)から対応するエンジンをダウンロードしてください。
|
57 |
+
|
58 |
+
## API ドキュメント
|
59 |
+
|
60 |
+
[API ドキュメント](https://voicevox.github.io/voicevox_engine/api/)をご参照ください。
|
61 |
+
|
62 |
+
VOICEVOX エンジンもしくはエディタを起動した状態で http://127.0.0.1:50021/docs にアクセスすると、起動中のエンジンのドキュメントも確認できます。
|
63 |
+
今後の方針などについては [VOICEVOX 音声合成エンジンとの連携](./docs/VOICEVOX音声合成エンジンとの連携.md) も参考になるかもしれません。
|
64 |
+
|
65 |
+
リクエスト・レスポンスの文字コードはすべて UTF-8 です。
|
66 |
+
|
67 |
+
### HTTP リクエストで音声合成するサンプルコード
|
68 |
+
|
69 |
+
```bash
|
70 |
+
echo -n "こんにちは、音声合成の世界へようこそ" >text.txt
|
71 |
+
|
72 |
+
curl -s \
|
73 |
+
-X POST \
|
74 |
+
"127.0.0.1:50021/audio_query?style_id=1"\
|
75 |
+
--get --data-urlencode [email protected] \
|
76 |
+
> query.json
|
77 |
+
|
78 |
+
curl -s \
|
79 |
+
-H "Content-Type: application/json" \
|
80 |
+
-X POST \
|
81 |
+
-d @query.json \
|
82 |
+
"127.0.0.1:50021/synthesis?style_id=1" \
|
83 |
+
> audio.wav
|
84 |
+
```
|
85 |
+
|
86 |
+
生成される音声はサンプリングレートが 24000Hz と少し特殊なため、音声プレーヤーによっては再生できない場合があります。
|
87 |
+
|
88 |
+
`speaker` に指定する値は `/speakers` エンドポイントで得られる `style_id` です。互換性のために `speaker` という名前になっています。
|
89 |
+
|
90 |
+
### 読み方を AquesTalk 記法で取得・修正するサンプルコード
|
91 |
+
|
92 |
+
`/audio_query`のレスポンスにはエンジンが判断した読み方が AquesTalk ライクな記法([本家の記法](https://www.a-quest.com/archive/manual/siyo_onseikigou.pdf)とは一部異なります)で記録されています。
|
93 |
+
記法は次のルールに従います。
|
94 |
+
|
95 |
+
- 全てのカナはカタカナで記述される
|
96 |
+
- アクセント句は`/`または`、`で区切る。`、`で区切った場合に限り無音区間が挿入される。
|
97 |
+
- カナの手前に`_`を入れるとそ���カナは無声化される
|
98 |
+
- アクセント位置を`'`で指定する。全てのアクセント句にはアクセント位置を 1 つ指定する必要がある。
|
99 |
+
- アクセント句末に`?`(全角)を入れることにより疑問文の発音ができる
|
100 |
+
|
101 |
+
```bash
|
102 |
+
# 読ませたい文章をutf-8でtext.txtに書き出す
|
103 |
+
echo -n "ディープラーニングは万能薬ではありません" >text.txt
|
104 |
+
|
105 |
+
curl -s \
|
106 |
+
-X POST \
|
107 |
+
"127.0.0.1:50021/audio_query?style_id=1" \
|
108 |
+
--get --data-urlencode [email protected] \
|
109 |
+
> query.json
|
110 |
+
|
111 |
+
cat query.json | grep -o -E "\"kana\":\".*\""
|
112 |
+
# 結果... "kana":"ディ'イプ/ラ'アニングワ/バンノオヤクデワアリマセ'ン"
|
113 |
+
|
114 |
+
# "ディイプラ'アニングワ/バンノ'オヤクデワ/アリマセ'ン"と読ませたいので、
|
115 |
+
# is_kana=trueをつけてイントネーションを取得しnewphrases.jsonに保存
|
116 |
+
echo -n "ディイプラ'アニングワ/バンノ'オヤクデワ/アリマセ'ン" > kana.txt
|
117 |
+
curl -s \
|
118 |
+
-X POST \
|
119 |
+
"127.0.0.1:50021/accent_phrases?style_id=1&is_kana=true" \
|
120 |
+
--get --data-urlencode [email protected] \
|
121 |
+
> newphrases.json
|
122 |
+
|
123 |
+
# query.jsonの"accent_phrases"の内容をnewphrases.jsonの内容に置き換える
|
124 |
+
cat query.json | sed -e "s/\[{.*}\]/$(cat newphrases.json)/g" > newquery.json
|
125 |
+
|
126 |
+
curl -s \
|
127 |
+
-H "Content-Type: application/json" \
|
128 |
+
-X POST \
|
129 |
+
-d @newquery.json \
|
130 |
+
"127.0.0.1:50021/synthesis?style_id=1" \
|
131 |
+
> audio.wav
|
132 |
+
```
|
133 |
+
|
134 |
+
### ユーザー辞書機能について
|
135 |
+
|
136 |
+
API からユーザー辞書の参照、単語の追加、編集、削除を行うことができます。
|
137 |
+
|
138 |
+
#### 参照
|
139 |
+
|
140 |
+
`/user_dict`に GET リクエストを投げることでユーザー辞書の一覧を取得することができます。
|
141 |
+
|
142 |
+
```bash
|
143 |
+
curl -s -X GET "127.0.0.1:50021/user_dict"
|
144 |
+
```
|
145 |
+
|
146 |
+
#### 単語追加
|
147 |
+
|
148 |
+
`/user_dict_word`に POST リクエストを投げる事でユーザー辞書に単語を追加することができます。
|
149 |
+
URL パラメータとして、以下が必要です。
|
150 |
+
|
151 |
+
- surface (辞書に登録する単語)
|
152 |
+
- pronunciation (カタカナでの読み方)
|
153 |
+
- accent_type (アクセント核位置、整数)
|
154 |
+
|
155 |
+
アクセント核位置については、こちらの文章が参考になるかと思います。
|
156 |
+
〇型となっている数字の部分がアクセント核位置になります。
|
157 |
+
https://tdmelodic.readthedocs.io/ja/latest/pages/introduction.html
|
158 |
+
|
159 |
+
成功した場合の返り値は単語に割り当てられる UUID の文字列になります。
|
160 |
+
|
161 |
+
```bash
|
162 |
+
surface="test"
|
163 |
+
pronunciation="テスト"
|
164 |
+
accent_type="1"
|
165 |
+
|
166 |
+
curl -s -X POST "127.0.0.1:50021/user_dict_word" \
|
167 |
+
--get \
|
168 |
+
--data-urlencode "surface=$surface" \
|
169 |
+
--data-urlencode "pronunciation=$pronunciation" \
|
170 |
+
--data-urlencode "accent_type=$accent_type"
|
171 |
+
```
|
172 |
+
|
173 |
+
#### 単語修正
|
174 |
+
|
175 |
+
`/user_dict_word/{word_uuid}`に PUT リクエストを投げる事でユーザー辞書の単語を修正することができます。
|
176 |
+
URL パラメータとして、以下が必要です。
|
177 |
+
|
178 |
+
- surface (辞書に登録するワード)
|
179 |
+
- pronunciation (カタカナでの読み方)
|
180 |
+
- accent_type (アクセント核位置、整数)
|
181 |
+
|
182 |
+
word_uuid は単語追加時に確認できるほか、ユーザー辞書を参照することでも確認できます。
|
183 |
+
成功した場合の返り値は`204 No Content`になります。
|
184 |
+
|
185 |
+
```bash
|
186 |
+
surface="test2"
|
187 |
+
pronunciation="テストツー"
|
188 |
+
accent_type="2"
|
189 |
+
# 環境によってword_uuidは適宜書き換えてください
|
190 |
+
word_uuid="cce59b5f-86ab-42b9-bb75-9fd3407f1e2d"
|
191 |
+
|
192 |
+
curl -s -X PUT "127.0.0.1:50021/user_dict_word/$word_uuid" \
|
193 |
+
--get \
|
194 |
+
--data-urlencode "surface=$surface" \
|
195 |
+
--data-urlencode "pronunciation=$pronunciation" \
|
196 |
+
--data-urlencode "accent_type=$accent_type"
|
197 |
+
```
|
198 |
+
|
199 |
+
#### 単語削除
|
200 |
+
|
201 |
+
`/user_dict_word/{word_uuid}`に DELETE リクエストを投げる事でユーザー辞書の単語を削除することができます。
|
202 |
+
|
203 |
+
word_uuid は単語追加時に確認できるほか、ユーザー辞書を参照することでも確認できます。
|
204 |
+
成功した場合の返り値は`204 No Content`になります。
|
205 |
+
|
206 |
+
```bash
|
207 |
+
# 環境によってword_uuidは適宜書き換えてください
|
208 |
+
word_uuid="cce59b5f-86ab-42b9-bb75-9fd3407f1e2d"
|
209 |
+
|
210 |
+
curl -s -X DELETE "127.0.0.1:50021/user_dict_word/$word_uuid"
|
211 |
+
```
|
212 |
+
|
213 |
+
### プリセット機能について
|
214 |
+
|
215 |
+
`presets.yaml`を編集することで話者や話速などのプリセットを使うことができます。
|
216 |
+
|
217 |
+
```bash
|
218 |
+
echo -n "プリセットをうまく活用すれば、サードパーティ間で同じ設定を使うことができます" >text.txt
|
219 |
+
|
220 |
+
# プリセット情報を取得
|
221 |
+
curl -s -X GET "127.0.0.1:50021/presets" > presets.json
|
222 |
+
|
223 |
+
preset_id=$(cat presets.json | sed -r 's/^.+"id"\:\s?([0-9]+?).+$/\1/g')
|
224 |
+
style_id=$(cat presets.json | sed -r 's/^.+"style_id"\:\s?([0-9]+?).+$/\1/g')
|
225 |
+
|
226 |
+
# AudioQueryの取得
|
227 |
+
curl -s \
|
228 |
+
-X POST \
|
229 |
+
"127.0.0.1:50021/audio_query_from_preset?preset_id=$preset_id"\
|
230 |
+
--get --data-urlencode [email protected] \
|
231 |
+
> query.json
|
232 |
+
|
233 |
+
# 音声合成
|
234 |
+
curl -s \
|
235 |
+
-H "Content-Type: application/json" \
|
236 |
+
-X POST \
|
237 |
+
-d @query.json \
|
238 |
+
"127.0.0.1:50021/synthesis?style_id=$style_id" \
|
239 |
+
> audio.wav
|
240 |
+
```
|
241 |
+
|
242 |
+
- `speaker_uuid`は、`/speakers`で確認できます
|
243 |
+
- `id`は重複してはいけません
|
244 |
+
- エンジン起動後にファイルを書き換えるとエンジンに反映されます
|
245 |
+
|
246 |
+
### 2 人の話者でモーフィングするサンプルコード
|
247 |
+
|
248 |
+
`/synthesis_morphing`では、2 人の話者でそれぞれ合成された音声を元に、モーフィングした音声を生成します。
|
249 |
+
|
250 |
+
```bash
|
251 |
+
echo -n "モーフィングを利用することで、2つの声を混ぜることができます。" > text.txt
|
252 |
+
|
253 |
+
curl -s \
|
254 |
+
-X POST \
|
255 |
+
"127.0.0.1:50021/audio_query?style_id=0"\
|
256 |
+
--get --data-urlencode [email protected] \
|
257 |
+
> query.json
|
258 |
+
|
259 |
+
# 元の話者での合成結果
|
260 |
+
curl -s \
|
261 |
+
-H "Content-Type: application/json" \
|
262 |
+
-X POST \
|
263 |
+
-d @query.json \
|
264 |
+
"127.0.0.1:50021/synthesis?style_id=0" \
|
265 |
+
> audio.wav
|
266 |
+
|
267 |
+
export MORPH_RATE=0.5
|
268 |
+
|
269 |
+
# 話者2人分の音声合成+WORLDによる音声分析が入るため時間が掛かるので注意
|
270 |
+
curl -s \
|
271 |
+
-H "Content-Type: application/json" \
|
272 |
+
-X POST \
|
273 |
+
-d @query.json \
|
274 |
+
"127.0.0.1:50021/synthesis_morphing?base_speaker=0&target_speaker=1&morph_rate=$MORPH_RATE" \
|
275 |
+
> audio.wav
|
276 |
+
|
277 |
+
export MORPH_RATE=0.9
|
278 |
+
|
279 |
+
# query、base_speaker、target_speakerが同じ場合はキャッシュが使用されるため比較的高速に生成される
|
280 |
+
curl -s \
|
281 |
+
-H "Content-Type: application/json" \
|
282 |
+
-X POST \
|
283 |
+
-d @query.json \
|
284 |
+
"127.0.0.1:50021/synthesis_morphing?base_speaker=0&target_speaker=1&morph_rate=$MORPH_RATE" \
|
285 |
+
> audio.wav
|
286 |
+
```
|
287 |
+
|
288 |
+
### 話者の追加情報を取得するサンプルコード
|
289 |
+
|
290 |
+
追加情報の中の portrait.png を取得するコードです。
|
291 |
+
([jq](https://stedolan.github.io/jq/)を使用して json をパースしています。)
|
292 |
+
|
293 |
+
```bash
|
294 |
+
curl -s -X GET "127.0.0.1:50021/speaker_info?speaker_uuid=7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff" \
|
295 |
+
| jq -r ".portrait" \
|
296 |
+
| base64 -d \
|
297 |
+
> portrait.png
|
298 |
+
```
|
299 |
+
|
300 |
+
### キャンセル可能な音声合成
|
301 |
+
|
302 |
+
`/cancellable_synthesis`では通信を切断した場合に即座に計算リソースが開放されます。
|
303 |
+
(`/synthesis`では通信を切断しても最後まで音声合成の計算が行われます)
|
304 |
+
この API は実験的機能であり、エンジン起動時に引数で`--enable_cancellable_synthesis`を指定しないと有効化されません。
|
305 |
+
音声合成に必要なパラメータは`/synthesis`と同様です。
|
306 |
+
|
307 |
+
### CORS 設定
|
308 |
+
|
309 |
+
VOICEVOX ではセキュリティ保護のため`localhost`・`127.0.0.1`・`app://`・Origin なし以外の Origin からリクエストを受け入れないようになっています。
|
310 |
+
そのため、一部のサードパーティアプリからのレスポンスを受け取れない可能性があります。
|
311 |
+
これを回避する方法として、エンジンから設定できる UI を用意しています。
|
312 |
+
|
313 |
+
#### 設定方法
|
314 |
+
|
315 |
+
1. <http://127.0.0.1:50021/setting> にアクセスします。
|
316 |
+
2. 利用するアプリに合わせて設定を変更、追加してください。
|
317 |
+
3. 保存ボタンを押して、変更を確定してください。
|
318 |
+
4. 設定の適用にはエンジンの再起動が必要です。必要に応じて再起動をしてください。
|
319 |
+
|
320 |
+
### その他の引数
|
321 |
+
|
322 |
+
エンジン起動時に引数を指定できます。詳しいことは`-h`引数でヘルプを確認してください。
|
323 |
+
|
324 |
+
```bash
|
325 |
+
$ python run.py -h
|
326 |
+
|
327 |
+
usage: run.py [-h] [--host HOST] [--port PORT] [--use_gpu] [--voicevox_dir VOICEVOX_DIR] [--voicelib_dir VOICELIB_DIR] [--runtime_dir RUNTIME_DIR] [--enable_mock] [--enable_cancellable_synthesis]
|
328 |
+
[--init_processes INIT_PROCESSES] [--load_all_models] [--cpu_num_threads CPU_NUM_THREADS] [--output_log_utf8] [--cors_policy_mode {CorsPolicyMode.all,CorsPolicyMode.localapps}]
|
329 |
+
[--allow_origin [ALLOW_ORIGIN ...]] [--setting_file SETTING_FILE] [--preset_file PRESET_FILE]
|
330 |
+
|
331 |
+
VOICEVOX のエンジンです。
|
332 |
+
|
333 |
+
options:
|
334 |
+
-h, --help show this help message and exit
|
335 |
+
--host HOST 接続を受け付けるホストアドレスです。
|
336 |
+
--port PORT 接続を受け付けるポート番号です。
|
337 |
+
--use_gpu 指定するとGPUを使って音声合成するようになります。
|
338 |
+
--voicevox_dir VOICEVOX_DIR
|
339 |
+
VOICEVOXのディレクトリパスです。
|
340 |
+
--voicelib_dir VOICELIB_DIR
|
341 |
+
VOICEVOX COREのディレクトリパスです。
|
342 |
+
--runtime_dir RUNTIME_DIR
|
343 |
+
VOICEVOX COREで使用するライブラリのディレクトリパスです。
|
344 |
+
--enable_mock 指定するとVOICEVOX COREを使わずモックで音声合成を行います。
|
345 |
+
--enable_cancellable_synthesis
|
346 |
+
指定すると音声合成を途中でキャンセルできるよ���になります。
|
347 |
+
--init_processes INIT_PROCESSES
|
348 |
+
cancellable_synthesis機能の初期化時に生成するプロセス数です。
|
349 |
+
--load_all_models 指定すると起動時に全ての音声合成モデルを読み込みます。
|
350 |
+
--cpu_num_threads CPU_NUM_THREADS
|
351 |
+
音声合成を行うスレッド数です。指定しないと、代わりに環境変数VV_CPU_NUM_THREADSの値が使われます。VV_CPU_NUM_THREADSが空文字列でなく数値でもない場合はエラー終了します。
|
352 |
+
--output_log_utf8 指定するとログ出力をUTF-8でおこないます。指定しないと、代わりに環境変数 VV_OUTPUT_LOG_UTF8 の値が使われます。VV_OUTPUT_LOG_UTF8 の値が1の場合はUTF-8で、0または空文字、値がない場合は環境によって自動的に決定されます。
|
353 |
+
--cors_policy_mode {CorsPolicyMode.all,CorsPolicyMode.localapps}
|
354 |
+
CORSの許可モード。allまたはlocalappsが指定できます。allはすべてを許可します。localappsはオリジン間リソース共有ポリシーを、app://.とlocalhost関連に限定します。その他のオリジンはallow_originオプションで追加できます。デフォルトはlocalapps。
|
355 |
+
--allow_origin [ALLOW_ORIGIN ...]
|
356 |
+
許可するオリジンを指定します。スペースで区切ることで複数指定できます。
|
357 |
+
--setting_file SETTING_FILE
|
358 |
+
設定ファイルを指定できます。
|
359 |
+
--preset_file PRESET_FILE
|
360 |
+
プリセットファイルを指定できます。指定がない場合、環境変数 VV_PRESET_FILE、--voicevox_dirのpresets.yaml、実行ファイルのディレクトリのpresets.yamlを順に探します。
|
361 |
+
```
|
362 |
+
|
363 |
+
## アップデート
|
364 |
+
|
365 |
+
エンジンディレクトリ内にあるファイルを全て消去し、新しいものに置き換えてください。
|
366 |
+
|
367 |
+
## Docker イメージ
|
368 |
+
|
369 |
+
### CPU
|
370 |
+
|
371 |
+
```bash
|
372 |
+
docker pull voicevox/voicevox_engine:cpu-ubuntu20.04-latest
|
373 |
+
docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-ubuntu20.04-latest
|
374 |
+
```
|
375 |
+
|
376 |
+
### GPU
|
377 |
+
|
378 |
+
```bash
|
379 |
+
docker pull voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
|
380 |
+
docker run --rm --gpus all -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
|
381 |
+
```
|
382 |
+
|
383 |
+
#### トラブルシューティング
|
384 |
+
|
385 |
+
GPU 版を利用する場合、環境によってエラーが発生することがあります。その場合、`--runtime=nvidia`を`docker run`につけて実行すると解決できることがあります。
|
386 |
+
|
387 |
+
## 貢献者の方へ
|
388 |
+
|
389 |
+
Issue を解決するプルリクエストを作成される際は、別の方と同じ Issue に取り組むことを避けるため、
|
390 |
+
Issue 側で取り組み始めたことを伝えるか、最初に Draft プルリクエストを作成してください。
|
391 |
+
|
392 |
+
[VOICEVOX 非公式 Discord サーバー](https://discord.gg/WMwWetrzuh)にて、開発の議論や雑談を行っています。気軽にご参加ください。
|
393 |
+
|
394 |
+
## 環境構築
|
395 |
+
|
396 |
+
`Python 3.11.3` を用いて開発されています。
|
397 |
+
インストールするには、各 OS ごとの C/C++ コンパイラ、CMake が必要になります。
|
398 |
+
|
399 |
+
```bash
|
400 |
+
# 開発に必要なライブラリのインストール
|
401 |
+
python -m pip install -r requirements-dev.txt -r requirements-test.txt
|
402 |
+
|
403 |
+
# とりあえず実行したいだけなら代わりにこちら
|
404 |
+
python -m pip install -r requirements.txt
|
405 |
+
```
|
406 |
+
|
407 |
+
## 実行
|
408 |
+
|
409 |
+
コマンドライン引数の詳細は以下のコマンドで確認してください。
|
410 |
+
|
411 |
+
```bash
|
412 |
+
python run.py --help
|
413 |
+
```
|
414 |
+
|
415 |
+
```bash
|
416 |
+
# 製品版 VOICEVOX でサーバーを起動
|
417 |
+
VOICEVOX_DIR="C:/path/to/voicevox" # 製品版 VOICEVOX ディレクトリのパス
|
418 |
+
python run.py --voicevox_dir=$VOICEVOX_DIR
|
419 |
+
```
|
420 |
+
|
421 |
+
<!-- 差し替え可能な音声ライブラリまたはその仕様が公開されたらコメントを外す
|
422 |
+
```bash
|
423 |
+
# 音声ライブラリを差し替える
|
424 |
+
VOICELIB_DIR="C:/path/to/your/tts-model"
|
425 |
+
python run.py --voicevox_dir=$VOICEVOX_DIR --voicelib_dir=$VOICELIB_DIR
|
426 |
+
```
|
427 |
+
-->
|
428 |
+
|
429 |
+
```bash
|
430 |
+
# モックでサーバー起動
|
431 |
+
python run.py --enable_mock
|
432 |
+
```
|
433 |
+
|
434 |
+
```bash
|
435 |
+
# ログをUTF8に変更
|
436 |
+
python run.py --output_log_utf8
|
437 |
+
# もしくは VV_OUTPUT_LOG_UTF8=1 python run.py
|
438 |
+
```
|
439 |
+
|
440 |
+
### CPU スレッド数を指定する
|
441 |
+
|
442 |
+
CPU スレッド数が未指定の場合は、論理コア数の半分か物理コア数が使われます。(殆どの CPU で、これは全体の処理能力の半分です)
|
443 |
+
もし IaaS 上で実行していたり、専用サーバーで実行している場合など、
|
444 |
+
エンジンが使う処理能力を調節したい場合は、CPU スレッド数を指定することで実現できます。
|
445 |
+
|
446 |
+
- 実行時引数で指定する
|
447 |
+
|
448 |
+
```bash
|
449 |
+
python run.py --voicevox_dir=$VOICEVOX_DIR --cpu_num_threads=4
|
450 |
+
```
|
451 |
+
|
452 |
+
- 環境変数で指定する
|
453 |
+
```bash
|
454 |
+
export VV_CPU_NUM_THREADS=4
|
455 |
+
python run.py --voicevox_dir=$VOICEVOX_DIR
|
456 |
+
```
|
457 |
+
|
458 |
+
### 過去のバ���ジョンのコアを使う
|
459 |
+
|
460 |
+
VOICEVOX Core 0.5.4 以降のコアを使用する事が可能です。
|
461 |
+
Mac での libtorch 版コアのサポートはしていません。
|
462 |
+
|
463 |
+
#### 過去のバイナリを指定する
|
464 |
+
|
465 |
+
製品版 VOICEVOX もしくはコンパイル済みエンジンのディレクトリを`--voicevox_dir`引数で指定すると、そのバージョンのコアが使用されます。
|
466 |
+
|
467 |
+
```bash
|
468 |
+
python run.py --voicevox_dir="/path/to/voicevox"
|
469 |
+
```
|
470 |
+
|
471 |
+
Mac では、`DYLD_LIBRARY_PATH`の指定が必要です。
|
472 |
+
|
473 |
+
```bash
|
474 |
+
DYLD_LIBRARY_PATH="/path/to/voicevox" python run.py --voicevox_dir="/path/to/voicevox"
|
475 |
+
```
|
476 |
+
|
477 |
+
#### 音声ライブラリを直接指定する
|
478 |
+
|
479 |
+
[VOICEVOX Core の zip ファイル](https://github.com/VOICEVOX/voicevox_core/releases)を解凍したディレクトリを`--voicelib_dir`引数で指定します。
|
480 |
+
また、コアのバージョンに合わせて、[libtorch](https://pytorch.org/)や[onnxruntime](https://github.com/microsoft/onnxruntime)のディレクトリを`--runtime_dir`引数で指定します。
|
481 |
+
ただし、システムの探索パス上に libtorch、onnxruntime がある場合、`--runtime_dir`引数の指定は不要です。
|
482 |
+
`--voicelib_dir`引数、`--runtime_dir`引数は複数回使用可能です。
|
483 |
+
API エンドポイントでコアのバージョンを指定する場合は`core_version`引数を指定してください。(未指定の場合は最新のコアが使用されます)
|
484 |
+
|
485 |
+
```bash
|
486 |
+
python run.py --voicelib_dir="/path/to/voicevox_core" --runtime_dir="/path/to/libtorch_or_onnx"
|
487 |
+
```
|
488 |
+
|
489 |
+
Mac では、`--runtime_dir`引数の代わりに`DYLD_LIBRARY_PATH`の指定が必要です。
|
490 |
+
|
491 |
+
```bash
|
492 |
+
DYLD_LIBRARY_PATH="/path/to/onnx" python run.py --voicelib_dir="/path/to/voicevox_core"
|
493 |
+
```
|
494 |
+
|
495 |
+
## コードフォーマット
|
496 |
+
|
497 |
+
このソフトウェアでは、リモートにプッシュする前にコードフォーマットを確認する仕組み(静的解析ツール)を利用できます。
|
498 |
+
利用するには、開発に必要なライブラリのインストールに加えて、以下のコマンドを実行してください。
|
499 |
+
プルリクエストを作成する際は、利用することを推奨します。
|
500 |
+
|
501 |
+
```bash
|
502 |
+
pre-commit install -t pre-push
|
503 |
+
```
|
504 |
+
|
505 |
+
エラーが出た際は、以下のコマンドで修正することが可能です。なお、完全に修正できるわけではないので注意してください。
|
506 |
+
|
507 |
+
```bash
|
508 |
+
pysen run format lint
|
509 |
+
```
|
510 |
+
|
511 |
+
## テスト
|
512 |
+
|
513 |
+
```bash
|
514 |
+
python -m pytest
|
515 |
+
```
|
516 |
+
|
517 |
+
## タイポチェック
|
518 |
+
|
519 |
+
[typos](https://github.com/crate-ci/typos) を使ってタイポのチェックを行っています。
|
520 |
+
[typos をインストール](https://github.com/crate-ci/typos#install) した後
|
521 |
+
|
522 |
+
```bash
|
523 |
+
typos
|
524 |
+
```
|
525 |
+
|
526 |
+
でタイポチェックを行えます。
|
527 |
+
もし誤判定やチェックから除外すべきファイルがあれば
|
528 |
+
[設定ファイルの説明](https://github.com/crate-ci/typos#false-positives) に従って`_typos.toml`を編集してください。
|
529 |
+
|
530 |
+
## API ドキュメントの確認
|
531 |
+
|
532 |
+
[API ドキュメント](https://voicevox.github.io/voicevox_engine/api/)(実体は`docs/api/index.html`)は自動で更新されます。
|
533 |
+
次のコマンドで API ドキュメントを手動で作成することができます。
|
534 |
+
|
535 |
+
```bash
|
536 |
+
python make_docs.py
|
537 |
+
```
|
538 |
+
|
539 |
+
## ビルド
|
540 |
+
|
541 |
+
この方法でビルドしたものは、リリースで公開されているものとは異なります。
|
542 |
+
また、GPU で利用するには cuDNN や CUDA、DirectML などのライブラリが追加で必要となります。
|
543 |
+
|
544 |
+
```bash
|
545 |
+
python -m pip install -r requirements-dev.txt
|
546 |
+
|
547 |
+
OUTPUT_LICENSE_JSON_PATH=licenses.json \
|
548 |
+
bash build_util/create_venv_and_generate_licenses.bash
|
549 |
+
|
550 |
+
# モックでビルドする場合
|
551 |
+
pyinstaller --noconfirm run.spec
|
552 |
+
|
553 |
+
# 製品版でビルドする場合
|
554 |
+
CORE_MODEL_DIR_PATH="/path/to/core_model" \
|
555 |
+
LIBCORE_PATH="/path/to/libcore" \
|
556 |
+
LIBONNXRUNTIME_PATH="/path/to/libonnxruntime" \
|
557 |
+
pyinstaller --noconfirm run.spec
|
558 |
+
```
|
559 |
+
|
560 |
+
## 依存関係
|
561 |
+
|
562 |
+
### 更新
|
563 |
+
|
564 |
+
[Poetry](https://python-poetry.org/) を用いて依存ライブラリのバージョンを固定しています。
|
565 |
+
以下のコマンドで操作できます:
|
566 |
+
|
567 |
+
```bash
|
568 |
+
# パッケージを追加する場合
|
569 |
+
poetry add `パッケージ名`
|
570 |
+
poetry add --group dev `パッケージ名` # 開発依存の追加
|
571 |
+
poetry add --group test `パッケージ名` # テスト依存の追加
|
572 |
+
|
573 |
+
# パッケージをアップデートする場合
|
574 |
+
poetry update `パッケージ名`
|
575 |
+
poetry update # 全部更新
|
576 |
+
|
577 |
+
# requirements.txtの更新
|
578 |
+
poetry export --without-hashes -o requirements.txt # こちらを更新する場合は下3つも更新する必要があります。
|
579 |
+
poetry export --without-hashes --with dev -o requirements-dev.txt
|
580 |
+
poetry export --without-hashes --with test -o requirements-test.txt
|
581 |
+
poetry export --without-hashes --with license -o requirements-license.txt
|
582 |
+
```
|
583 |
+
|
584 |
+
### ライセンス
|
585 |
+
|
586 |
+
依存ライブラリは「コアビルド時にリンクして一体化しても、コア部のコ��ド非公開 OK」なライセンスを持つ必要があります。
|
587 |
+
主要ライセンスの可否は以下の通りです。
|
588 |
+
|
589 |
+
- MIT/Apache/BSD-3: OK
|
590 |
+
- LGPL: OK (コアと動的分離されているため)
|
591 |
+
- GPL: NG (全関連コードの公開が必要なため)
|
592 |
+
|
593 |
+
## ユーザー辞書の更新について
|
594 |
+
|
595 |
+
以下のコマンドで openjtalk のユーザー辞書をコンパイルできます。
|
596 |
+
|
597 |
+
```bash
|
598 |
+
python -c "import pyopenjtalk; pyopenjtalk.create_user_dict('default.csv','user.dic')"
|
599 |
+
```
|
600 |
+
|
601 |
+
## マルチエンジン機能に関して
|
602 |
+
|
603 |
+
VOICEVOX エディターでは、複数のエンジンを同時に起動することができます。
|
604 |
+
この機能を利用することで、自作の音声合成エンジンや既存の音声合成エンジンを VOICEVOX エディター上で動かすことが可能です。
|
605 |
+
|
606 |
+
<img src="./docs/res/マルチエンジン概念図.svg" width="320">
|
607 |
+
|
608 |
+
<details>
|
609 |
+
|
610 |
+
### マルチエンジン機能の仕組み
|
611 |
+
|
612 |
+
VOICEVOX API に準拠した複数のエンジンの Web API をポートを分けて起動し、統一的に扱うことでマルチエンジン機能を実現しています。
|
613 |
+
エディターがそれぞれのエンジンを実行バイナリ経由で起動し、EngineID と結びつけて設定や状態を個別管理します。
|
614 |
+
|
615 |
+
### マルチエンジン機能への対応方法
|
616 |
+
|
617 |
+
VOICEVOX API 準拠エンジンを起動する実行バイナリを作ることで対応が可能です。
|
618 |
+
VOICEVOX ENGINE リポジトリを fork し、一部の機能を改造するのが簡単です。
|
619 |
+
|
620 |
+
改造すべき点はエンジン情報・キャラクター情報・音声合成の3点です。
|
621 |
+
|
622 |
+
エンジンの情報はエンジンマニフェスト(`engine_manifest.json`)で管理されています。
|
623 |
+
マニフェストファイル内の情報を見て適宜変更してください。
|
624 |
+
音声合成手法によっては、例えばモーフィング機能など、VOICEVOX と同じ機能を持つことができない場合があります。
|
625 |
+
その場合はマニフェストファイル内の`supported_features`内の情報を適宜変更してください。
|
626 |
+
|
627 |
+
キャラクター情報は`speaker_info`ディレクトリ内のファイルで管理されています。
|
628 |
+
ダミーのアイコンなどが用意されているので適宜変更してください。
|
629 |
+
|
630 |
+
音声合成は`voicevox_engine/synthesis_engine/synthesis_engine.py`で行われています。
|
631 |
+
VOICEVOX API での音声合成は、エンジン側で音声合成クエリ`AudioQuery`の初期値を作成してユーザーに返し、ユーザーが必要に応じてクエリを編集したあと、エンジンがクエリに従って音声合成することで実現しています。
|
632 |
+
クエリ作成は`/audio_query`エンドポイントで、音声合成は`/synthesis`エンドポイントで行っており、最低この2つに対応すれば VOICEVOX API に準拠したことになります。
|
633 |
+
|
634 |
+
### マルチエンジン機能対応エンジンの配布方法
|
635 |
+
|
636 |
+
VVPP ファイルとして配布するのがおすすめです。
|
637 |
+
VVPP は「VOICEVOX プラグインパッケージ」の略で、中身はビルドしたエンジンなどを含んだディレクトリの Zip ファイルです。
|
638 |
+
拡張子を`.vvpp`にすると、ダブルクリックで VOICEVOX エディターにインストールできます。
|
639 |
+
|
640 |
+
エディター側は受け取った VVPP ファイルをローカルディスク上に Zip 展開したあと、ルートの直下にある`engine_manifest.json`に従ってファイルを探査します。
|
641 |
+
VOICEVOX エディターにうまく読み込ませられないときは、エディターのエラーログを参照してください。
|
642 |
+
|
643 |
+
また、`xxx.vvpp`は分割して連番を付けた`xxx.0.vvppp`ファイルとして配布することも可能です。
|
644 |
+
これはファイル容量が大きくて配布が困難な場合に有用です。
|
645 |
+
|
646 |
+
</details>
|
647 |
+
|
648 |
+
## GitHub Actions
|
649 |
+
|
650 |
+
### Variables
|
651 |
+
|
652 |
+
| name | description |
|
653 |
+
| :----------------- | :------------------ |
|
654 |
+
| DOCKERHUB_USERNAME | Docker Hub ユーザ名 |
|
655 |
+
|
656 |
+
### Secrets
|
657 |
+
|
658 |
+
| name | description |
|
659 |
+
| :-------------- | :---------------------------------------------------------------------- |
|
660 |
+
| DOCKERHUB_TOKEN | [Docker Hub アクセストークン](https://hub.docker.com/settings/security) |
|
661 |
+
|
662 |
+
## 事例紹介
|
663 |
+
|
664 |
+
**[voicevox-client](https://github.com/tuna2134/voicevox-client) [@tuna2134](https://github.com/tuna2134)** ・・・ VOICEVOX ENGINE のための Python ラッパー
|
665 |
+
|
666 |
+
</details> <!-- Fork元のVOICEVOX ENGINEのREADME -->
|
667 |
+
|
668 |
+
## ライセンス
|
669 |
+
|
670 |
+
LGPL v3 と、ソースコードの公開が不要な別ライセンスのデュアルライセンスです。
|
671 |
+
別ライセンスを取得したい場合は、ヒホ(twitter: @hiho_karuta)に求めてください。
|
voicevox_nemo_engine/_typos.toml
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Files for typos
|
2 |
+
# Instruction: https://github.com/marketplace/actions/typos-action#getting-started
|
3 |
+
|
4 |
+
[default.extend-identifiers]
|
5 |
+
|
6 |
+
[default.extend-words]
|
7 |
+
ba="ba" # 7zコマンドの-baオプション
|
8 |
+
datas="datas" # PyInstallerの引数
|
9 |
+
|
10 |
+
[files]
|
11 |
+
extend-exclude = ["package-lock.json", "src/store/project.ts", "*.svg"]
|
voicevox_nemo_engine/build_util/check_release_build.py
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
ビルド結果をテストする
|
3 |
+
"""
|
4 |
+
import argparse
|
5 |
+
import json
|
6 |
+
import time
|
7 |
+
from io import BytesIO
|
8 |
+
from pathlib import Path
|
9 |
+
from subprocess import Popen
|
10 |
+
from urllib.parse import urlencode
|
11 |
+
from urllib.request import Request, urlopen
|
12 |
+
|
13 |
+
import soundfile
|
14 |
+
|
15 |
+
base_url = "http://localhost:50121/"
|
16 |
+
|
17 |
+
|
18 |
+
def test_release_build(dist_dir: Path, skip_run_process: bool) -> None:
|
19 |
+
run_file = dist_dir / "run"
|
20 |
+
if not run_file.exists():
|
21 |
+
run_file = dist_dir / "run.exe"
|
22 |
+
|
23 |
+
# 起動
|
24 |
+
process = None
|
25 |
+
if not skip_run_process:
|
26 |
+
process = Popen([run_file.absolute()], cwd=dist_dir)
|
27 |
+
time.sleep(60) # 待機
|
28 |
+
|
29 |
+
# バージョン取得テスト
|
30 |
+
req = Request(base_url + "version")
|
31 |
+
with urlopen(req) as res:
|
32 |
+
assert len(res.read()) > 0
|
33 |
+
|
34 |
+
# テキスト -> クエリ
|
35 |
+
text = "こんにちは、音声合成の世界へようこそ"
|
36 |
+
req = Request(
|
37 |
+
base_url + "audio_query?" + urlencode({"style_id": "10001", "text": text}),
|
38 |
+
method="POST",
|
39 |
+
)
|
40 |
+
with urlopen(req) as res:
|
41 |
+
query = json.loads(res.read().decode("utf-8"))
|
42 |
+
|
43 |
+
# クエリ -> 音声
|
44 |
+
req = Request(base_url + "synthesis?speaker=10001", method="POST")
|
45 |
+
req.add_header("Content-Type", "application/json")
|
46 |
+
req.data = json.dumps(query).encode("utf-8")
|
47 |
+
with urlopen(req) as res:
|
48 |
+
wave = res.read()
|
49 |
+
soundfile.read(BytesIO(wave))
|
50 |
+
|
51 |
+
# エンジンマニフェスト
|
52 |
+
req = Request(base_url + "engine_manifest", method="GET")
|
53 |
+
with urlopen(req) as res:
|
54 |
+
manifest = json.loads(res.read().decode("utf-8"))
|
55 |
+
assert "uuid" in manifest
|
56 |
+
|
57 |
+
if not skip_run_process:
|
58 |
+
# プロセスが稼働中であることを確認
|
59 |
+
assert process.poll() is None
|
60 |
+
|
61 |
+
# 停止
|
62 |
+
process.terminate()
|
63 |
+
|
64 |
+
|
65 |
+
if __name__ == "__main__":
|
66 |
+
parser = argparse.ArgumentParser()
|
67 |
+
parser.add_argument("--dist_dir", type=Path, default=Path("dist/"))
|
68 |
+
parser.add_argument("--skip_run_process", action="store_true")
|
69 |
+
args = parser.parse_args()
|
70 |
+
test_release_build(dist_dir=args.dist_dir, skip_run_process=args.skip_run_process)
|
voicevox_nemo_engine/build_util/codesign.bash
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/env bash
|
2 |
+
# !!! コードサイニング証明書を取り扱うので取り扱い注意 !!!
|
3 |
+
|
4 |
+
# eSignerCKAを使ってコード署名する
|
5 |
+
|
6 |
+
set -eu
|
7 |
+
|
8 |
+
if [ ! -v ESIGNERCKA_USERNAME ]; then # eSignerCKAのユーザー名
|
9 |
+
echo "ESIGNERCKA_USERNAMEが未定義です"
|
10 |
+
exit 1
|
11 |
+
fi
|
12 |
+
if [ ! -v ESIGNERCKA_PASSWORD ]; then # eSignerCKAのパスワード
|
13 |
+
echo "ESIGNERCKA_PASSWORDが未定義です"
|
14 |
+
exit 1
|
15 |
+
fi
|
16 |
+
if [ ! -v ESIGNERCKA_TOTP_SECRET ]; then # eSignerCKAのTOTP Secret
|
17 |
+
echo "ESIGNERCKA_TOTP_SECRETが未定義です"
|
18 |
+
exit 1
|
19 |
+
fi
|
20 |
+
|
21 |
+
if [ $# -ne 1 ]; then
|
22 |
+
echo "引数の数が一致しません"
|
23 |
+
exit 1
|
24 |
+
fi
|
25 |
+
target_file_glob="$1"
|
26 |
+
|
27 |
+
# eSignerCKAのセットアップ
|
28 |
+
INSTALL_DIR='..\eSignerCKA'
|
29 |
+
if [ ! -d "$INSTALL_DIR" ]; then
|
30 |
+
curl -LO "https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip"
|
31 |
+
unzip -o SSL.COM-eSigner-CKA_1.0.6.zip
|
32 |
+
mv ./*eSigner*CKA_*.exe eSigner_CKA_Installer.exe
|
33 |
+
powershell "
|
34 |
+
& ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR='$INSTALL_DIR' | Out-Null
|
35 |
+
& '$INSTALL_DIR\eSignerCKATool.exe' config -mode product -user '$ESIGNERCKA_USERNAME' -pass '$ESIGNERCKA_PASSWORD' -totp '$ESIGNERCKA_TOTP_SECRET' -key '$INSTALL_DIR\master.key' -r
|
36 |
+
& '$INSTALL_DIR\eSignerCKATool.exe' unload
|
37 |
+
"
|
38 |
+
rm SSL.COM-eSigner-CKA_1.0.6.zip eSigner_CKA_Installer.exe
|
39 |
+
fi
|
40 |
+
|
41 |
+
# 証明書を読み込む
|
42 |
+
powershell "& '$INSTALL_DIR\eSignerCKATool.exe' load"
|
43 |
+
|
44 |
+
# shellcheck disable=SC2016
|
45 |
+
THUMBPRINT=$(
|
46 |
+
powershell '
|
47 |
+
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1
|
48 |
+
echo "$($CodeSigningCert.Thumbprint)"
|
49 |
+
'
|
50 |
+
)
|
51 |
+
|
52 |
+
# 指定ファイルに署名する
|
53 |
+
function codesign() {
|
54 |
+
TARGET="$1"
|
55 |
+
# shellcheck disable=SC2012
|
56 |
+
SIGNTOOL=$(ls "C:/Program Files (x86)/Windows Kits/"10/bin/*/x86/signtool.exe | sort -V | tail -n 1) # なぜかこれじゃないと動かない
|
57 |
+
powershell "& '$SIGNTOOL' sign /fd SHA256 /td SHA256 /tr http://timestamp.digicert.com /sha1 '$THUMBPRINT' '$TARGET'"
|
58 |
+
}
|
59 |
+
|
60 |
+
# 指定ファイルが署名されているか
|
61 |
+
function is_signed() {
|
62 |
+
TARGET="$1"
|
63 |
+
SIGNTOOL=$(find "C:/Program Files (x86)/Windows Kits/10/App Certification Kit" -name "signtool.exe" | sort -V | tail -n 1)
|
64 |
+
powershell "& '$SIGNTOOL' verify /pa '$TARGET'" >/dev/null 2>&1 || return 1
|
65 |
+
}
|
66 |
+
|
67 |
+
# 署名されていなければ署名
|
68 |
+
# shellcheck disable=SC2012,SC2086
|
69 |
+
ls $target_file_glob | while read -r target_file; do
|
70 |
+
if is_signed "$target_file"; then
|
71 |
+
echo "署名済み: $target_file"
|
72 |
+
else
|
73 |
+
echo "署名開始: $target_file"
|
74 |
+
codesign "$target_file"
|
75 |
+
fi
|
76 |
+
done
|
77 |
+
|
78 |
+
# 証明書を破棄
|
79 |
+
powershell "& '$INSTALL_DIR\eSignerCKATool.exe' unload"
|
voicevox_nemo_engine/build_util/create_venv_and_generate_licenses.bash
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 仮想環境を作ってrequirements.txtをインストールし、ライセンス一覧を生成する
|
2 |
+
|
3 |
+
set -eux
|
4 |
+
|
5 |
+
if [ ! -v OUTPUT_LICENSE_JSON_PATH ]; then
|
6 |
+
echo "OUTPUT_LICENSE_JSON_PATHが未定義です"
|
7 |
+
exit 1
|
8 |
+
fi
|
9 |
+
|
10 |
+
VENV_PATH="licenses_venv"
|
11 |
+
|
12 |
+
python -m venv $VENV_PATH
|
13 |
+
if [ -d "$VENV_PATH/Scripts" ]; then
|
14 |
+
source $VENV_PATH/Scripts/activate
|
15 |
+
else
|
16 |
+
source $VENV_PATH/bin/activate
|
17 |
+
fi
|
18 |
+
|
19 |
+
pip install -r requirements-license.txt
|
20 |
+
python generate_licenses.py >$OUTPUT_LICENSE_JSON_PATH
|
21 |
+
|
22 |
+
deactivate
|
23 |
+
|
24 |
+
rm -rf $VENV_PATH
|
voicevox_nemo_engine/build_util/merge_update_infos.py
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
更新履歴をマージする。
|
3 |
+
"""
|
4 |
+
|
5 |
+
import argparse
|
6 |
+
import json
|
7 |
+
from collections import OrderedDict
|
8 |
+
from pathlib import Path
|
9 |
+
from typing import Dict, List, Union
|
10 |
+
|
11 |
+
|
12 |
+
def merge_json_string(src: str, dst: str) -> str:
|
13 |
+
"""
|
14 |
+
バージョンが同じ場合は要素を結合する
|
15 |
+
>>> src = '[{"version": "0.0.1", "a": ["a1"], "b": ["b1", "b2"]}]'
|
16 |
+
>>> dst = '[{"version": "0.0.1", "a": ["a2"], "b": ["b1", "b3"]}]'
|
17 |
+
>>> merge_json_string(src, dst)
|
18 |
+
'[{"version": "0.0.1", "a": ["a1", "a2"], "b": ["b1", "b2", "b3"]}]'
|
19 |
+
|
20 |
+
バージョンが無かった場合は無視される
|
21 |
+
>>> src = '[{"version": "1"}]'
|
22 |
+
>>> dst = '[{"version": "1"}, {"version": "2"}]'
|
23 |
+
>>> merge_json_string(src, dst)
|
24 |
+
'[{"version": "1"}]'
|
25 |
+
"""
|
26 |
+
src_json: List[Dict[str, Union[str, List[str]]]] = json.loads(src)
|
27 |
+
dst_json: List[Dict[str, Union[str, List[str]]]] = json.loads(dst)
|
28 |
+
|
29 |
+
for src_item in src_json:
|
30 |
+
for dst_item in dst_json:
|
31 |
+
if src_item["version"] == dst_item["version"]:
|
32 |
+
for key in src_item:
|
33 |
+
if key == "version":
|
34 |
+
continue
|
35 |
+
|
36 |
+
# 異なるものがあった場合だけ後ろに付け足す
|
37 |
+
src_item[key] = list(
|
38 |
+
OrderedDict.fromkeys(src_item[key] + dst_item[key])
|
39 |
+
)
|
40 |
+
|
41 |
+
return json.dumps(src_json)
|
42 |
+
|
43 |
+
|
44 |
+
def merge_update_infos(src_path: Path, dst_path: Path, output_path: Path) -> None:
|
45 |
+
src = src_path.read_text(encoding="utf-8")
|
46 |
+
dst = dst_path.read_text(encoding="utf-8")
|
47 |
+
merged = merge_json_string(src, dst)
|
48 |
+
output_path.write_text(merged)
|
49 |
+
|
50 |
+
|
51 |
+
if __name__ == "__main__":
|
52 |
+
parser = argparse.ArgumentParser()
|
53 |
+
parser.add_argument("src_path", type=Path)
|
54 |
+
parser.add_argument("dst_path", type=Path)
|
55 |
+
parser.add_argument("output_path", type=Path)
|
56 |
+
args = parser.parse_args()
|
57 |
+
merge_update_infos(args.src_path, args.dst_path, args.output_path)
|
voicevox_nemo_engine/build_util/modify_pyinstaller.bash
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/bash
|
2 |
+
|
3 |
+
# PyInstallerをカスタマイズしてから再インストールする
|
4 |
+
# 良いGPUが自動的に選択されるようにしている
|
5 |
+
# https://github.com/VOICEVOX/voicevox_engine/issues/502
|
6 |
+
|
7 |
+
set -eux
|
8 |
+
|
9 |
+
pyinstaller_version=$(pyinstaller -v)
|
10 |
+
tempdir=$(mktemp -dt modify_pyinstaller.XXXXXXXX)
|
11 |
+
trap 'rm -rf "$tempdir"' EXIT
|
12 |
+
git clone https://github.com/pyinstaller/pyinstaller.git "$tempdir" -b "v$pyinstaller_version" --depth 1
|
13 |
+
cat > "$tempdir/bootloader/src/symbols.c" << EOF
|
14 |
+
#ifdef _WIN32
|
15 |
+
#include <windows.h>
|
16 |
+
|
17 |
+
// https://docs.nvidia.com/gameworks/content/technologies/desktop/optimus.htm
|
18 |
+
__declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
|
19 |
+
|
20 |
+
// https://gpuopen.com/learn/amdpowerxpressrequesthighperformance/
|
21 |
+
__declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001;
|
22 |
+
#endif
|
23 |
+
EOF
|
24 |
+
(cd "$tempdir/bootloader" && python ./waf all --msvc_targets="x64")
|
25 |
+
pip install -U "$tempdir"
|
voicevox_nemo_engine/build_util/process_voicevox_resource.bash
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
set -eux
|
2 |
+
|
3 |
+
if [ ! -v DOWNLOAD_RESOURCE_PATH ]; then
|
4 |
+
echo "DOWNLOAD_RESOURCE_PATHが未定義です"
|
5 |
+
exit 1
|
6 |
+
fi
|
7 |
+
|
8 |
+
rm -r speaker_info
|
9 |
+
cp -r $DOWNLOAD_RESOURCE_PATH/voicevox_nemo/character_info speaker_info
|
10 |
+
|
11 |
+
# キャラクター情報の前処理をする
|
12 |
+
python $DOWNLOAD_RESOURCE_PATH/scripts/clean_character_info.py \
|
13 |
+
--character_info_dir speaker_info/
|
14 |
+
|
15 |
+
# マニフェスト
|
16 |
+
jq -s '.[0] * .[1]' engine_manifest.json $DOWNLOAD_RESOURCE_PATH/voicevox_nemo/engine/engine_manifest.json \
|
17 |
+
> engine_manifest.json.tmp
|
18 |
+
mv engine_manifest.json.tmp engine_manifest.json
|
19 |
+
|
20 |
+
python build_util/merge_update_infos.py \
|
21 |
+
engine_manifest_assets/update_infos.json \
|
22 |
+
$DOWNLOAD_RESOURCE_PATH/voicevox_nemo/engine/engine_manifest_assets/update_infos.json \
|
23 |
+
engine_manifest_assets/update_infos.json
|
24 |
+
|
25 |
+
for f in $(ls $DOWNLOAD_RESOURCE_PATH/voicevox_nemo/engine/engine_manifest_assets/* | grep -v update_infos.json); do
|
26 |
+
cp $f ./engine_manifest_assets/
|
27 |
+
done
|
voicevox_nemo_engine/default.csv
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
あいえるたん,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,アイエルタン,アイエルタン,0/6,C1
|
2 |
+
藍田,1350,1350,5000,名詞,固有名詞,人名,姓,*,*,*,アイダ,アイダ,0/3,C1
|
3 |
+
朱司,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,アカシ,アカシ,1/3,C1
|
4 |
+
青山,1350,1350,5000,名詞,固有名詞,人名,姓,*,*,*,アオヤマ,アオヤマ,2/4,C1
|
5 |
+
雨晴,1350,1350,7000,名詞,固有名詞,人名,姓,*,*,*,アメハレ,アメハレ,2/4,C1
|
6 |
+
アル,1351,1351,7000,名詞,固有名詞,人名,名,*,*,*,アル,アル,1/2,C1
|
7 |
+
うさぎ,1351,1351,7000,名詞,固有名詞,人名,名,*,*,*,ウサギ,ウサギ,0/3,C1
|
8 |
+
櫻歌,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,オウカ,オーカ,1/3,C1
|
9 |
+
音街,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,オトマチ,オトマチ,2/4,C1
|
10 |
+
春日部,1350,1350,8600,名詞,固有名詞,人名,姓,*,*,*,カスカベ,カスカベ,0/4,C1
|
11 |
+
麒ヶ島,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,キガシマ,キガシマ,2/4,C1
|
12 |
+
紲星,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,キズナ,キズナ,1/3,C1
|
13 |
+
九州,1350,1350,8600,名詞,固有名詞,人名,姓,*,*,*,キュウシュウ,キュウシュウ,1/4,C1
|
14 |
+
キョウコ,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,キョオコ,キョオコ,1/3,C1
|
15 |
+
栗田,1350,1350,5000,名詞,固有名詞,人名,姓,*,*,*,クリタ,クリタ,1/3,C1
|
16 |
+
玄野,1350,1350,5000,名詞,固有名詞,人名,姓,*,*,*,クロノ,クロノ,1/3,C1
|
17 |
+
剣崎,1350,1350,5000,名詞,固有名詞,人名,姓,*,*,*,ケンザキ,ケンザキ,1/4,C1
|
18 |
+
後鬼,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,ゴキ,ゴキ,1/2,C1
|
19 |
+
虎太郎,1351,1351,5000,名詞,固有名詞,人名,名,*,*,*,コタロウ,コタロー,4/4,C1
|
20 |
+
琴葉,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,コトノハ,コトノハ,0/4,C1
|
21 |
+
琴詠,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,コトヨミ,コトヨミ,0/4,C1
|
22 |
+
小夜,1351,1351,2200,名詞,固有名詞,人名,名,*,*,*,サヨ,サヨ,1/2,C1
|
23 |
+
四国,1350,1350,2200,名詞,固有名詞,人名,姓,*,*,*,シコク,シコク,1/3,C1
|
24 |
+
白上,1350,1350,5000,名詞,固有名詞,人名,姓,*,*,*,シラカミ,シラカミ,4/4,C1
|
25 |
+
ずんだもん,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,ズンダモン,ズンダモン,1/5,C1
|
26 |
+
そら,1351,1351,7000,名詞,固有名詞,人名,名,*,*,*,ソラ,ソラ,1/2,C1
|
27 |
+
宗麟,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,ソウリン,ソウリン,1/4,C1
|
28 |
+
タイプT,1351,1351,5000,名詞,固有名詞,人名,名,*,*,*,タイプティー,タイプティー,4/5,C1
|
29 |
+
中国,1350,1350,8600,名詞,固有名詞,人名,姓,*,*,*,チュウゴク,チュウゴク,1/4,C1
|
30 |
+
波音,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ナミネ,ナミネ,0/3,C1
|
31 |
+
武宏,1351,1351,5000,名詞,固有名詞,人名,名,*,*,*,タケヒロ,タケヒロ,2/4,C1
|
32 |
+
ちび式じい,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,チビシキジー,チビシキジー,5/6,C1
|
33 |
+
月読,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ツクヨミ,ツクヨミ,0/4,C1
|
34 |
+
つむぎ,1351,1351,7450,名詞,固有名詞,人名,名,*,*,*,ツムギ,ツムギ,0/3,C1
|
35 |
+
ナースロボ,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ナースロボ,ナースロボ,4/5,C1
|
36 |
+
ナナ,1351,1351,8600,名詞,固有名詞,人名,名,*,*,*,ナナ,ナナ,1/2,C1
|
37 |
+
No.7,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,ナンバーセブン,ナンバーセブン,5/7,C1
|
38 |
+
ニア,1351,1351,5000,名詞,固有名詞,人名,名,*,*,*,ニア,ニア,1/2,C1
|
39 |
+
猫使,1350,1350,2200,名詞,固有名詞,人名,姓,*,*,*,ネコツカ,ネコツカ,2/4,C1
|
40 |
+
ノエル,1351,1351,7450,名詞,固有名詞,人名,名,*,*,*,ノエル,ノエル,1/3,C1
|
41 |
+
はう,1351,1351,5000,名詞,固有名詞,人名,名,*,*,*,ハウ,ハウ,1/2,C1
|
42 |
+
花丸,1351,1351,8600,名詞,固有名詞,人名,名,*,*,*,ハナマル,ハナマル,0/4,C1
|
43 |
+
春歌,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ハルカ,ハルカ,1/3,C1
|
44 |
+
桜乃,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ハルノ,ハルノ,1/3,C1
|
45 |
+
ビィ,1351,1351,7000,名詞,固有名詞,人名,名,*,*,*,ビー,ビー,1/2,C1
|
46 |
+
ひまり,1351,1351,7000,名詞,固有名詞,人名,名,*,*,*,ヒマリ,ヒマリ,0/3,C1
|
47 |
+
紅桜,1351,1351,7000,名詞,固有名詞,人名,名,*,*,*,ベニザクラ,ベニザクラ,3/5,C1
|
48 |
+
聖騎士,1350,1350,8600,名詞,固有名詞,人名,姓,*,*,*,ホーリーナイト,ホーリーナイト,5/7,C1
|
49 |
+
WhiteCUL,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,ホワイトカル,ホワイトカル,5/6,C1
|
50 |
+
まろん,1351,1351,7450,名詞,固有名詞,人名,名,*,*,*,マロン,マロン,1/3,C1
|
51 |
+
満別,1350,1350,8600,名詞,固有名詞,人名,姓,*,*,*,マンベツ,マンベツ,1/4,C1
|
52 |
+
ミコ,1351,1351,3900,名詞,固有名詞,人名,名,*,*,*,ミコ,ミコ,1/2,C1
|
53 |
+
水奈瀬,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ミナセ,ミナセ,2/3,C1
|
54 |
+
冥鳴,1350,1350,5000,名詞,固有名詞,人名,姓,*,*,*,メイメイ,メイメイ,1/4,C1
|
55 |
+
鳴花,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,メイカ,メイカ,1/3,C1
|
56 |
+
めたん,1351,1351,7000,名詞,固有名詞,人名,名,*,*,*,メタン,メタン,1/3,C1
|
57 |
+
雌雄,1351,1351,8600,名詞,固有名詞,人名,名,*,*,*,メスオ,メスオ,0/3,C1
|
58 |
+
もち子さん,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,モチコサン,モチコサン,1/5,C1
|
59 |
+
モチノ,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,モチノ,モチノ,0/3,C1
|
60 |
+
結月,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ユヅキ,ユヅキ,1/3,C1
|
61 |
+
弓鶴,1351,1351,0,名詞,固有名詞,人名,名,*,*,*,ユヅル,ユヅル,0/3,C1
|
62 |
+
リツ,1351,1351,3900,名詞,固有名詞,人名,名,*,*,*,リツ,リツ,1/2,C1
|
63 |
+
六花,1351,1351,4900,名詞,固有名詞,人名,名,*,*,*,リッカ,リッカ,1/3,C1
|
64 |
+
龍星,1351,1351,5000,名詞,固有名詞,人名,名,*,*,*,リュウセイ,リュウセイ,1/4,C1
|
65 |
+
雀松,1350,1350,0,名詞,固有名詞,人名,姓,*,*,*,ワカマツ,ワカマツ,2/4,C1
|
66 |
+
COEIROINK,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,コエイロインク,コエイロインク,5/7,C1
|
67 |
+
coeiroink,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,コエイロインク,コエイロインク,5/7,C1
|
68 |
+
CoeFont,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,コエフォント,コエフォント,3/5,C1
|
69 |
+
coefont,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,コエフォント,コエフォント,3/5,C1
|
70 |
+
Nemo,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,ネモ,ネモ,1/2,C1
|
71 |
+
nemo,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,ネモ,ネモ,1/2,C1
|
72 |
+
TALQu,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,トーク,トーク,0/3,C1
|
73 |
+
talqu,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,トーク,トーク,0/3,C1
|
74 |
+
VOICEVOX,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,ボイスボックス,ボイスボックス,4/7,C1
|
75 |
+
voicevox,1348,1348,0,名詞,固有名詞,一般,*,*,*,*,ボイスボックス,ボイスボックス,4/7,C1
|
voicevox_nemo_engine/default_setting.yml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
allow_origin: null
|
2 |
+
cors_policy_mode: localapps
|
voicevox_nemo_engine/docs/VOICEVOX音声合成エンジンとの連携.md
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
メモ書き程度ですが、どういう方針で開発を進めているかを紹介します。
|
2 |
+
|
3 |
+
- バージョンが上がっても、`/audio_query`で返ってくる値をそのまま`/synthesis`に POST すれば音声合成できるようにする予定です
|
4 |
+
- `AudioQuery`のパラメータは増えますが、なるべくデフォルト値で以前と変わらない音声が生成されるようにします
|
5 |
+
- バージョン 0.7 から音声スタイルが実装されました。スタイルの情報は`/speakers`から取得できます
|
6 |
+
- スタイルの情報にある`style_id`を`speaker`に指定することで、今まで通り音声合成ができます
|
7 |
+
- style_id の指定先が speaker なのは互換性のためです
|
voicevox_nemo_engine/docs/api/.gitkeep
ADDED
File without changes
|
voicevox_nemo_engine/docs/licenses/cuda/EULA.txt
ADDED
@@ -0,0 +1,1598 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
End User License Agreement
|
2 |
+
--------------------------
|
3 |
+
|
4 |
+
NVIDIA Software License Agreement and CUDA Supplement to
|
5 |
+
Software License Agreement. Last updated: October 8, 2021
|
6 |
+
|
7 |
+
The CUDA Toolkit End User License Agreement applies to the
|
8 |
+
NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA
|
9 |
+
Display Driver, NVIDIA Nsight tools (Visual Studio Edition),
|
10 |
+
and the associated documentation on CUDA APIs, programming
|
11 |
+
model and development tools. If you do not agree with the
|
12 |
+
terms and conditions of the license agreement, then do not
|
13 |
+
download or use the software.
|
14 |
+
|
15 |
+
Last updated: October 8, 2021.
|
16 |
+
|
17 |
+
|
18 |
+
Preface
|
19 |
+
-------
|
20 |
+
|
21 |
+
The Software License Agreement in Chapter 1 and the Supplement
|
22 |
+
in Chapter 2 contain license terms and conditions that govern
|
23 |
+
the use of NVIDIA software. By accepting this agreement, you
|
24 |
+
agree to comply with all the terms and conditions applicable
|
25 |
+
to the product(s) included herein.
|
26 |
+
|
27 |
+
|
28 |
+
NVIDIA Driver
|
29 |
+
|
30 |
+
|
31 |
+
Description
|
32 |
+
|
33 |
+
This package contains the operating system driver and
|
34 |
+
fundamental system software components for NVIDIA GPUs.
|
35 |
+
|
36 |
+
|
37 |
+
NVIDIA CUDA Toolkit
|
38 |
+
|
39 |
+
|
40 |
+
Description
|
41 |
+
|
42 |
+
The NVIDIA CUDA Toolkit provides command-line and graphical
|
43 |
+
tools for building, debugging and optimizing the performance
|
44 |
+
of applications accelerated by NVIDIA GPUs, runtime and math
|
45 |
+
libraries, and documentation including programming guides,
|
46 |
+
user manuals, and API references.
|
47 |
+
|
48 |
+
|
49 |
+
Default Install Location of CUDA Toolkit
|
50 |
+
|
51 |
+
Windows platform:
|
52 |
+
|
53 |
+
%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v#.#
|
54 |
+
|
55 |
+
Linux platform:
|
56 |
+
|
57 |
+
/usr/local/cuda-#.#
|
58 |
+
|
59 |
+
Mac platform:
|
60 |
+
|
61 |
+
/Developer/NVIDIA/CUDA-#.#
|
62 |
+
|
63 |
+
|
64 |
+
NVIDIA CUDA Samples
|
65 |
+
|
66 |
+
|
67 |
+
Description
|
68 |
+
|
69 |
+
CUDA Samples are now located in
|
70 |
+
https://github.com/nvidia/cuda-samples, which includes
|
71 |
+
instructions for obtaining, building, and running the samples.
|
72 |
+
They are no longer included in the CUDA toolkit.
|
73 |
+
|
74 |
+
|
75 |
+
NVIDIA Nsight Visual Studio Edition (Windows only)
|
76 |
+
|
77 |
+
|
78 |
+
Description
|
79 |
+
|
80 |
+
NVIDIA Nsight Development Platform, Visual Studio Edition is a
|
81 |
+
development environment integrated into Microsoft Visual
|
82 |
+
Studio that provides tools for debugging, profiling, analyzing
|
83 |
+
and optimizing your GPU computing and graphics applications.
|
84 |
+
|
85 |
+
|
86 |
+
Default Install Location of Nsight Visual Studio Edition
|
87 |
+
|
88 |
+
Windows platform:
|
89 |
+
|
90 |
+
%ProgramFiles(x86)%\NVIDIA Corporation\Nsight Visual Studio Edition #.#
|
91 |
+
|
92 |
+
|
93 |
+
1. License Agreement for NVIDIA Software Development Kits
|
94 |
+
---------------------------------------------------------
|
95 |
+
|
96 |
+
|
97 |
+
Important Notice—Read before downloading, installing,
|
98 |
+
copying or using the licensed software:
|
99 |
+
-------------------------------------------------------
|
100 |
+
|
101 |
+
This license agreement, including exhibits attached
|
102 |
+
("Agreement”) is a legal agreement between you and NVIDIA
|
103 |
+
Corporation ("NVIDIA") and governs your use of a NVIDIA
|
104 |
+
software development kit (“SDK”).
|
105 |
+
|
106 |
+
Each SDK has its own set of software and materials, but here
|
107 |
+
is a description of the types of items that may be included in
|
108 |
+
a SDK: source code, header files, APIs, data sets and assets
|
109 |
+
(examples include images, textures, models, scenes, videos,
|
110 |
+
native API input/output files), binary software, sample code,
|
111 |
+
libraries, utility programs, programming code and
|
112 |
+
documentation.
|
113 |
+
|
114 |
+
This Agreement can be accepted only by an adult of legal age
|
115 |
+
of majority in the country in which the SDK is used.
|
116 |
+
|
117 |
+
If you are entering into this Agreement on behalf of a company
|
118 |
+
or other legal entity, you represent that you have the legal
|
119 |
+
authority to bind the entity to this Agreement, in which case
|
120 |
+
“you” will mean the entity you represent.
|
121 |
+
|
122 |
+
If you don’t have the required age or authority to accept
|
123 |
+
this Agreement, or if you don’t accept all the terms and
|
124 |
+
conditions of this Agreement, do not download, install or use
|
125 |
+
the SDK.
|
126 |
+
|
127 |
+
You agree to use the SDK only for purposes that are permitted
|
128 |
+
by (a) this Agreement, and (b) any applicable law, regulation
|
129 |
+
or generally accepted practices or guidelines in the relevant
|
130 |
+
jurisdictions.
|
131 |
+
|
132 |
+
|
133 |
+
1.1. License
|
134 |
+
|
135 |
+
|
136 |
+
1.1.1. License Grant
|
137 |
+
|
138 |
+
Subject to the terms of this Agreement, NVIDIA hereby grants
|
139 |
+
you a non-exclusive, non-transferable license, without the
|
140 |
+
right to sublicense (except as expressly provided in this
|
141 |
+
Agreement) to:
|
142 |
+
|
143 |
+
1. Install and use the SDK,
|
144 |
+
|
145 |
+
2. Modify and create derivative works of sample source code
|
146 |
+
delivered in the SDK, and
|
147 |
+
|
148 |
+
3. Distribute those portions of the SDK that are identified
|
149 |
+
in this Agreement as distributable, as incorporated in
|
150 |
+
object code format into a software application that meets
|
151 |
+
the distribution requirements indicated in this Agreement.
|
152 |
+
|
153 |
+
|
154 |
+
1.1.2. Distribution Requirements
|
155 |
+
|
156 |
+
These are the distribution requirements for you to exercise
|
157 |
+
the distribution grant:
|
158 |
+
|
159 |
+
1. Your application must have material additional
|
160 |
+
functionality, beyond the included portions of the SDK.
|
161 |
+
|
162 |
+
2. The distributable portions of the SDK shall only be
|
163 |
+
accessed by your application.
|
164 |
+
|
165 |
+
3. The following notice shall be included in modifications
|
166 |
+
and derivative works of sample source code distributed:
|
167 |
+
“This software contains source code provided by NVIDIA
|
168 |
+
Corporation.”
|
169 |
+
|
170 |
+
4. Unless a developer tool is identified in this Agreement
|
171 |
+
as distributable, it is delivered for your internal use
|
172 |
+
only.
|
173 |
+
|
174 |
+
5. The terms under which you distribute your application
|
175 |
+
must be consistent with the terms of this Agreement,
|
176 |
+
including (without limitation) terms relating to the
|
177 |
+
license grant and license restrictions and protection of
|
178 |
+
NVIDIA’s intellectual property rights. Additionally, you
|
179 |
+
agree that you will protect the privacy, security and
|
180 |
+
legal rights of your application users.
|
181 |
+
|
182 |
+
6. You agree to notify NVIDIA in writing of any known or
|
183 |
+
suspected distribution or use of the SDK not in compliance
|
184 |
+
with the requirements of this Agreement, and to enforce
|
185 |
+
the terms of your agreements with respect to distributed
|
186 |
+
SDK.
|
187 |
+
|
188 |
+
|
189 |
+
1.1.3. Authorized Users
|
190 |
+
|
191 |
+
You may allow employees and contractors of your entity or of
|
192 |
+
your subsidiary(ies) to access and use the SDK from your
|
193 |
+
secure network to perform work on your behalf.
|
194 |
+
|
195 |
+
If you are an academic institution you may allow users
|
196 |
+
enrolled or employed by the academic institution to access and
|
197 |
+
use the SDK from your secure network.
|
198 |
+
|
199 |
+
You are responsible for the compliance with the terms of this
|
200 |
+
Agreement by your authorized users. If you become aware that
|
201 |
+
your authorized users didn’t follow the terms of this
|
202 |
+
Agreement, you agree to take reasonable steps to resolve the
|
203 |
+
non-compliance and prevent new occurrences.
|
204 |
+
|
205 |
+
|
206 |
+
1.1.4. Pre-Release SDK
|
207 |
+
|
208 |
+
The SDK versions identified as alpha, beta, preview or
|
209 |
+
otherwise as pre-release, may not be fully functional, may
|
210 |
+
contain errors or design flaws, and may have reduced or
|
211 |
+
different security, privacy, accessibility, availability, and
|
212 |
+
reliability standards relative to commercial versions of
|
213 |
+
NVIDIA software and materials. Use of a pre-release SDK may
|
214 |
+
result in unexpected results, loss of data, project delays or
|
215 |
+
other unpredictable damage or loss.
|
216 |
+
|
217 |
+
You may use a pre-release SDK at your own risk, understanding
|
218 |
+
that pre-release SDKs are not intended for use in production
|
219 |
+
or business-critical systems.
|
220 |
+
|
221 |
+
NVIDIA may choose not to make available a commercial version
|
222 |
+
of any pre-release SDK. NVIDIA may also choose to abandon
|
223 |
+
development and terminate the availability of a pre-release
|
224 |
+
SDK at any time without liability.
|
225 |
+
|
226 |
+
|
227 |
+
1.1.5. Updates
|
228 |
+
|
229 |
+
NVIDIA may, at its option, make available patches, workarounds
|
230 |
+
or other updates to this SDK. Unless the updates are provided
|
231 |
+
with their separate governing terms, they are deemed part of
|
232 |
+
the SDK licensed to you as provided in this Agreement. You
|
233 |
+
agree that the form and content of the SDK that NVIDIA
|
234 |
+
provides may change without prior notice to you. While NVIDIA
|
235 |
+
generally maintains compatibility between versions, NVIDIA may
|
236 |
+
in some cases make changes that introduce incompatibilities in
|
237 |
+
future versions of the SDK.
|
238 |
+
|
239 |
+
|
240 |
+
1.1.6. Components Under Other Licenses
|
241 |
+
|
242 |
+
The SDK may come bundled with, or otherwise include or be
|
243 |
+
distributed with, NVIDIA or third-party components with
|
244 |
+
separate legal notices or terms as may be described in
|
245 |
+
proprietary notices accompanying the SDK. If and to the extent
|
246 |
+
there is a conflict between the terms in this Agreement and
|
247 |
+
the license terms associated with the component, the license
|
248 |
+
terms associated with the components control only to the
|
249 |
+
extent necessary to resolve the conflict.
|
250 |
+
|
251 |
+
Subject to the other terms of this Agreement, you may use the
|
252 |
+
SDK to develop and test applications released under Open
|
253 |
+
Source Initiative (OSI) approved open source software
|
254 |
+
licenses.
|
255 |
+
|
256 |
+
|
257 |
+
1.1.7. Reservation of Rights
|
258 |
+
|
259 |
+
NVIDIA reserves all rights, title, and interest in and to the
|
260 |
+
SDK, not expressly granted to you under this Agreement.
|
261 |
+
|
262 |
+
|
263 |
+
1.2. Limitations
|
264 |
+
|
265 |
+
The following license limitations apply to your use of the
|
266 |
+
SDK:
|
267 |
+
|
268 |
+
1. You may not reverse engineer, decompile or disassemble,
|
269 |
+
or remove copyright or other proprietary notices from any
|
270 |
+
portion of the SDK or copies of the SDK.
|
271 |
+
|
272 |
+
2. Except as expressly provided in this Agreement, you may
|
273 |
+
not copy, sell, rent, sublicense, transfer, distribute,
|
274 |
+
modify, or create derivative works of any portion of the
|
275 |
+
SDK. For clarity, you may not distribute or sublicense the
|
276 |
+
SDK as a stand-alone product.
|
277 |
+
|
278 |
+
3. Unless you have an agreement with NVIDIA for this
|
279 |
+
purpose, you may not indicate that an application created
|
280 |
+
with the SDK is sponsored or endorsed by NVIDIA.
|
281 |
+
|
282 |
+
4. You may not bypass, disable, or circumvent any
|
283 |
+
encryption, security, digital rights management or
|
284 |
+
authentication mechanism in the SDK.
|
285 |
+
|
286 |
+
5. You may not use the SDK in any manner that would cause it
|
287 |
+
to become subject to an open source software license. As
|
288 |
+
examples, licenses that require as a condition of use,
|
289 |
+
modification, and/or distribution that the SDK be:
|
290 |
+
|
291 |
+
a. Disclosed or distributed in source code form;
|
292 |
+
|
293 |
+
b. Licensed for the purpose of making derivative works;
|
294 |
+
or
|
295 |
+
|
296 |
+
c. Redistributable at no charge.
|
297 |
+
|
298 |
+
6. You acknowledge that the SDK as delivered is not tested
|
299 |
+
or certified by NVIDIA for use in connection with the
|
300 |
+
design, construction, maintenance, and/or operation of any
|
301 |
+
system where the use or failure of such system could
|
302 |
+
result in a situation that threatens the safety of human
|
303 |
+
life or results in catastrophic damages (each, a "Critical
|
304 |
+
Application"). Examples of Critical Applications include
|
305 |
+
use in avionics, navigation, autonomous vehicle
|
306 |
+
applications, ai solutions for automotive products,
|
307 |
+
military, medical, life support or other life critical
|
308 |
+
applications. NVIDIA shall not be liable to you or any
|
309 |
+
third party, in whole or in part, for any claims or
|
310 |
+
damages arising from such uses. You are solely responsible
|
311 |
+
for ensuring that any product or service developed with
|
312 |
+
the SDK as a whole includes sufficient features to comply
|
313 |
+
with all applicable legal and regulatory standards and
|
314 |
+
requirements.
|
315 |
+
|
316 |
+
7. You agree to defend, indemnify and hold harmless NVIDIA
|
317 |
+
and its affiliates, and their respective employees,
|
318 |
+
contractors, agents, officers and directors, from and
|
319 |
+
against any and all claims, damages, obligations, losses,
|
320 |
+
liabilities, costs or debt, fines, restitutions and
|
321 |
+
expenses (including but not limited to attorney’s fees
|
322 |
+
and costs incident to establishing the right of
|
323 |
+
indemnification) arising out of or related to products or
|
324 |
+
services that use the SDK in or for Critical Applications,
|
325 |
+
and for use of the SDK outside of the scope of this
|
326 |
+
Agreement or not in compliance with its terms.
|
327 |
+
|
328 |
+
8. You may not reverse engineer, decompile or disassemble
|
329 |
+
any portion of the output generated using SDK elements for
|
330 |
+
the purpose of translating such output artifacts to target
|
331 |
+
a non-NVIDIA platform.
|
332 |
+
|
333 |
+
|
334 |
+
1.3. Ownership
|
335 |
+
|
336 |
+
1. NVIDIA or its licensors hold all rights, title and
|
337 |
+
interest in and to the SDK and its modifications and
|
338 |
+
derivative works, including their respective intellectual
|
339 |
+
property rights, subject to your rights under Section
|
340 |
+
1.3.2. This SDK may include software and materials from
|
341 |
+
NVIDIA’s licensors, and these licensors are intended
|
342 |
+
third party beneficiaries that may enforce this Agreement
|
343 |
+
with respect to their intellectual property rights.
|
344 |
+
|
345 |
+
2. You hold all rights, title and interest in and to your
|
346 |
+
applications and your derivative works of the sample
|
347 |
+
source code delivered in the SDK, including their
|
348 |
+
respective intellectual property rights, subject to
|
349 |
+
NVIDIA’s rights under Section 1.3.1.
|
350 |
+
|
351 |
+
3. You may, but don’t have to, provide to NVIDIA
|
352 |
+
suggestions, feature requests or other feedback regarding
|
353 |
+
the SDK, including possible enhancements or modifications
|
354 |
+
to the SDK. For any feedback that you voluntarily provide,
|
355 |
+
you hereby grant NVIDIA and its affiliates a perpetual,
|
356 |
+
non-exclusive, worldwide, irrevocable license to use,
|
357 |
+
reproduce, modify, license, sublicense (through multiple
|
358 |
+
tiers of sublicensees), and distribute (through multiple
|
359 |
+
tiers of distributors) it without the payment of any
|
360 |
+
royalties or fees to you. NVIDIA will use feedback at its
|
361 |
+
choice. NVIDIA is constantly looking for ways to improve
|
362 |
+
its products, so you may send feedback to NVIDIA through
|
363 |
+
the developer portal at https://developer.nvidia.com.
|
364 |
+
|
365 |
+
|
366 |
+
1.4. No Warranties
|
367 |
+
|
368 |
+
THE SDK IS PROVIDED BY NVIDIA “AS IS” AND “WITH ALL
|
369 |
+
FAULTS.” TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND
|
370 |
+
ITS AFFILIATES EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND
|
371 |
+
OR NATURE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING,
|
372 |
+
BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
|
373 |
+
FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, OR THE
|
374 |
+
ABSENCE OF ANY DEFECTS THEREIN, WHETHER LATENT OR PATENT. NO
|
375 |
+
WARRANTY IS MADE ON THE BASIS OF TRADE USAGE, COURSE OF
|
376 |
+
DEALING OR COURSE OF TRADE.
|
377 |
+
|
378 |
+
|
379 |
+
1.5. Limitation of Liability
|
380 |
+
|
381 |
+
TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS
|
382 |
+
AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
383 |
+
PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, LOSS
|
384 |
+
OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF
|
385 |
+
PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION
|
386 |
+
WITH THIS AGREEMENT OR THE USE OR PERFORMANCE OF THE SDK,
|
387 |
+
WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH
|
388 |
+
OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE),
|
389 |
+
PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF
|
390 |
+
LIABILITY. IN NO EVENT WILL NVIDIA’S AND ITS AFFILIATES
|
391 |
+
TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS
|
392 |
+
AGREEMENT EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE
|
393 |
+
NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS
|
394 |
+
LIMIT.
|
395 |
+
|
396 |
+
These exclusions and limitations of liability shall apply
|
397 |
+
regardless if NVIDIA or its affiliates have been advised of
|
398 |
+
the possibility of such damages, and regardless of whether a
|
399 |
+
remedy fails its essential purpose. These exclusions and
|
400 |
+
limitations of liability form an essential basis of the
|
401 |
+
bargain between the parties, and, absent any of these
|
402 |
+
exclusions or limitations of liability, the provisions of this
|
403 |
+
Agreement, including, without limitation, the economic terms,
|
404 |
+
would be substantially different.
|
405 |
+
|
406 |
+
|
407 |
+
1.6. Termination
|
408 |
+
|
409 |
+
1. This Agreement will continue to apply until terminated by
|
410 |
+
either you or NVIDIA as described below.
|
411 |
+
|
412 |
+
2. If you want to terminate this Agreement, you may do so by
|
413 |
+
stopping to use the SDK.
|
414 |
+
|
415 |
+
3. NVIDIA may, at any time, terminate this Agreement if:
|
416 |
+
|
417 |
+
a. (i) you fail to comply with any term of this
|
418 |
+
Agreement and the non-compliance is not fixed within
|
419 |
+
thirty (30) days following notice from NVIDIA (or
|
420 |
+
immediately if you violate NVIDIA’s intellectual
|
421 |
+
property rights);
|
422 |
+
|
423 |
+
b. (ii) you commence or participate in any legal
|
424 |
+
proceeding against NVIDIA with respect to the SDK; or
|
425 |
+
|
426 |
+
c. (iii) NVIDIA decides to no longer provide the SDK in
|
427 |
+
a country or, in NVIDIA’s sole discretion, the
|
428 |
+
continued use of it is no longer commercially viable.
|
429 |
+
|
430 |
+
4. Upon any termination of this Agreement, you agree to
|
431 |
+
promptly discontinue use of the SDK and destroy all copies
|
432 |
+
in your possession or control. Your prior distributions in
|
433 |
+
accordance with this Agreement are not affected by the
|
434 |
+
termination of this Agreement. Upon written request, you
|
435 |
+
will certify in writing that you have complied with your
|
436 |
+
commitments under this section. Upon any termination of
|
437 |
+
this Agreement all provisions survive except for the
|
438 |
+
license grant provisions.
|
439 |
+
|
440 |
+
|
441 |
+
1.7. General
|
442 |
+
|
443 |
+
If you wish to assign this Agreement or your rights and
|
444 |
+
obligations, including by merger, consolidation, dissolution
|
445 |
+
or operation of law, contact NVIDIA to ask for permission. Any
|
446 |
+
attempted assignment not approved by NVIDIA in writing shall
|
447 |
+
be void and of no effect. NVIDIA may assign, delegate or
|
448 |
+
transfer this Agreement and its rights and obligations, and if
|
449 |
+
to a non-affiliate you will be notified.
|
450 |
+
|
451 |
+
You agree to cooperate with NVIDIA and provide reasonably
|
452 |
+
requested information to verify your compliance with this
|
453 |
+
Agreement.
|
454 |
+
|
455 |
+
This Agreement will be governed in all respects by the laws of
|
456 |
+
the United States and of the State of Delaware as those laws
|
457 |
+
are applied to contracts entered into and performed entirely
|
458 |
+
within Delaware by Delaware residents, without regard to the
|
459 |
+
conflicts of laws principles. The United Nations Convention on
|
460 |
+
Contracts for the International Sale of Goods is specifically
|
461 |
+
disclaimed. You agree to all terms of this Agreement in the
|
462 |
+
English language.
|
463 |
+
|
464 |
+
The state or federal courts residing in Santa Clara County,
|
465 |
+
California shall have exclusive jurisdiction over any dispute
|
466 |
+
or claim arising out of this Agreement. Notwithstanding this,
|
467 |
+
you agree that NVIDIA shall still be allowed to apply for
|
468 |
+
injunctive remedies or an equivalent type of urgent legal
|
469 |
+
relief in any jurisdiction.
|
470 |
+
|
471 |
+
If any court of competent jurisdiction determines that any
|
472 |
+
provision of this Agreement is illegal, invalid or
|
473 |
+
unenforceable, such provision will be construed as limited to
|
474 |
+
the extent necessary to be consistent with and fully
|
475 |
+
enforceable under the law and the remaining provisions will
|
476 |
+
remain in full force and effect. Unless otherwise specified,
|
477 |
+
remedies are cumulative.
|
478 |
+
|
479 |
+
Each party acknowledges and agrees that the other is an
|
480 |
+
independent contractor in the performance of this Agreement.
|
481 |
+
|
482 |
+
The SDK has been developed entirely at private expense and is
|
483 |
+
“commercial items” consisting of “commercial computer
|
484 |
+
software” and “commercial computer software
|
485 |
+
documentation” provided with RESTRICTED RIGHTS. Use,
|
486 |
+
duplication or disclosure by the U.S. Government or a U.S.
|
487 |
+
Government subcontractor is subject to the restrictions in
|
488 |
+
this Agreement pursuant to DFARS 227.7202-3(a) or as set forth
|
489 |
+
in subparagraphs (c)(1) and (2) of the Commercial Computer
|
490 |
+
Software - Restricted Rights clause at FAR 52.227-19, as
|
491 |
+
applicable. Contractor/manufacturer is NVIDIA, 2788 San Tomas
|
492 |
+
Expressway, Santa Clara, CA 95051.
|
493 |
+
|
494 |
+
The SDK is subject to United States export laws and
|
495 |
+
regulations. You agree that you will not ship, transfer or
|
496 |
+
export the SDK into any country, or use the SDK in any manner,
|
497 |
+
prohibited by the United States Bureau of Industry and
|
498 |
+
Security or economic sanctions regulations administered by the
|
499 |
+
U.S. Department of Treasury’s Office of Foreign Assets
|
500 |
+
Control (OFAC), or any applicable export laws, restrictions or
|
501 |
+
regulations. These laws include restrictions on destinations,
|
502 |
+
end users and end use. By accepting this Agreement, you
|
503 |
+
confirm that you are not a resident or citizen of any country
|
504 |
+
currently embargoed by the U.S. and that you are not otherwise
|
505 |
+
prohibited from receiving the SDK.
|
506 |
+
|
507 |
+
Any notice delivered by NVIDIA to you under this Agreement
|
508 |
+
will be delivered via mail, email or fax. You agree that any
|
509 |
+
notices that NVIDIA sends you electronically will satisfy any
|
510 |
+
legal communication requirements. Please direct your legal
|
511 |
+
notices or other correspondence to NVIDIA Corporation, 2788
|
512 |
+
San Tomas Expressway, Santa Clara, California 95051, United
|
513 |
+
States of America, Attention: Legal Department.
|
514 |
+
|
515 |
+
This Agreement and any exhibits incorporated into this
|
516 |
+
Agreement constitute the entire agreement of the parties with
|
517 |
+
respect to the subject matter of this Agreement and supersede
|
518 |
+
all prior negotiations or documentation exchanged between the
|
519 |
+
parties relating to this SDK license. Any additional and/or
|
520 |
+
conflicting terms on documents issued by you are null, void,
|
521 |
+
and invalid. Any amendment or waiver under this Agreement
|
522 |
+
shall be in writing and signed by representatives of both
|
523 |
+
parties.
|
524 |
+
|
525 |
+
|
526 |
+
2. CUDA Toolkit Supplement to Software License Agreement for
|
527 |
+
NVIDIA Software Development Kits
|
528 |
+
------------------------------------------------------------
|
529 |
+
|
530 |
+
The terms in this supplement govern your use of the NVIDIA
|
531 |
+
CUDA Toolkit SDK under the terms of your license agreement
|
532 |
+
(“Agreement”) as modified by this supplement. Capitalized
|
533 |
+
terms used but not defined below have the meaning assigned to
|
534 |
+
them in the Agreement.
|
535 |
+
|
536 |
+
This supplement is an exhibit to the Agreement and is
|
537 |
+
incorporated as an integral part of the Agreement. In the
|
538 |
+
event of conflict between the terms in this supplement and the
|
539 |
+
terms in the Agreement, the terms in this supplement govern.
|
540 |
+
|
541 |
+
|
542 |
+
2.1. License Scope
|
543 |
+
|
544 |
+
The SDK is licensed for you to develop applications only for
|
545 |
+
use in systems with NVIDIA GPUs.
|
546 |
+
|
547 |
+
|
548 |
+
2.2. Distribution
|
549 |
+
|
550 |
+
The portions of the SDK that are distributable under the
|
551 |
+
Agreement are listed in Attachment A.
|
552 |
+
|
553 |
+
|
554 |
+
2.3. Operating Systems
|
555 |
+
|
556 |
+
Those portions of the SDK designed exclusively for use on the
|
557 |
+
Linux or FreeBSD operating systems, or other operating systems
|
558 |
+
derived from the source code to these operating systems, may
|
559 |
+
be copied and redistributed for use in accordance with this
|
560 |
+
Agreement, provided that the object code files are not
|
561 |
+
modified in any way (except for unzipping of compressed
|
562 |
+
files).
|
563 |
+
|
564 |
+
|
565 |
+
2.4. Audio and Video Encoders and Decoders
|
566 |
+
|
567 |
+
You acknowledge and agree that it is your sole responsibility
|
568 |
+
to obtain any additional third-party licenses required to
|
569 |
+
make, have made, use, have used, sell, import, and offer for
|
570 |
+
sale your products or services that include or incorporate any
|
571 |
+
third-party software and content relating to audio and/or
|
572 |
+
video encoders and decoders from, including but not limited
|
573 |
+
to, Microsoft, Thomson, Fraunhofer IIS, Sisvel S.p.A.,
|
574 |
+
MPEG-LA, and Coding Technologies. NVIDIA does not grant to you
|
575 |
+
under this Agreement any necessary patent or other rights with
|
576 |
+
respect to any audio and/or video encoders and decoders.
|
577 |
+
|
578 |
+
|
579 |
+
2.5. Licensing
|
580 |
+
|
581 |
+
If the distribution terms in this Agreement are not suitable
|
582 |
+
for your organization, or for any questions regarding this
|
583 |
+
Agreement, please contact NVIDIA at
|
584 | |
585 |
+
|
586 |
+
|
587 |
+
2.6. Attachment A
|
588 |
+
|
589 |
+
The following CUDA Toolkit files may be distributed with
|
590 |
+
Licensee Applications developed by you, including certain
|
591 |
+
variations of these files that have version number or
|
592 |
+
architecture specific information embedded in the file name -
|
593 |
+
as an example only, for release version 9.0 of the 64-bit
|
594 |
+
Windows software, the file cudart64_90.dll is redistributable.
|
595 |
+
|
596 |
+
Component
|
597 |
+
|
598 |
+
CUDA Runtime
|
599 |
+
|
600 |
+
Windows
|
601 |
+
|
602 |
+
cudart.dll, cudart_static.lib, cudadevrt.lib
|
603 |
+
|
604 |
+
Mac OSX
|
605 |
+
|
606 |
+
libcudart.dylib, libcudart_static.a, libcudadevrt.a
|
607 |
+
|
608 |
+
Linux
|
609 |
+
|
610 |
+
libcudart.so, libcudart_static.a, libcudadevrt.a
|
611 |
+
|
612 |
+
Android
|
613 |
+
|
614 |
+
libcudart.so, libcudart_static.a, libcudadevrt.a
|
615 |
+
|
616 |
+
Component
|
617 |
+
|
618 |
+
CUDA FFT Library
|
619 |
+
|
620 |
+
Windows
|
621 |
+
|
622 |
+
cufft.dll, cufftw.dll, cufft.lib, cufftw.lib
|
623 |
+
|
624 |
+
Mac OSX
|
625 |
+
|
626 |
+
libcufft.dylib, libcufft_static.a, libcufftw.dylib,
|
627 |
+
libcufftw_static.a
|
628 |
+
|
629 |
+
Linux
|
630 |
+
|
631 |
+
libcufft.so, libcufft_static.a, libcufftw.so,
|
632 |
+
libcufftw_static.a
|
633 |
+
|
634 |
+
Android
|
635 |
+
|
636 |
+
libcufft.so, libcufft_static.a, libcufftw.so,
|
637 |
+
libcufftw_static.a
|
638 |
+
|
639 |
+
Component
|
640 |
+
|
641 |
+
CUDA BLAS Library
|
642 |
+
|
643 |
+
Windows
|
644 |
+
|
645 |
+
cublas.dll, cublasLt.dll
|
646 |
+
|
647 |
+
Mac OSX
|
648 |
+
|
649 |
+
libcublas.dylib, libcublasLt.dylib, libcublas_static.a,
|
650 |
+
libcublasLt_static.a
|
651 |
+
|
652 |
+
Linux
|
653 |
+
|
654 |
+
libcublas.so, libcublasLt.so, libcublas_static.a,
|
655 |
+
libcublasLt_static.a
|
656 |
+
|
657 |
+
Android
|
658 |
+
|
659 |
+
libcublas.so, libcublasLt.so, libcublas_static.a,
|
660 |
+
libcublasLt_static.a
|
661 |
+
|
662 |
+
Component
|
663 |
+
|
664 |
+
NVIDIA "Drop-in" BLAS Library
|
665 |
+
|
666 |
+
Windows
|
667 |
+
|
668 |
+
nvblas.dll
|
669 |
+
|
670 |
+
Mac OSX
|
671 |
+
|
672 |
+
libnvblas.dylib
|
673 |
+
|
674 |
+
Linux
|
675 |
+
|
676 |
+
libnvblas.so
|
677 |
+
|
678 |
+
Component
|
679 |
+
|
680 |
+
CUDA Sparse Matrix Library
|
681 |
+
|
682 |
+
Windows
|
683 |
+
|
684 |
+
cusparse.dll, cusparse.lib
|
685 |
+
|
686 |
+
Mac OSX
|
687 |
+
|
688 |
+
libcusparse.dylib, libcusparse_static.a
|
689 |
+
|
690 |
+
Linux
|
691 |
+
|
692 |
+
libcusparse.so, libcusparse_static.a
|
693 |
+
|
694 |
+
Android
|
695 |
+
|
696 |
+
libcusparse.so, libcusparse_static.a
|
697 |
+
|
698 |
+
Component
|
699 |
+
|
700 |
+
CUDA Linear Solver Library
|
701 |
+
|
702 |
+
Windows
|
703 |
+
|
704 |
+
cusolver.dll, cusolver.lib
|
705 |
+
|
706 |
+
Mac OSX
|
707 |
+
|
708 |
+
libcusolver.dylib, libcusolver_static.a
|
709 |
+
|
710 |
+
Linux
|
711 |
+
|
712 |
+
libcusolver.so, libcusolver_static.a
|
713 |
+
|
714 |
+
Android
|
715 |
+
|
716 |
+
libcusolver.so, libcusolver_static.a
|
717 |
+
|
718 |
+
Component
|
719 |
+
|
720 |
+
CUDA Random Number Generation Library
|
721 |
+
|
722 |
+
Windows
|
723 |
+
|
724 |
+
curand.dll, curand.lib
|
725 |
+
|
726 |
+
Mac OSX
|
727 |
+
|
728 |
+
libcurand.dylib, libcurand_static.a
|
729 |
+
|
730 |
+
Linux
|
731 |
+
|
732 |
+
libcurand.so, libcurand_static.a
|
733 |
+
|
734 |
+
Android
|
735 |
+
|
736 |
+
libcurand.so, libcurand_static.a
|
737 |
+
|
738 |
+
Component
|
739 |
+
|
740 |
+
NVIDIA Performance Primitives Library
|
741 |
+
|
742 |
+
Windows
|
743 |
+
|
744 |
+
nppc.dll, nppc.lib, nppial.dll, nppial.lib, nppicc.dll,
|
745 |
+
nppicc.lib, nppicom.dll, nppicom.lib, nppidei.dll,
|
746 |
+
nppidei.lib, nppif.dll, nppif.lib, nppig.dll, nppig.lib,
|
747 |
+
nppim.dll, nppim.lib, nppist.dll, nppist.lib, nppisu.dll,
|
748 |
+
nppisu.lib, nppitc.dll, nppitc.lib, npps.dll, npps.lib
|
749 |
+
|
750 |
+
Mac OSX
|
751 |
+
|
752 |
+
libnppc.dylib, libnppc_static.a, libnppial.dylib,
|
753 |
+
libnppial_static.a, libnppicc.dylib, libnppicc_static.a,
|
754 |
+
libnppicom.dylib, libnppicom_static.a, libnppidei.dylib,
|
755 |
+
libnppidei_static.a, libnppif.dylib, libnppif_static.a,
|
756 |
+
libnppig.dylib, libnppig_static.a, libnppim.dylib,
|
757 |
+
libnppisu_static.a, libnppitc.dylib, libnppitc_static.a,
|
758 |
+
libnpps.dylib, libnpps_static.a
|
759 |
+
|
760 |
+
Linux
|
761 |
+
|
762 |
+
libnppc.so, libnppc_static.a, libnppial.so,
|
763 |
+
libnppial_static.a, libnppicc.so, libnppicc_static.a,
|
764 |
+
libnppicom.so, libnppicom_static.a, libnppidei.so,
|
765 |
+
libnppidei_static.a, libnppif.so, libnppif_static.a
|
766 |
+
libnppig.so, libnppig_static.a, libnppim.so,
|
767 |
+
libnppim_static.a, libnppist.so, libnppist_static.a,
|
768 |
+
libnppisu.so, libnppisu_static.a, libnppitc.so
|
769 |
+
libnppitc_static.a, libnpps.so, libnpps_static.a
|
770 |
+
|
771 |
+
Android
|
772 |
+
|
773 |
+
libnppc.so, libnppc_static.a, libnppial.so,
|
774 |
+
libnppial_static.a, libnppicc.so, libnppicc_static.a,
|
775 |
+
libnppicom.so, libnppicom_static.a, libnppidei.so,
|
776 |
+
libnppidei_static.a, libnppif.so, libnppif_static.a
|
777 |
+
libnppig.so, libnppig_static.a, libnppim.so,
|
778 |
+
libnppim_static.a, libnppist.so, libnppist_static.a,
|
779 |
+
libnppisu.so, libnppisu_static.a, libnppitc.so
|
780 |
+
libnppitc_static.a, libnpps.so, libnpps_static.a
|
781 |
+
|
782 |
+
Component
|
783 |
+
|
784 |
+
NVIDIA JPEG Library
|
785 |
+
|
786 |
+
Windows
|
787 |
+
|
788 |
+
nvjpeg.lib, nvjpeg.dll
|
789 |
+
|
790 |
+
Linux
|
791 |
+
|
792 |
+
libnvjpeg.so, libnvjpeg_static.a
|
793 |
+
|
794 |
+
Component
|
795 |
+
|
796 |
+
Internal common library required for statically linking to
|
797 |
+
cuBLAS, cuSPARSE, cuFFT, cuRAND, nvJPEG and NPP
|
798 |
+
|
799 |
+
Mac OSX
|
800 |
+
|
801 |
+
libculibos.a
|
802 |
+
|
803 |
+
Linux
|
804 |
+
|
805 |
+
libculibos.a
|
806 |
+
|
807 |
+
Component
|
808 |
+
|
809 |
+
NVIDIA Runtime Compilation Library and Header
|
810 |
+
|
811 |
+
All
|
812 |
+
|
813 |
+
nvrtc.h
|
814 |
+
|
815 |
+
Windows
|
816 |
+
|
817 |
+
nvrtc.dll, nvrtc-builtins.dll
|
818 |
+
|
819 |
+
Mac OSX
|
820 |
+
|
821 |
+
libnvrtc.dylib, libnvrtc-builtins.dylib
|
822 |
+
|
823 |
+
Linux
|
824 |
+
|
825 |
+
libnvrtc.so, libnvrtc-builtins.so
|
826 |
+
|
827 |
+
Component
|
828 |
+
|
829 |
+
NVIDIA Optimizing Compiler Library
|
830 |
+
|
831 |
+
Windows
|
832 |
+
|
833 |
+
nvvm.dll
|
834 |
+
|
835 |
+
Mac OSX
|
836 |
+
|
837 |
+
libnvvm.dylib
|
838 |
+
|
839 |
+
Linux
|
840 |
+
|
841 |
+
libnvvm.so
|
842 |
+
|
843 |
+
Component
|
844 |
+
|
845 |
+
NVIDIA Common Device Math Functions Library
|
846 |
+
|
847 |
+
Windows
|
848 |
+
|
849 |
+
libdevice.10.bc
|
850 |
+
|
851 |
+
Mac OSX
|
852 |
+
|
853 |
+
libdevice.10.bc
|
854 |
+
|
855 |
+
Linux
|
856 |
+
|
857 |
+
libdevice.10.bc
|
858 |
+
|
859 |
+
Component
|
860 |
+
|
861 |
+
CUDA Occupancy Calculation Header Library
|
862 |
+
|
863 |
+
All
|
864 |
+
|
865 |
+
cuda_occupancy.h
|
866 |
+
|
867 |
+
Component
|
868 |
+
|
869 |
+
CUDA Half Precision Headers
|
870 |
+
|
871 |
+
All
|
872 |
+
|
873 |
+
cuda_fp16.h, cuda_fp16.hpp
|
874 |
+
|
875 |
+
Component
|
876 |
+
|
877 |
+
CUDA Profiling Tools Interface (CUPTI) Library
|
878 |
+
|
879 |
+
Windows
|
880 |
+
|
881 |
+
cupti.dll
|
882 |
+
|
883 |
+
Mac OSX
|
884 |
+
|
885 |
+
libcupti.dylib
|
886 |
+
|
887 |
+
Linux
|
888 |
+
|
889 |
+
libcupti.so
|
890 |
+
|
891 |
+
Component
|
892 |
+
|
893 |
+
NVIDIA Tools Extension Library
|
894 |
+
|
895 |
+
Windows
|
896 |
+
|
897 |
+
nvToolsExt.dll, nvToolsExt.lib
|
898 |
+
|
899 |
+
Mac OSX
|
900 |
+
|
901 |
+
libnvToolsExt.dylib
|
902 |
+
|
903 |
+
Linux
|
904 |
+
|
905 |
+
libnvToolsExt.so
|
906 |
+
|
907 |
+
Component
|
908 |
+
|
909 |
+
NVIDIA CUDA Driver Libraries
|
910 |
+
|
911 |
+
Linux
|
912 |
+
|
913 |
+
libcuda.so, libnvidia-ptxjitcompiler.so
|
914 |
+
|
915 |
+
Component
|
916 |
+
|
917 |
+
NVIDIA CUDA File IO Libraries and Header
|
918 |
+
|
919 |
+
All
|
920 |
+
|
921 |
+
cufile.h
|
922 |
+
|
923 |
+
Linux
|
924 |
+
|
925 |
+
libcufile.so, libcufile_rdma.so, libcufile_static.a,
|
926 |
+
libcufile_rdma_static.a
|
927 |
+
|
928 |
+
The NVIDIA CUDA Driver Libraries are only distributable in
|
929 |
+
applications that meet this criteria:
|
930 |
+
|
931 |
+
1. The application was developed starting from a NVIDIA CUDA
|
932 |
+
container obtained from Docker Hub or the NVIDIA GPU
|
933 |
+
Cloud, and
|
934 |
+
|
935 |
+
2. The resulting application is packaged as a Docker
|
936 |
+
container and distributed to users on Docker Hub or the
|
937 |
+
NVIDIA GPU Cloud only.
|
938 |
+
|
939 |
+
In addition to the rights above, for parties that are
|
940 |
+
developing software intended solely for use on Jetson
|
941 |
+
development kits or Jetson modules, and running Linux for
|
942 |
+
Tegra software, the following shall apply:
|
943 |
+
|
944 |
+
* The SDK may be distributed in its entirety, as provided by
|
945 |
+
NVIDIA, and without separation of its components, for you
|
946 |
+
and/or your licensees to create software development kits
|
947 |
+
for use only on the Jetson platform and running Linux for
|
948 |
+
Tegra software.
|
949 |
+
|
950 |
+
|
951 |
+
2.7. Attachment B
|
952 |
+
|
953 |
+
|
954 |
+
Additional Licensing Obligations
|
955 |
+
|
956 |
+
The following third party components included in the SOFTWARE
|
957 |
+
are licensed to Licensee pursuant to the following terms and
|
958 |
+
conditions:
|
959 |
+
|
960 |
+
1. Licensee's use of the GDB third party component is
|
961 |
+
subject to the terms and conditions of GNU GPL v3:
|
962 |
+
|
963 |
+
This product includes copyrighted third-party software licensed
|
964 |
+
under the terms of the GNU General Public License v3 ("GPL v3").
|
965 |
+
All third-party software packages are copyright by their respective
|
966 |
+
authors. GPL v3 terms and conditions are hereby incorporated into
|
967 |
+
the Agreement by this reference: http://www.gnu.org/licenses/gpl.txt
|
968 |
+
|
969 |
+
Consistent with these licensing requirements, the software
|
970 |
+
listed below is provided under the terms of the specified
|
971 |
+
open source software licenses. To obtain source code for
|
972 |
+
software provided under licenses that require
|
973 |
+
redistribution of source code, including the GNU General
|
974 |
+
Public License (GPL) and GNU Lesser General Public License
|
975 |
+
(LGPL), contact [email protected]. This offer is
|
976 |
+
valid for a period of three (3) years from the date of the
|
977 |
+
distribution of this product by NVIDIA CORPORATION.
|
978 |
+
|
979 |
+
Component License
|
980 |
+
CUDA-GDB GPL v3
|
981 |
+
|
982 |
+
2. Licensee represents and warrants that any and all third
|
983 |
+
party licensing and/or royalty payment obligations in
|
984 |
+
connection with Licensee's use of the H.264 video codecs
|
985 |
+
are solely the responsibility of Licensee.
|
986 |
+
|
987 |
+
3. Licensee's use of the Thrust library is subject to the
|
988 |
+
terms and conditions of the Apache License Version 2.0.
|
989 |
+
All third-party software packages are copyright by their
|
990 |
+
respective authors. Apache License Version 2.0 terms and
|
991 |
+
conditions are hereby incorporated into the Agreement by
|
992 |
+
this reference.
|
993 |
+
http://www.apache.org/licenses/LICENSE-2.0.html
|
994 |
+
|
995 |
+
In addition, Licensee acknowledges the following notice:
|
996 |
+
Thrust includes source code from the Boost Iterator,
|
997 |
+
Tuple, System, and Random Number libraries.
|
998 |
+
|
999 |
+
Boost Software License - Version 1.0 - August 17th, 2003
|
1000 |
+
. . . .
|
1001 |
+
|
1002 |
+
Permission is hereby granted, free of charge, to any person or
|
1003 |
+
organization obtaining a copy of the software and accompanying
|
1004 |
+
documentation covered by this license (the "Software") to use,
|
1005 |
+
reproduce, display, distribute, execute, and transmit the Software,
|
1006 |
+
and to prepare derivative works of the Software, and to permit
|
1007 |
+
third-parties to whom the Software is furnished to do so, all
|
1008 |
+
subject to the following:
|
1009 |
+
|
1010 |
+
The copyright notices in the Software and this entire statement,
|
1011 |
+
including the above license grant, this restriction and the following
|
1012 |
+
disclaimer, must be included in all copies of the Software, in whole
|
1013 |
+
or in part, and all derivative works of the Software, unless such
|
1014 |
+
copies or derivative works are solely in the form of machine-executable
|
1015 |
+
object code generated by a source language processor.
|
1016 |
+
|
1017 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
1018 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
1019 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
|
1020 |
+
NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
|
1021 |
+
ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR
|
1022 |
+
OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING
|
1023 |
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
1024 |
+
OTHER DEALINGS IN THE SOFTWARE.
|
1025 |
+
|
1026 |
+
4. Licensee's use of the LLVM third party component is
|
1027 |
+
subject to the following terms and conditions:
|
1028 |
+
|
1029 |
+
======================================================
|
1030 |
+
LLVM Release License
|
1031 |
+
======================================================
|
1032 |
+
University of Illinois/NCSA
|
1033 |
+
Open Source License
|
1034 |
+
|
1035 |
+
Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign.
|
1036 |
+
All rights reserved.
|
1037 |
+
|
1038 |
+
Developed by:
|
1039 |
+
|
1040 |
+
LLVM Team
|
1041 |
+
|
1042 |
+
University of Illinois at Urbana-Champaign
|
1043 |
+
|
1044 |
+
http://llvm.org
|
1045 |
+
|
1046 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
1047 |
+
of this software and associated documentation files (the "Software"), to
|
1048 |
+
deal with the Software without restriction, including without limitation the
|
1049 |
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
1050 |
+
sell copies of the Software, and to permit persons to whom the Software is
|
1051 |
+
furnished to do so, subject to the following conditions:
|
1052 |
+
|
1053 |
+
* Redistributions of source code must retain the above copyright notice,
|
1054 |
+
this list of conditions and the following disclaimers.
|
1055 |
+
|
1056 |
+
* Redistributions in binary form must reproduce the above copyright
|
1057 |
+
notice, this list of conditions and the following disclaimers in the
|
1058 |
+
documentation and/or other materials provided with the distribution.
|
1059 |
+
|
1060 |
+
* Neither the names of the LLVM Team, University of Illinois at Urbana-
|
1061 |
+
Champaign, nor the names of its contributors may be used to endorse or
|
1062 |
+
promote products derived from this Software without specific prior
|
1063 |
+
written permission.
|
1064 |
+
|
1065 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
1066 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
1067 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
1068 |
+
THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
1069 |
+
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
1070 |
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
1071 |
+
DEALINGS WITH THE SOFTWARE.
|
1072 |
+
|
1073 |
+
5. Licensee's use of the PCRE third party component is
|
1074 |
+
subject to the following terms and conditions:
|
1075 |
+
|
1076 |
+
------------
|
1077 |
+
PCRE LICENCE
|
1078 |
+
------------
|
1079 |
+
PCRE is a library of functions to support regular expressions whose syntax
|
1080 |
+
and semantics are as close as possible to those of the Perl 5 language.
|
1081 |
+
Release 8 of PCRE is distributed under the terms of the "BSD" licence, as
|
1082 |
+
specified below. The documentation for PCRE, supplied in the "doc"
|
1083 |
+
directory, is distributed under the same terms as the software itself. The
|
1084 |
+
basic library functions are written in C and are freestanding. Also
|
1085 |
+
included in the distribution is a set of C++ wrapper functions, and a just-
|
1086 |
+
in-time compiler that can be used to optimize pattern matching. These are
|
1087 |
+
both optional features that can be omitted when the library is built.
|
1088 |
+
|
1089 |
+
THE BASIC LIBRARY FUNCTIONS
|
1090 |
+
---------------------------
|
1091 |
+
Written by: Philip Hazel
|
1092 |
+
Email local part: ph10
|
1093 |
+
Email domain: cam.ac.uk
|
1094 |
+
University of Cambridge Computing Service,
|
1095 |
+
Cambridge, England.
|
1096 |
+
Copyright (c) 1997-2012 University of Cambridge
|
1097 |
+
All rights reserved.
|
1098 |
+
|
1099 |
+
PCRE JUST-IN-TIME COMPILATION SUPPORT
|
1100 |
+
-------------------------------------
|
1101 |
+
Written by: Zoltan Herczeg
|
1102 |
+
Email local part: hzmester
|
1103 |
+
Emain domain: freemail.hu
|
1104 |
+
Copyright(c) 2010-2012 Zoltan Herczeg
|
1105 |
+
All rights reserved.
|
1106 |
+
|
1107 |
+
STACK-LESS JUST-IN-TIME COMPILER
|
1108 |
+
--------------------------------
|
1109 |
+
Written by: Zoltan Herczeg
|
1110 |
+
Email local part: hzmester
|
1111 |
+
Emain domain: freemail.hu
|
1112 |
+
Copyright(c) 2009-2012 Zoltan Herczeg
|
1113 |
+
All rights reserved.
|
1114 |
+
|
1115 |
+
THE C++ WRAPPER FUNCTIONS
|
1116 |
+
-------------------------
|
1117 |
+
Contributed by: Google Inc.
|
1118 |
+
Copyright (c) 2007-2012, Google Inc.
|
1119 |
+
All rights reserved.
|
1120 |
+
|
1121 |
+
THE "BSD" LICENCE
|
1122 |
+
-----------------
|
1123 |
+
Redistribution and use in source and binary forms, with or without
|
1124 |
+
modification, are permitted provided that the following conditions are met:
|
1125 |
+
|
1126 |
+
* Redistributions of source code must retain the above copyright notice,
|
1127 |
+
this list of conditions and the following disclaimer.
|
1128 |
+
|
1129 |
+
* Redistributions in binary form must reproduce the above copyright
|
1130 |
+
notice, this list of conditions and the following disclaimer in the
|
1131 |
+
documentation and/or other materials provided with the distribution.
|
1132 |
+
|
1133 |
+
* Neither the name of the University of Cambridge nor the name of Google
|
1134 |
+
Inc. nor the names of their contributors may be used to endorse or
|
1135 |
+
promote products derived from this software without specific prior
|
1136 |
+
written permission.
|
1137 |
+
|
1138 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
1139 |
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
1140 |
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
1141 |
+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
1142 |
+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
1143 |
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
1144 |
+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
1145 |
+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
1146 |
+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
1147 |
+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
1148 |
+
POSSIBILITY OF SUCH DAMAGE.
|
1149 |
+
|
1150 |
+
6. Some of the cuBLAS library routines were written by or
|
1151 |
+
derived from code written by Vasily Volkov and are subject
|
1152 |
+
to the Modified Berkeley Software Distribution License as
|
1153 |
+
follows:
|
1154 |
+
|
1155 |
+
Copyright (c) 2007-2009, Regents of the University of California
|
1156 |
+
|
1157 |
+
All rights reserved.
|
1158 |
+
|
1159 |
+
Redistribution and use in source and binary forms, with or without
|
1160 |
+
modification, are permitted provided that the following conditions are
|
1161 |
+
met:
|
1162 |
+
* Redistributions of source code must retain the above copyright
|
1163 |
+
notice, this list of conditions and the following disclaimer.
|
1164 |
+
* Redistributions in binary form must reproduce the above
|
1165 |
+
copyright notice, this list of conditions and the following
|
1166 |
+
disclaimer in the documentation and/or other materials provided
|
1167 |
+
with the distribution.
|
1168 |
+
* Neither the name of the University of California, Berkeley nor
|
1169 |
+
the names of its contributors may be used to endorse or promote
|
1170 |
+
products derived from this software without specific prior
|
1171 |
+
written permission.
|
1172 |
+
|
1173 |
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
1174 |
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
1175 |
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
1176 |
+
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
1177 |
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
1178 |
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
1179 |
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
1180 |
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
1181 |
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
1182 |
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
1183 |
+
POSSIBILITY OF SUCH DAMAGE.
|
1184 |
+
|
1185 |
+
7. Some of the cuBLAS library routines were written by or
|
1186 |
+
derived from code written by Davide Barbieri and are
|
1187 |
+
subject to the Modified Berkeley Software Distribution
|
1188 |
+
License as follows:
|
1189 |
+
|
1190 |
+
Copyright (c) 2008-2009 Davide Barbieri @ University of Rome Tor Vergata.
|
1191 |
+
|
1192 |
+
All rights reserved.
|
1193 |
+
|
1194 |
+
Redistribution and use in source and binary forms, with or without
|
1195 |
+
modification, are permitted provided that the following conditions are
|
1196 |
+
met:
|
1197 |
+
* Redistributions of source code must retain the above copyright
|
1198 |
+
notice, this list of conditions and the following disclaimer.
|
1199 |
+
* Redistributions in binary form must reproduce the above
|
1200 |
+
copyright notice, this list of conditions and the following
|
1201 |
+
disclaimer in the documentation and/or other materials provided
|
1202 |
+
with the distribution.
|
1203 |
+
* The name of the author may not be used to endorse or promote
|
1204 |
+
products derived from this software without specific prior
|
1205 |
+
written permission.
|
1206 |
+
|
1207 |
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
1208 |
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
1209 |
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
1210 |
+
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
1211 |
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
1212 |
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
1213 |
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
1214 |
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
1215 |
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
1216 |
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
1217 |
+
POSSIBILITY OF SUCH DAMAGE.
|
1218 |
+
|
1219 |
+
8. Some of the cuBLAS library routines were derived from
|
1220 |
+
code developed by the University of Tennessee and are
|
1221 |
+
subject to the Modified Berkeley Software Distribution
|
1222 |
+
License as follows:
|
1223 |
+
|
1224 |
+
Copyright (c) 2010 The University of Tennessee.
|
1225 |
+
|
1226 |
+
All rights reserved.
|
1227 |
+
|
1228 |
+
Redistribution and use in source and binary forms, with or without
|
1229 |
+
modification, are permitted provided that the following conditions are
|
1230 |
+
met:
|
1231 |
+
* Redistributions of source code must retain the above copyright
|
1232 |
+
notice, this list of conditions and the following disclaimer.
|
1233 |
+
* Redistributions in binary form must reproduce the above
|
1234 |
+
copyright notice, this list of conditions and the following
|
1235 |
+
disclaimer listed in this license in the documentation and/or
|
1236 |
+
other materials provided with the distribution.
|
1237 |
+
* Neither the name of the copyright holders nor the names of its
|
1238 |
+
contributors may be used to endorse or promote products derived
|
1239 |
+
from this software without specific prior written permission.
|
1240 |
+
|
1241 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1242 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1243 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
1244 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
1245 |
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
1246 |
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
1247 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
1248 |
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
1249 |
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
1250 |
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
1251 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1252 |
+
|
1253 |
+
9. Some of the cuBLAS library routines were written by or
|
1254 |
+
derived from code written by Jonathan Hogg and are subject
|
1255 |
+
to the Modified Berkeley Software Distribution License as
|
1256 |
+
follows:
|
1257 |
+
|
1258 |
+
Copyright (c) 2012, The Science and Technology Facilities Council (STFC).
|
1259 |
+
|
1260 |
+
All rights reserved.
|
1261 |
+
|
1262 |
+
Redistribution and use in source and binary forms, with or without
|
1263 |
+
modification, are permitted provided that the following conditions are
|
1264 |
+
met:
|
1265 |
+
* Redistributions of source code must retain the above copyright
|
1266 |
+
notice, this list of conditions and the following disclaimer.
|
1267 |
+
* Redistributions in binary form must reproduce the above
|
1268 |
+
copyright notice, this list of conditions and the following
|
1269 |
+
disclaimer in the documentation and/or other materials provided
|
1270 |
+
with the distribution.
|
1271 |
+
* Neither the name of the STFC nor the names of its contributors
|
1272 |
+
may be used to endorse or promote products derived from this
|
1273 |
+
software without specific prior written permission.
|
1274 |
+
|
1275 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1276 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1277 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
1278 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE STFC BE
|
1279 |
+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
1280 |
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
1281 |
+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
1282 |
+
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
1283 |
+
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
1284 |
+
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
1285 |
+
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1286 |
+
|
1287 |
+
10. Some of the cuBLAS library routines were written by or
|
1288 |
+
derived from code written by Ahmad M. Abdelfattah, David
|
1289 |
+
Keyes, and Hatem Ltaief, and are subject to the Apache
|
1290 |
+
License, Version 2.0, as follows:
|
1291 |
+
|
1292 |
+
-- (C) Copyright 2013 King Abdullah University of Science and Technology
|
1293 |
+
Authors:
|
1294 |
+
Ahmad Abdelfattah ([email protected])
|
1295 |
+
David Keyes ([email protected])
|
1296 |
+
Hatem Ltaief ([email protected])
|
1297 |
+
|
1298 |
+
Redistribution and use in source and binary forms, with or without
|
1299 |
+
modification, are permitted provided that the following conditions
|
1300 |
+
are met:
|
1301 |
+
|
1302 |
+
* Redistributions of source code must retain the above copyright
|
1303 |
+
notice, this list of conditions and the following disclaimer.
|
1304 |
+
* Redistributions in binary form must reproduce the above copyright
|
1305 |
+
notice, this list of conditions and the following disclaimer in the
|
1306 |
+
documentation and/or other materials provided with the distribution.
|
1307 |
+
* Neither the name of the King Abdullah University of Science and
|
1308 |
+
Technology nor the names of its contributors may be used to endorse
|
1309 |
+
or promote products derived from this software without specific prior
|
1310 |
+
written permission.
|
1311 |
+
|
1312 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1313 |
+
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1314 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
1315 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
1316 |
+
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
1317 |
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
1318 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
1319 |
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
1320 |
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
1321 |
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
1322 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
|
1323 |
+
|
1324 |
+
11. Some of the cuSPARSE library routines were written by or
|
1325 |
+
derived from code written by Li-Wen Chang and are subject
|
1326 |
+
to the NCSA Open Source License as follows:
|
1327 |
+
|
1328 |
+
Copyright (c) 2012, University of Illinois.
|
1329 |
+
|
1330 |
+
All rights reserved.
|
1331 |
+
|
1332 |
+
Developed by: IMPACT Group, University of Illinois, http://impact.crhc.illinois.edu
|
1333 |
+
|
1334 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
1335 |
+
a copy of this software and associated documentation files (the
|
1336 |
+
"Software"), to deal with the Software without restriction, including
|
1337 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
1338 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
1339 |
+
permit persons to whom the Software is furnished to do so, subject to
|
1340 |
+
the following conditions:
|
1341 |
+
* Redistributions of source code must retain the above copyright
|
1342 |
+
notice, this list of conditions and the following disclaimer.
|
1343 |
+
* Redistributions in binary form must reproduce the above
|
1344 |
+
copyright notice, this list of conditions and the following
|
1345 |
+
disclaimers in the documentation and/or other materials provided
|
1346 |
+
with the distribution.
|
1347 |
+
* Neither the names of IMPACT Group, University of Illinois, nor
|
1348 |
+
the names of its contributors may be used to endorse or promote
|
1349 |
+
products derived from this Software without specific prior
|
1350 |
+
written permission.
|
1351 |
+
|
1352 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
1353 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
1354 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
1355 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT
|
1356 |
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
1357 |
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
1358 |
+
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
1359 |
+
SOFTWARE.
|
1360 |
+
|
1361 |
+
12. Some of the cuRAND library routines were written by or
|
1362 |
+
derived from code written by Mutsuo Saito and Makoto
|
1363 |
+
Matsumoto and are subject to the following license:
|
1364 |
+
|
1365 |
+
Copyright (c) 2009, 2010 Mutsuo Saito, Makoto Matsumoto and Hiroshima
|
1366 |
+
University. All rights reserved.
|
1367 |
+
|
1368 |
+
Copyright (c) 2011 Mutsuo Saito, Makoto Matsumoto, Hiroshima
|
1369 |
+
University and University of Tokyo. All rights reserved.
|
1370 |
+
|
1371 |
+
Redistribution and use in source and binary forms, with or without
|
1372 |
+
modification, are permitted provided that the following conditions are
|
1373 |
+
met:
|
1374 |
+
* Redistributions of source code must retain the above copyright
|
1375 |
+
notice, this list of conditions and the following disclaimer.
|
1376 |
+
* Redistributions in binary form must reproduce the above
|
1377 |
+
copyright notice, this list of conditions and the following
|
1378 |
+
disclaimer in the documentation and/or other materials provided
|
1379 |
+
with the distribution.
|
1380 |
+
* Neither the name of the Hiroshima University nor the names of
|
1381 |
+
its contributors may be used to endorse or promote products
|
1382 |
+
derived from this software without specific prior written
|
1383 |
+
permission.
|
1384 |
+
|
1385 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1386 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1387 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
1388 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
1389 |
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
1390 |
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
1391 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
1392 |
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
1393 |
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
1394 |
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
1395 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1396 |
+
|
1397 |
+
13. Some of the cuRAND library routines were derived from
|
1398 |
+
code developed by D. E. Shaw Research and are subject to
|
1399 |
+
the following license:
|
1400 |
+
|
1401 |
+
Copyright 2010-2011, D. E. Shaw Research.
|
1402 |
+
|
1403 |
+
All rights reserved.
|
1404 |
+
|
1405 |
+
Redistribution and use in source and binary forms, with or without
|
1406 |
+
modification, are permitted provided that the following conditions are
|
1407 |
+
met:
|
1408 |
+
* Redistributions of source code must retain the above copyright
|
1409 |
+
notice, this list of conditions, and the following disclaimer.
|
1410 |
+
* Redistributions in binary form must reproduce the above
|
1411 |
+
copyright notice, this list of conditions, and the following
|
1412 |
+
disclaimer in the documentation and/or other materials provided
|
1413 |
+
with the distribution.
|
1414 |
+
* Neither the name of D. E. Shaw Research nor the names of its
|
1415 |
+
contributors may be used to endorse or promote products derived
|
1416 |
+
from this software without specific prior written permission.
|
1417 |
+
|
1418 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1419 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1420 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
1421 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
1422 |
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
1423 |
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
1424 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
1425 |
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
1426 |
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
1427 |
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
1428 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1429 |
+
|
1430 |
+
14. Some of the Math library routines were written by or
|
1431 |
+
derived from code developed by Norbert Juffa and are
|
1432 |
+
subject to the following license:
|
1433 |
+
|
1434 |
+
Copyright (c) 2015-2017, Norbert Juffa
|
1435 |
+
All rights reserved.
|
1436 |
+
|
1437 |
+
Redistribution and use in source and binary forms, with or without
|
1438 |
+
modification, are permitted provided that the following conditions
|
1439 |
+
are met:
|
1440 |
+
|
1441 |
+
1. Redistributions of source code must retain the above copyright
|
1442 |
+
notice, this list of conditions and the following disclaimer.
|
1443 |
+
|
1444 |
+
2. Redistributions in binary form must reproduce the above copyright
|
1445 |
+
notice, this list of conditions and the following disclaimer in the
|
1446 |
+
documentation and/or other materials provided with the distribution.
|
1447 |
+
|
1448 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1449 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1450 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
1451 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
1452 |
+
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
1453 |
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
1454 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
1455 |
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
1456 |
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
1457 |
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
1458 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1459 |
+
|
1460 |
+
15. Licensee's use of the lz4 third party component is
|
1461 |
+
subject to the following terms and conditions:
|
1462 |
+
|
1463 |
+
Copyright (C) 2011-2013, Yann Collet.
|
1464 |
+
BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
|
1465 |
+
|
1466 |
+
Redistribution and use in source and binary forms, with or without
|
1467 |
+
modification, are permitted provided that the following conditions are
|
1468 |
+
met:
|
1469 |
+
|
1470 |
+
* Redistributions of source code must retain the above copyright
|
1471 |
+
notice, this list of conditions and the following disclaimer.
|
1472 |
+
* Redistributions in binary form must reproduce the above
|
1473 |
+
copyright notice, this list of conditions and the following disclaimer
|
1474 |
+
in the documentation and/or other materials provided with the
|
1475 |
+
distribution.
|
1476 |
+
|
1477 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1478 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1479 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
1480 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
1481 |
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
1482 |
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
1483 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
1484 |
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
1485 |
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
1486 |
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
1487 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1488 |
+
|
1489 |
+
16. The NPP library uses code from the Boost Math Toolkit,
|
1490 |
+
and is subject to the following license:
|
1491 |
+
|
1492 |
+
Boost Software License - Version 1.0 - August 17th, 2003
|
1493 |
+
. . . .
|
1494 |
+
|
1495 |
+
Permission is hereby granted, free of charge, to any person or
|
1496 |
+
organization obtaining a copy of the software and accompanying
|
1497 |
+
documentation covered by this license (the "Software") to use,
|
1498 |
+
reproduce, display, distribute, execute, and transmit the Software,
|
1499 |
+
and to prepare derivative works of the Software, and to permit
|
1500 |
+
third-parties to whom the Software is furnished to do so, all
|
1501 |
+
subject to the following:
|
1502 |
+
|
1503 |
+
The copyright notices in the Software and this entire statement,
|
1504 |
+
including the above license grant, this restriction and the following
|
1505 |
+
disclaimer, must be included in all copies of the Software, in whole
|
1506 |
+
or in part, and all derivative works of the Software, unless such
|
1507 |
+
copies or derivative works are solely in the form of machine-executable
|
1508 |
+
object code generated by a source language processor.
|
1509 |
+
|
1510 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
1511 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
1512 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
|
1513 |
+
NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
|
1514 |
+
ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR
|
1515 |
+
OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING
|
1516 |
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
1517 |
+
OTHER DEALINGS IN THE SOFTWARE.
|
1518 |
+
|
1519 |
+
17. Portions of the Nsight Eclipse Edition is subject to the
|
1520 |
+
following license:
|
1521 |
+
|
1522 |
+
The Eclipse Foundation makes available all content in this plug-in
|
1523 |
+
("Content"). Unless otherwise indicated below, the Content is provided
|
1524 |
+
to you under the terms and conditions of the Eclipse Public License
|
1525 |
+
Version 1.0 ("EPL"). A copy of the EPL is available at http://
|
1526 |
+
www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program"
|
1527 |
+
will mean the Content.
|
1528 |
+
|
1529 |
+
If you did not receive this Content directly from the Eclipse
|
1530 |
+
Foundation, the Content is being redistributed by another party
|
1531 |
+
("Redistributor") and different terms and conditions may apply to your
|
1532 |
+
use of any object code in the Content. Check the Redistributor's
|
1533 |
+
license that was provided with the Content. If no such license exists,
|
1534 |
+
contact the Redistributor. Unless otherwise indicated below, the terms
|
1535 |
+
and conditions of the EPL still apply to any source code in the
|
1536 |
+
Content and such source code may be obtained at http://www.eclipse.org.
|
1537 |
+
|
1538 |
+
18. Some of the cuBLAS library routines uses code from
|
1539 |
+
OpenAI, which is subject to the following license:
|
1540 |
+
|
1541 |
+
License URL
|
1542 |
+
https://github.com/openai/openai-gemm/blob/master/LICENSE
|
1543 |
+
|
1544 |
+
License Text
|
1545 |
+
The MIT License
|
1546 |
+
|
1547 |
+
Copyright (c) 2016 OpenAI (http://openai.com), 2016 Google Inc.
|
1548 |
+
|
1549 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
1550 |
+
of this software and associated documentation files (the "Software"), to deal
|
1551 |
+
in the Software without restriction, including without limitation the rights
|
1552 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
1553 |
+
copies of the Software, and to permit persons to whom the Software is
|
1554 |
+
furnished to do so, subject to the following conditions:
|
1555 |
+
|
1556 |
+
The above copyright notice and this permission notice shall be included in
|
1557 |
+
all copies or substantial portions of the Software.
|
1558 |
+
|
1559 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
1560 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
1561 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
1562 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
1563 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
1564 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
1565 |
+
THE SOFTWARE.
|
1566 |
+
|
1567 |
+
19. Licensee's use of the Visual Studio Setup Configuration
|
1568 |
+
Samples is subject to the following license:
|
1569 |
+
|
1570 |
+
The MIT License (MIT)
|
1571 |
+
Copyright (C) Microsoft Corporation. All rights reserved.
|
1572 |
+
|
1573 |
+
Permission is hereby granted, free of charge, to any person
|
1574 |
+
obtaining a copy of this software and associated documentation
|
1575 |
+
files (the "Software"), to deal in the Software without restriction,
|
1576 |
+
including without limitation the rights to use, copy, modify, merge,
|
1577 |
+
publish, distribute, sublicense, and/or sell copies of the Software,
|
1578 |
+
and to permit persons to whom the Software is furnished to do so,
|
1579 |
+
subject to the following conditions:
|
1580 |
+
|
1581 |
+
The above copyright notice and this permission notice shall be included
|
1582 |
+
in all copies or substantial portions of the Software.
|
1583 |
+
|
1584 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
1585 |
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
1586 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
1587 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
1588 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
1589 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1590 |
+
|
1591 |
+
20. Licensee's use of linmath.h header for CPU functions for
|
1592 |
+
GL vector/matrix operations from lunarG is subject to the
|
1593 |
+
Apache License Version 2.0.
|
1594 |
+
|
1595 |
+
21. The DX12-CUDA sample uses the d3dx12.h header, which is
|
1596 |
+
subject to the MIT license .
|
1597 |
+
|
1598 |
+
-----------------
|
voicevox_nemo_engine/docs/licenses/cudnn/LICENSE
ADDED
@@ -0,0 +1,305 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
LICENSE AGREEMENT FOR NVIDIA SOFTWARE DEVELOPMENT KITS
|
2 |
+
|
3 |
+
This license agreement, including exhibits attached ("Agreement”) is a legal agreement between you and NVIDIA Corporation ("NVIDIA") and governs your use of a NVIDIA software development kit (“SDK”).
|
4 |
+
|
5 |
+
Each SDK has its own set of software and materials, but here is a description of the types of items that may be included in a SDK: source code, header files, APIs, data sets and assets (examples include images, textures, models, scenes, videos, native API input/output files), binary software, sample code, libraries, utility programs, programming code and documentation.
|
6 |
+
|
7 |
+
This Agreement can be accepted only by an adult of legal age of majority in the country in which the SDK is used.
|
8 |
+
|
9 |
+
If you are entering into this Agreement on behalf of a company or other legal entity, you represent that you have the legal authority to bind the entity to this Agreement, in which case “you” will mean the entity you represent.
|
10 |
+
|
11 |
+
If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the terms and conditions of this Agreement, do not download, install or use the SDK.
|
12 |
+
|
13 |
+
You agree to use the SDK only for purposes that are permitted by (a) this Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions.
|
14 |
+
|
15 |
+
Chapter 1. License.
|
16 |
+
|
17 |
+
1.1. Grant
|
18 |
+
|
19 |
+
Subject to the terms of this Agreement, NVIDIA hereby grants you a non-exclusive, non-transferable license, without the right to sublicense (except as expressly provided in this Agreement) to:
|
20 |
+
|
21 |
+
(i) Install and use the SDK,
|
22 |
+
|
23 |
+
(ii) Modify and create derivative works of sample source code delivered in the SDK, and
|
24 |
+
|
25 |
+
(iii) Distribute those portions of the SDK that are identified in this Agreement as distributable, as incorporated in object code format into a software application that meets the distribution requirements indicated in this Agreement.
|
26 |
+
|
27 |
+
1.2. Distribution Requirements
|
28 |
+
|
29 |
+
These are the distribution requirements for you to exercise the distribution grant:
|
30 |
+
|
31 |
+
(i) Your application must have material additional functionality, beyond the included portions of the SDK.
|
32 |
+
|
33 |
+
(ii) The distributable portions of the SDK shall only be accessed by your application.
|
34 |
+
|
35 |
+
(iii) The following notice shall be included in modifications and derivative works of sample source code distributed: “This software contains source code provided by NVIDIA Corporation.”
|
36 |
+
|
37 |
+
(iv) Unless a developer tool is identified in this Agreement as distributable, it is delivered for your internal use only.
|
38 |
+
|
39 |
+
(v) The terms under which you distribute your application must be consistent with the terms of this Agreement, including (without limitation) terms relating to the license grant and license restrictions and protection of NVIDIA’s intellectual property rights. Additionally, you agree that you will protect the privacy, security and legal rights of your application users.
|
40 |
+
|
41 |
+
(vi) You agree to notify NVIDIA in writing of any known or suspected distribution or use of the SDK not in compliance with the requirements of this Agreement, and to enforce the terms of your agreements with respect to distributed SDK.
|
42 |
+
|
43 |
+
1.3 Authorized Users
|
44 |
+
|
45 |
+
You may allow employees and contractors of your entity or of your subsidiary(ies) to access and use the SDK from your secure network to perform work on your behalf.
|
46 |
+
|
47 |
+
If you are an academic institution you may allow users enrolled or employed by the academic institution to access and use the SDK from your secure network.
|
48 |
+
|
49 |
+
You are responsible for the compliance with the terms of this Agreement by your authorized users. If you become aware that your authorized users didn’t follow the terms of this Agreement, you agree to take reasonable steps to resolve the non-compliance and prevent new occurrences.
|
50 |
+
|
51 |
+
1.4 Pre-Release SDK
|
52 |
+
|
53 |
+
The SDK versions identified as alpha, beta, preview or otherwise as pre-release, may not be fully functional, may contain errors or design flaws, and may have reduced or different security, privacy, accessibility, availability, and reliability standards relative to commercial versions of NVIDIA software and materials. Use of a pre-release SDK may result in unexpected results, loss of data, project delays or other unpredictable damage or loss.
|
54 |
+
|
55 |
+
You may use a pre-release SDK at your own risk, understanding that pre-release SDKs are not intended for use in production or business-critical systems.
|
56 |
+
|
57 |
+
NVIDIA may choose not to make available a commercial version of any pre-release SDK. NVIDIA may also choose to abandon development and terminate the availability of a pre-release SDK at any time without liability.
|
58 |
+
|
59 |
+
1.5 Updates
|
60 |
+
|
61 |
+
NVIDIA may, at its option, make available patches, workarounds or other updates to this SDK. Unless the updates are provided with their separate governing terms, they are deemed part of the SDK licensed to you as provided in this Agreement.
|
62 |
+
|
63 |
+
You agree that the form and content of the SDK that NVIDIA provides may change without prior notice to you. While NVIDIA generally maintains compatibility between versions, NVIDIA may in some cases make changes that introduce incompatibilities in future versions of the SDK.
|
64 |
+
|
65 |
+
1.6 Components Under Other Licenses
|
66 |
+
|
67 |
+
The SDK may come bundled with, or otherwise include or be distributed with, NVIDIA or third party software licensed with separate legal notices or terms as may be described in proprietary notices accompanying the SDK. If and to the extent there is a conflict between the terms in this Agreement and the license terms associated with the component, the license terms associated with the components control only to the extent necessary to resolve the conflict.
|
68 |
+
|
69 |
+
1.7 Reservation of Rights
|
70 |
+
|
71 |
+
NVIDIA reserves all rights, title and interest in and to the SDK not expressly granted to you under this Agreement.
|
72 |
+
|
73 |
+
Chapter 2. Limitations.
|
74 |
+
|
75 |
+
The following license limitations apply to your use of the SDK:
|
76 |
+
|
77 |
+
2.1 You may not reverse engineer, decompile or disassemble, or remove copyright or other proprietary notices from any portion of the SDK or copies of the SDK.
|
78 |
+
|
79 |
+
2.2 Except as expressly provided in this Agreement, you may not copy, sell, rent, sublicense, transfer, distribute, modify, or create derivative works of any portion of the SDK.
|
80 |
+
|
81 |
+
2.3 Unless you have an agreement with NVIDIA for this purpose, you may not indicate that an application created with the SDK is sponsored or endorsed by NVIDIA.
|
82 |
+
|
83 |
+
2.4 You may not bypass, disable, or circumvent any encryption, security, digital rights management or authentication mechanism in the SDK.
|
84 |
+
|
85 |
+
2.5 You may not use the SDK in any manner that would cause it to become subject to an open source software license. As examples, licenses that require as a condition of use, modification, and/or distribution that the SDK be (i) disclosed or distributed in source code form; (ii) licensed for the purpose of making derivative works; or (iii) redistributable at no charge.
|
86 |
+
|
87 |
+
2.6 You acknowledge that the SDK as delivered is not tested or certified by NVIDIA for use in connection with the design, construction, maintenance, and/or operation of any system where the use or failure of such system could result in a situation that threatens the safety of human life or results in catastrophic damages (each, a “Critical Application”). Examples of Critical Applications include use in avionics, navigation, autonomous vehicle applications, ai solutions for automotive products, military, medical, life support or other life critical applications. NVIDIA shall not be liable to you or any third party, in whole or in part, for any claims or damages arising from such uses. You are solely responsible for ensuring that any product or service developed with the SDK as a whole includes sufficient features to comply with all applicable legal and regulatory standards and requirements.
|
88 |
+
|
89 |
+
2.7 You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of or related to products or services that use the SDK in or for Critical Applications, and for use of the SDK, outside of the scope of this Agreement or not in compliance with its terms.
|
90 |
+
|
91 |
+
Chapter 3. Ownership.
|
92 |
+
|
93 |
+
3.1 NVIDIA or its licensors hold all rights, title and interest in and to the SDK and its modifications and derivative works, including their respective intellectual property rights, subject to your rights under Section 3.2. This SDK may include software and materials from NVIDIA’s licensors, and these licensors are intended third party beneficiaries that may enforce this Agreement with respect to their intellectual property rights.
|
94 |
+
|
95 |
+
3.2 You hold all rights, title and interest in and to your applications and your derivative works of the sample source code delivered in the SDK, including their respective intellectual property rights, subject to NVIDIA’s rights under section 3.1.
|
96 |
+
|
97 |
+
3.3 You may, but don’t have to, provide to NVIDIA suggestions, feature requests or other feedback regarding the SDK, including possible enhancements or modifications to the SDK. For any feedback that you voluntarily provide, you hereby grant NVIDIA and its affiliates a perpetual, non-exclusive, worldwide, irrevocable license to use, reproduce, modify, license, sublicense (through multiple tiers of sublicensees), and distribute (through multiple tiers of distributors) it without the payment of any royalties or fees to you. NVIDIA will use feedback at its choice. NVIDIA is constantly looking for ways to improve its products, so you may send feedback to NVIDIA through the developer portal at https://developer.nvidia.com.
|
98 |
+
|
99 |
+
Chapter 4. No Warranties.
|
100 |
+
|
101 |
+
THE SDK IS PROVIDED BY NVIDIA “AS IS” AND “WITH ALL FAULTS.” TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS AFFILIATES EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND OR NATURE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, OR THE ABSENCE OF ANY DEFECTS THEREIN, WHETHER LATENT OR PATENT. NO WARRANTY IS MADE ON THE BASIS OF TRADE USAGE, COURSE OF DEALING OR COURSE OF TRADE.
|
102 |
+
|
103 |
+
Chapter 5. Limitations of Liability.
|
104 |
+
|
105 |
+
TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT OR THE USE OR PERFORMANCE OF THE SDK, WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF LIABILITY. IN NO EVENT WILL NVIDIA’S AND ITS AFFILIATES TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS AGREEMENT EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS LIMIT.
|
106 |
+
|
107 |
+
These exclusions and limitations of liability shall apply regardless if NVIDIA or its affiliates have been advised of the possibility of such damages, and regardless of whether a remedy fails its essential purpose. These exclusions and limitations of liability form an essential basis of the bargain between the parties, and, absent any of these exclusions or limitations of liability, the provisions of this Agreement, including, without limitation, the economic terms, would be substantially different.
|
108 |
+
|
109 |
+
Chapter 6. Termination.
|
110 |
+
|
111 |
+
6.1 This Agreement will continue to apply until terminated by either you or NVIDIA as described below.
|
112 |
+
|
113 |
+
6.2 If you want to terminate this Agreement, you may do so by stopping to use the SDK.
|
114 |
+
|
115 |
+
6.3 NVIDIA may, at any time, terminate this Agreement if: (i) you fail to comply with any term of this Agreement and the non-compliance is not fixed within thirty (30) days following notice from NVIDIA (or immediately if you violate NVIDIA’s intellectual property rights); (ii) you commence or participate in any legal proceeding against NVIDIA with respect to the SDK; or (iii) NVIDIA decides to no longer provide the SDK in a country or, in NVIDIA’s sole discretion, the continued use of it is no longer commercially viable.
|
116 |
+
|
117 |
+
6.4 Upon any termination of this Agreement, you agree to promptly discontinue use of the SDK and destroy all copies in your possession or control. Your prior distributions in accordance with this Agreement are not affected by the termination of this Agreement. Upon written request, you will certify in writing that you have complied with your commitments under this section. Upon any termination of this Agreement all provisions survive except for the licenses granted to you.
|
118 |
+
|
119 |
+
Chapter 7. General.
|
120 |
+
|
121 |
+
If you wish to assign this Agreement or your rights and obligations, including by merger, consolidation, dissolution or operation of law, contact NVIDIA to ask for permission. Any attempted assignment not approved by NVIDIA in writing shall be void and of no effect. NVIDIA may assign, delegate or transfer this Agreement and its rights and obligations, and if to a non-affiliate you will be notified.
|
122 |
+
|
123 |
+
You agree to cooperate with NVIDIA and provide reasonably requested information to verify your compliance with this Agreement.
|
124 |
+
|
125 |
+
This Agreement will be governed in all respects by the laws of the United States and of the State of Delaware as those laws are applied to contracts entered into and performed entirely within Delaware by Delaware residents, without regard to the conflicts of laws principles. The United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed. You agree to all terms of this Agreement in the English language.
|
126 |
+
|
127 |
+
The state or federal courts residing in Santa Clara County, California shall have exclusive jurisdiction over any dispute or claim arising out of this Agreement. Notwithstanding this, you agree that NVIDIA shall still be allowed to apply for injunctive remedies or an equivalent type of urgent legal relief in any jurisdiction.
|
128 |
+
|
129 |
+
If any court of competent jurisdiction determines that any provision of this Agreement is illegal, invalid or unenforceable, such provision will be construed as limited to the extent necessary to be consistent with and fully enforceable under the law and the remaining provisions will remain in full force and effect. Unless otherwise specified, remedies are cumulative.
|
130 |
+
|
131 |
+
Each party acknowledges and agrees that the other is an independent contractor in the performance of this Agreement
|
132 |
+
|
133 |
+
The SDK has been developed entirely at private expense and is “commercial items” consisting of “commercial computer software” and “commercial computer software documentation” provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions in this Agreement pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (b)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/ manufacturer is NVIDIA, 2788 San Tomas Expressway, Santa Clara, CA 95051
|
134 |
+
|
135 |
+
The SDK is subject to United States export laws and regulations. You agree that you will not ship, transfer or export the SDK into any country, or use the SDK in any manner, prohibited by the United States Bureau of Industry and Security or economic sanctions regulations administered by the U.S. Department of Treasury’s Office of Foreign Assets Control (OFAC), or any applicable export laws, restrictions or regulations. These laws include restrictions on destinations, end users and end use. By accepting this Agreement, you confirm that you are not a resident or citizen of any country currently embargoed by the U.S. and that you are not otherwise prohibited from receiving the SDK
|
136 |
+
|
137 |
+
Any notice delivered by NVIDIA to you under this Agreement will be delivered via mail, email or fax. You agree that any notices that NVIDIA sends you electronically will satisfy any legal communication requirements. Please direct your legal notices or other correspondence to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, United States of America, Attention: Legal Department.
|
138 |
+
|
139 |
+
This Agreement and any exhibits incorporated into this Agreement constitute the entire agreement of the parties with respect to the subject matter of this Agreement and supersede all prior negotiations or documentation exchanged between the parties relating to this SDK license. Any additional and/or conflicting terms on documents issued by you are null, void, and invalid. Any amendment or waiver under this Agreement shall be in writing and signed by representatives of both parties.
|
140 |
+
|
141 |
+
(v. February 22, 2022)
|
142 |
+
|
143 |
+
Chapter 8. cuDNN SUPPLEMENT TO SOFTWARE LICENSE AGREEMENT FOR NVIDIA SOFTWARE DEVELOPMENT KITS
|
144 |
+
|
145 |
+
The terms in this supplement govern your use of the NVIDIA cuDNN SDK under the terms of your license agreement (“Agreement”) as modified by this supplement. Capitalized terms used but not defined below have the meaning assigned to them in the Agreement.
|
146 |
+
|
147 |
+
This supplement is an exhibit to the Agreement and is incorporated as an integral part of the Agreement. In the event of conflict between the terms in this supplement and the terms in the Agreement, the terms in this supplement govern.
|
148 |
+
|
149 |
+
4.1 License Scope. The SDK is licensed for you to develop applications only for use in systems with NVIDIA GPUs.
|
150 |
+
|
151 |
+
2. Distribution. The following portions of the SDK are distributable under the Agreement: the runtime files .so and .dll.
|
152 |
+
|
153 |
+
In addition to the rights above, for parties that are developing software intended solely for use on Jetson development kits or Jetson modules and running Linux for Tegra software the following shall apply: the SDK may be distributed in its entirety, as provided by NVIDIA and without separation of its components, for you and/or your licensees to create software development kits for use only on the Jetson platform and running Linux for Tegra software.
|
154 |
+
|
155 |
+
3. Licensing. If the distribution terms in this Agreement are not suitable for your organization, or for any questions regarding this Agreement, please contact NVIDIA at [email protected]
|
156 |
+
|
157 |
+
(v. February 22, 2022)
|
158 |
+
|
159 |
+
Notice
|
160 |
+
|
161 |
+
This document is provided for information purposes only and shall not be regarded as a warranty of a certain functionality, condition, or quality of a product. NVIDIA Corporation (“NVIDIA”) makes no representations or warranties, expressed or implied, as to the accuracy or completeness of the information contained in this document and assumes no responsibility for any errors contained herein. NVIDIA shall have no liability for the consequences or use of such information or for any infringement of patents or other rights of third parties that may result from its use. This document is not a commitment to develop, release, or deliver any Material (defined below), code, or functionality.
|
162 |
+
|
163 |
+
NVIDIA reserves the right to make corrections, modifications, enhancements, improvements, and any other changes to this document, at any time without notice.
|
164 |
+
|
165 |
+
Customer should obtain the latest relevant information before placing orders and should verify that such information is current and complete.
|
166 |
+
|
167 |
+
NVIDIA products are sold subject to the NVIDIA standard terms and conditions of sale supplied at the time of order acknowledgement, unless otherwise agreed in an individual sales agreement signed by authorized representatives of NVIDIA and customer (“Terms of Sale”). NVIDIA hereby expressly objects to applying any customer general terms and conditions with regards to the purchase of the NVIDIA product referenced in this document. No contractual obligations are formed either directly or indirectly by this document.
|
168 |
+
|
169 |
+
NVIDIA products are not designed, authorized, or warranted to be suitable for use in medical, military, aircraft, space, or life support equipment, nor in applications where failure or malfunction of the NVIDIA product can reasonably be expected to result in personal injury, death, or property or environmental damage. NVIDIA accepts no liability for inclusion and/or use of NVIDIA products in such equipment or applications and therefore such inclusion and/or use is at customer’s own risk.
|
170 |
+
|
171 |
+
NVIDIA makes no representation or warranty that products based on this document will be suitable for any specified use. Testing of all parameters of each product is not necessarily performed by NVIDIA. It is customer’s sole responsibility to evaluate and determine the applicability of any information contained in this document, ensure the product is suitable and fit for the application planned by customer, and perform the necessary testing for the application in order to avoid a default of the application or the product. Weaknesses in customer’s product designs may affect the quality and reliability of the NVIDIA product and may result in additional or different conditions and/or requirements beyond those contained in this document. NVIDIA accepts no liability related to any default, damage, costs, or problem which may be based on or attributable to: (i) the use of the NVIDIA product in any manner that is contrary to this document or (ii) customer product designs.
|
172 |
+
|
173 |
+
No license, either expressed or implied, is granted under any NVIDIA patent right, copyright, or other NVIDIA intellectual property right under this document. Information published by NVIDIA regarding third-party products or services does not constitute a license from NVIDIA to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property rights of the third party, or a license from NVIDIA under the patents or other intellectual property rights of NVIDIA.
|
174 |
+
|
175 |
+
Reproduction of information in this document is permissible only if approved in advance by NVIDIA in writing, reproduced without alteration and in full compliance with all applicable export laws and regulations, and accompanied by all associated conditions, limitations, and notices.
|
176 |
+
|
177 |
+
THIS DOCUMENT AND ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL NVIDIA BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Notwithstanding any damages that customer might incur for any reason whatsoever, NVIDIA’s aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms of Sale for the product.
|
178 |
+
|
179 |
+
Arm
|
180 |
+
|
181 |
+
Arm, AMBA and Arm Powered are registered trademarks of Arm Limited. Cortex, MPCore and Mali are trademarks of Arm Limited. "Arm" is used to represent Arm Holdings plc; its operating company Arm Limited; and the regional subsidiaries Arm Inc.; Arm KK; Arm Korea Limited.; Arm Taiwan Limited; Arm France SAS; Arm Consulting (Shanghai) Co. Ltd.; Arm Germany GmbH; Arm Embedded Technologies Pvt. Ltd.; Arm Norway, AS and Arm Sweden AB.
|
182 |
+
|
183 |
+
HDMI
|
184 |
+
|
185 |
+
HDMI, the HDMI logo, and High-Definition Multimedia Interface are trademarks or registered trademarks of HDMI Licensing LLC.
|
186 |
+
|
187 |
+
Blackberry/QNX
|
188 |
+
|
189 |
+
Copyright © 2020 BlackBerry Limited. All rights reserved.
|
190 |
+
|
191 |
+
Trademarks, including but not limited to BLACKBERRY, EMBLEM Design, QNX, AVIAGE, MOMENTICS, NEUTRINO and QNX CAR are the trademarks or registered trademarks of BlackBerry Limited, used under license, and the exclusive rights to such trademarks are expressly reserved.
|
192 |
+
|
193 |
+
Google
|
194 |
+
|
195 |
+
Android, Android TV, Google Play and the Google Play logo are trademarks of Google, Inc.
|
196 |
+
|
197 |
+
Trademarks
|
198 |
+
|
199 |
+
NVIDIA, the NVIDIA logo, and BlueField, CUDA, DALI, DRIVE, Hopper, JetPack, Jetson AGX Xavier, Jetson Nano, Maxwell, NGC, Nsight, Orin, Pascal, Quadro, Tegra, TensorRT, Triton, Turing and Volta are trademarks and/or registered trademarks of NVIDIA Corporation in the United States and other countries. Other company and product names may be trademarks of the respective companies with which they are associated.
|
200 |
+
|
201 |
+
Copyright
|
202 |
+
|
203 |
+
© 2014-2023 NVIDIA Corporation & affiliates. All rights reserved.
|
204 |
+
|
205 |
+
NVIDIA Corporation | 2788 San Tomas Expressway, Santa Clara, CA 95051
|
206 |
+
|
207 |
+
www.nvidia.com
|
208 |
+
|
209 |
+
THIRD PARTY LICENSES
|
210 |
+
|
211 |
+
zlib
|
212 |
+
|
213 |
+
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
214 |
+
version 1.2.11, January 15th, 2017
|
215 |
+
|
216 |
+
Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
|
217 |
+
|
218 |
+
This software is provided 'as-is', without any express or implied
|
219 |
+
warranty. In no event will the authors be held liable for any damages
|
220 |
+
arising from the use of this software.
|
221 |
+
|
222 |
+
Permission is granted to anyone to use this software for any purpose,
|
223 |
+
including commercial applications, and to alter it and redistribute it
|
224 |
+
freely, subject to the following restrictions:
|
225 |
+
|
226 |
+
1. The origin of this software must not be misrepresented; you must not
|
227 |
+
claim that you wrote the original software. If you use this software
|
228 |
+
in a product, an acknowledgment in the product documentation would be
|
229 |
+
appreciated but is not required.
|
230 |
+
2. Altered source versions must be plainly marked as such, and must not be
|
231 |
+
misrepresented as being the original software.
|
232 |
+
3. This notice may not be removed or altered from any source distribution.
|
233 |
+
|
234 |
+
Jean-loup Gailly Mark Adler
|
235 | |
236 |
+
|
237 |
+
*/
|
238 |
+
|
239 |
+
|
240 |
+
|
241 |
+
mateidavid/zstr
|
242 |
+
|
243 |
+
The MIT License (MIT)
|
244 |
+
|
245 |
+
Copyright (c) 2015 Matei David, Ontario Institute for Cancer Research
|
246 |
+
|
247 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
248 |
+
of this software and associated documentation files (the "Software"), to deal
|
249 |
+
in the Software without restriction, including without limitation the rights
|
250 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
251 |
+
copies of the Software, and to permit persons to whom the Software is
|
252 |
+
furnished to do so, subject to the following conditions:
|
253 |
+
|
254 |
+
The above copyright notice and this permission notice shall be included in all
|
255 |
+
copies or substantial portions of the Software.
|
256 |
+
|
257 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
258 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
259 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
260 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
261 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
262 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
263 |
+
SOFTWARE.
|
264 |
+
|
265 |
+
|
266 |
+
|
267 |
+
RapidJSON
|
268 |
+
|
269 |
+
Tencent is pleased to support the open source community by making RapidJSON available.
|
270 |
+
|
271 |
+
Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
|
272 |
+
|
273 |
+
Licensed under the MIT License (the "License"); you may not use this file except
|
274 |
+
in compliance with the License. You may obtain a copy of the License at
|
275 |
+
|
276 |
+
http://opensource.org/licenses/MIT
|
277 |
+
|
278 |
+
Unless required by applicable law or agreed to in writing, software distributed
|
279 |
+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
280 |
+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
281 |
+
specific language governing permissions and limitations under the License.
|
282 |
+
|
283 |
+
|
284 |
+
|
285 |
+
{fmt}
|
286 |
+
|
287 |
+
Copyright (c) 2012 - present, Victor Zverovich
|
288 |
+
|
289 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
290 |
+
|
291 |
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
292 |
+
|
293 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
294 |
+
|
295 |
+
--- Optional exception to the license ---
|
296 |
+
|
297 |
+
As an exception, if, as a result of your compiling your source code, portions of this Software are embedded into a machine-executable object form of such source code, you may redistribute such embedded portions in such object form without including the above copyright and permission notices.
|
298 |
+
|
299 |
+
|
300 |
+
|
301 |
+
Sleef
|
302 |
+
|
303 |
+
Copyright Naoki Shibata and contributors 2010 - 2021.
|
304 |
+
Distributed under the Boost Software License, Version 1.0.
|
305 |
+
(See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
voicevox_nemo_engine/docs/licenses/mpg123/COPYING
ADDED
@@ -0,0 +1,772 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
This is the file that contains the terms of use, copying, etc. for the mpg123 distribution package.
|
2 |
+
|
3 |
+
Main message, to include in "About ..." boxes, etc:
|
4 |
+
|
5 |
+
Copyright (c) 1995-2020 by Michael Hipp and others,
|
6 |
+
free software under the terms of the LGPL v2.1
|
7 |
+
|
8 |
+
There is an attempt to cover the actual list of authors in the AUTHORS file.
|
9 |
+
Project maintainer since 2006 is Thomas Orgis and many people have contributed
|
10 |
+
since the Michael Hipp era, but he stays the initial source and it would
|
11 |
+
be impractical to count them all individually, so it's "and others".
|
12 |
+
Source files contain the phrase "the mpg123 project" to the same effect
|
13 |
+
in their license boilerplate; especially those that were added after
|
14 |
+
maintainership changed. The person mainly responsible for the first version
|
15 |
+
is usually named in the phrase "initially written by ...".
|
16 |
+
|
17 |
+
All files in the distribution that don't carry a license note on their own are
|
18 |
+
licensed under the terms of the LGPL 2.1; exceptions may apply, especially to
|
19 |
+
files not in the official distribution but in the revision control repository.
|
20 |
+
|
21 |
+
The formal license text follows.
|
22 |
+
|
23 |
+
=======================
|
24 |
+
1. The LGPL version 2.1
|
25 |
+
=======================
|
26 |
+
|
27 |
+
|
28 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
29 |
+
Version 2.1, February 1999
|
30 |
+
|
31 |
+
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
32 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
33 |
+
Everyone is permitted to copy and distribute verbatim copies
|
34 |
+
of this license document, but changing it is not allowed.
|
35 |
+
|
36 |
+
[This is the first released version of the Lesser GPL. It also counts
|
37 |
+
as the successor of the GNU Library Public License, version 2, hence
|
38 |
+
the version number 2.1.]
|
39 |
+
|
40 |
+
Preamble
|
41 |
+
|
42 |
+
The licenses for most software are designed to take away your
|
43 |
+
freedom to share and change it. By contrast, the GNU General Public
|
44 |
+
Licenses are intended to guarantee your freedom to share and change
|
45 |
+
free software--to make sure the software is free for all its users.
|
46 |
+
|
47 |
+
This license, the Lesser General Public License, applies to some
|
48 |
+
specially designated software packages--typically libraries--of the
|
49 |
+
Free Software Foundation and other authors who decide to use it. You
|
50 |
+
can use it too, but we suggest you first think carefully about whether
|
51 |
+
this license or the ordinary General Public License is the better
|
52 |
+
strategy to use in any particular case, based on the explanations below.
|
53 |
+
|
54 |
+
When we speak of free software, we are referring to freedom of use,
|
55 |
+
not price. Our General Public Licenses are designed to make sure that
|
56 |
+
you have the freedom to distribute copies of free software (and charge
|
57 |
+
for this service if you wish); that you receive source code or can get
|
58 |
+
it if you want it; that you can change the software and use pieces of
|
59 |
+
it in new free programs; and that you are informed that you can do
|
60 |
+
these things.
|
61 |
+
|
62 |
+
To protect your rights, we need to make restrictions that forbid
|
63 |
+
distributors to deny you these rights or to ask you to surrender these
|
64 |
+
rights. These restrictions translate to certain responsibilities for
|
65 |
+
you if you distribute copies of the library or if you modify it.
|
66 |
+
|
67 |
+
For example, if you distribute copies of the library, whether gratis
|
68 |
+
or for a fee, you must give the recipients all the rights that we gave
|
69 |
+
you. You must make sure that they, too, receive or can get the source
|
70 |
+
code. If you link other code with the library, you must provide
|
71 |
+
complete object files to the recipients, so that they can relink them
|
72 |
+
with the library after making changes to the library and recompiling
|
73 |
+
it. And you must show them these terms so they know their rights.
|
74 |
+
|
75 |
+
We protect your rights with a two-step method: (1) we copyright the
|
76 |
+
library, and (2) we offer you this license, which gives you legal
|
77 |
+
permission to copy, distribute and/or modify the library.
|
78 |
+
|
79 |
+
To protect each distributor, we want to make it very clear that
|
80 |
+
there is no warranty for the free library. Also, if the library is
|
81 |
+
modified by someone else and passed on, the recipients should know
|
82 |
+
that what they have is not the original version, so that the original
|
83 |
+
author's reputation will not be affected by problems that might be
|
84 |
+
introduced by others.
|
85 |
+
|
86 |
+
Finally, software patents pose a constant threat to the existence of
|
87 |
+
any free program. We wish to make sure that a company cannot
|
88 |
+
effectively restrict the users of a free program by obtaining a
|
89 |
+
restrictive license from a patent holder. Therefore, we insist that
|
90 |
+
any patent license obtained for a version of the library must be
|
91 |
+
consistent with the full freedom of use specified in this license.
|
92 |
+
|
93 |
+
Most GNU software, including some libraries, is covered by the
|
94 |
+
ordinary GNU General Public License. This license, the GNU Lesser
|
95 |
+
General Public License, applies to certain designated libraries, and
|
96 |
+
is quite different from the ordinary General Public License. We use
|
97 |
+
this license for certain libraries in order to permit linking those
|
98 |
+
libraries into non-free programs.
|
99 |
+
|
100 |
+
When a program is linked with a library, whether statically or using
|
101 |
+
a shared library, the combination of the two is legally speaking a
|
102 |
+
combined work, a derivative of the original library. The ordinary
|
103 |
+
General Public License therefore permits such linking only if the
|
104 |
+
entire combination fits its criteria of freedom. The Lesser General
|
105 |
+
Public License permits more lax criteria for linking other code with
|
106 |
+
the library.
|
107 |
+
|
108 |
+
We call this license the "Lesser" General Public License because it
|
109 |
+
does Less to protect the user's freedom than the ordinary General
|
110 |
+
Public License. It also provides other free software developers Less
|
111 |
+
of an advantage over competing non-free programs. These disadvantages
|
112 |
+
are the reason we use the ordinary General Public License for many
|
113 |
+
libraries. However, the Lesser license provides advantages in certain
|
114 |
+
special circumstances.
|
115 |
+
|
116 |
+
For example, on rare occasions, there may be a special need to
|
117 |
+
encourage the widest possible use of a certain library, so that it becomes
|
118 |
+
a de-facto standard. To achieve this, non-free programs must be
|
119 |
+
allowed to use the library. A more frequent case is that a free
|
120 |
+
library does the same job as widely used non-free libraries. In this
|
121 |
+
case, there is little to gain by limiting the free library to free
|
122 |
+
software only, so we use the Lesser General Public License.
|
123 |
+
|
124 |
+
In other cases, permission to use a particular library in non-free
|
125 |
+
programs enables a greater number of people to use a large body of
|
126 |
+
free software. For example, permission to use the GNU C Library in
|
127 |
+
non-free programs enables many more people to use the whole GNU
|
128 |
+
operating system, as well as its variant, the GNU/Linux operating
|
129 |
+
system.
|
130 |
+
|
131 |
+
Although the Lesser General Public License is Less protective of the
|
132 |
+
users' freedom, it does ensure that the user of a program that is
|
133 |
+
linked with the Library has the freedom and the wherewithal to run
|
134 |
+
that program using a modified version of the Library.
|
135 |
+
|
136 |
+
The precise terms and conditions for copying, distribution and
|
137 |
+
modification follow. Pay close attention to the difference between a
|
138 |
+
"work based on the library" and a "work that uses the library". The
|
139 |
+
former contains code derived from the library, whereas the latter must
|
140 |
+
be combined with the library in order to run.
|
141 |
+
|
142 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
143 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
144 |
+
|
145 |
+
0. This License Agreement applies to any software library or other
|
146 |
+
program which contains a notice placed by the copyright holder or
|
147 |
+
other authorized party saying it may be distributed under the terms of
|
148 |
+
this Lesser General Public License (also called "this License").
|
149 |
+
Each licensee is addressed as "you".
|
150 |
+
|
151 |
+
A "library" means a collection of software functions and/or data
|
152 |
+
prepared so as to be conveniently linked with application programs
|
153 |
+
(which use some of those functions and data) to form executables.
|
154 |
+
|
155 |
+
The "Library", below, refers to any such software library or work
|
156 |
+
which has been distributed under these terms. A "work based on the
|
157 |
+
Library" means either the Library or any derivative work under
|
158 |
+
copyright law: that is to say, a work containing the Library or a
|
159 |
+
portion of it, either verbatim or with modifications and/or translated
|
160 |
+
straightforwardly into another language. (Hereinafter, translation is
|
161 |
+
included without limitation in the term "modification".)
|
162 |
+
|
163 |
+
"Source code" for a work means the preferred form of the work for
|
164 |
+
making modifications to it. For a library, complete source code means
|
165 |
+
all the source code for all modules it contains, plus any associated
|
166 |
+
interface definition files, plus the scripts used to control compilation
|
167 |
+
and installation of the library.
|
168 |
+
|
169 |
+
Activities other than copying, distribution and modification are not
|
170 |
+
covered by this License; they are outside its scope. The act of
|
171 |
+
running a program using the Library is not restricted, and output from
|
172 |
+
such a program is covered only if its contents constitute a work based
|
173 |
+
on the Library (independent of the use of the Library in a tool for
|
174 |
+
writing it). Whether that is true depends on what the Library does
|
175 |
+
and what the program that uses the Library does.
|
176 |
+
|
177 |
+
1. You may copy and distribute verbatim copies of the Library's
|
178 |
+
complete source code as you receive it, in any medium, provided that
|
179 |
+
you conspicuously and appropriately publish on each copy an
|
180 |
+
appropriate copyright notice and disclaimer of warranty; keep intact
|
181 |
+
all the notices that refer to this License and to the absence of any
|
182 |
+
warranty; and distribute a copy of this License along with the
|
183 |
+
Library.
|
184 |
+
|
185 |
+
You may charge a fee for the physical act of transferring a copy,
|
186 |
+
and you may at your option offer warranty protection in exchange for a
|
187 |
+
fee.
|
188 |
+
|
189 |
+
2. You may modify your copy or copies of the Library or any portion
|
190 |
+
of it, thus forming a work based on the Library, and copy and
|
191 |
+
distribute such modifications or work under the terms of Section 1
|
192 |
+
above, provided that you also meet all of these conditions:
|
193 |
+
|
194 |
+
a) The modified work must itself be a software library.
|
195 |
+
|
196 |
+
b) You must cause the files modified to carry prominent notices
|
197 |
+
stating that you changed the files and the date of any change.
|
198 |
+
|
199 |
+
c) You must cause the whole of the work to be licensed at no
|
200 |
+
charge to all third parties under the terms of this License.
|
201 |
+
|
202 |
+
d) If a facility in the modified Library refers to a function or a
|
203 |
+
table of data to be supplied by an application program that uses
|
204 |
+
the facility, other than as an argument passed when the facility
|
205 |
+
is invoked, then you must make a good faith effort to ensure that,
|
206 |
+
in the event an application does not supply such function or
|
207 |
+
table, the facility still operates, and performs whatever part of
|
208 |
+
its purpose remains meaningful.
|
209 |
+
|
210 |
+
(For example, a function in a library to compute square roots has
|
211 |
+
a purpose that is entirely well-defined independent of the
|
212 |
+
application. Therefore, Subsection 2d requires that any
|
213 |
+
application-supplied function or table used by this function must
|
214 |
+
be optional: if the application does not supply it, the square
|
215 |
+
root function must still compute square roots.)
|
216 |
+
|
217 |
+
These requirements apply to the modified work as a whole. If
|
218 |
+
identifiable sections of that work are not derived from the Library,
|
219 |
+
and can be reasonably considered independent and separate works in
|
220 |
+
themselves, then this License, and its terms, do not apply to those
|
221 |
+
sections when you distribute them as separate works. But when you
|
222 |
+
distribute the same sections as part of a whole which is a work based
|
223 |
+
on the Library, the distribution of the whole must be on the terms of
|
224 |
+
this License, whose permissions for other licensees extend to the
|
225 |
+
entire whole, and thus to each and every part regardless of who wrote
|
226 |
+
it.
|
227 |
+
|
228 |
+
Thus, it is not the intent of this section to claim rights or contest
|
229 |
+
your rights to work written entirely by you; rather, the intent is to
|
230 |
+
exercise the right to control the distribution of derivative or
|
231 |
+
collective works based on the Library.
|
232 |
+
|
233 |
+
In addition, mere aggregation of another work not based on the Library
|
234 |
+
with the Library (or with a work based on the Library) on a volume of
|
235 |
+
a storage or distribution medium does not bring the other work under
|
236 |
+
the scope of this License.
|
237 |
+
|
238 |
+
3. You may opt to apply the terms of the ordinary GNU General Public
|
239 |
+
License instead of this License to a given copy of the Library. To do
|
240 |
+
this, you must alter all the notices that refer to this License, so
|
241 |
+
that they refer to the ordinary GNU General Public License, version 2,
|
242 |
+
instead of to this License. (If a newer version than version 2 of the
|
243 |
+
ordinary GNU General Public License has appeared, then you can specify
|
244 |
+
that version instead if you wish.) Do not make any other change in
|
245 |
+
these notices.
|
246 |
+
|
247 |
+
Once this change is made in a given copy, it is irreversible for
|
248 |
+
that copy, so the ordinary GNU General Public License applies to all
|
249 |
+
subsequent copies and derivative works made from that copy.
|
250 |
+
|
251 |
+
This option is useful when you wish to copy part of the code of
|
252 |
+
the Library into a program that is not a library.
|
253 |
+
|
254 |
+
4. You may copy and distribute the Library (or a portion or
|
255 |
+
derivative of it, under Section 2) in object code or executable form
|
256 |
+
under the terms of Sections 1 and 2 above provided that you accompany
|
257 |
+
it with the complete corresponding machine-readable source code, which
|
258 |
+
must be distributed under the terms of Sections 1 and 2 above on a
|
259 |
+
medium customarily used for software interchange.
|
260 |
+
|
261 |
+
If distribution of object code is made by offering access to copy
|
262 |
+
from a designated place, then offering equivalent access to copy the
|
263 |
+
source code from the same place satisfies the requirement to
|
264 |
+
distribute the source code, even though third parties are not
|
265 |
+
compelled to copy the source along with the object code.
|
266 |
+
|
267 |
+
5. A program that contains no derivative of any portion of the
|
268 |
+
Library, but is designed to work with the Library by being compiled or
|
269 |
+
linked with it, is called a "work that uses the Library". Such a
|
270 |
+
work, in isolation, is not a derivative work of the Library, and
|
271 |
+
therefore falls outside the scope of this License.
|
272 |
+
|
273 |
+
However, linking a "work that uses the Library" with the Library
|
274 |
+
creates an executable that is a derivative of the Library (because it
|
275 |
+
contains portions of the Library), rather than a "work that uses the
|
276 |
+
library". The executable is therefore covered by this License.
|
277 |
+
Section 6 states terms for distribution of such executables.
|
278 |
+
|
279 |
+
When a "work that uses the Library" uses material from a header file
|
280 |
+
that is part of the Library, the object code for the work may be a
|
281 |
+
derivative work of the Library even though the source code is not.
|
282 |
+
Whether this is true is especially significant if the work can be
|
283 |
+
linked without the Library, or if the work is itself a library. The
|
284 |
+
threshold for this to be true is not precisely defined by law.
|
285 |
+
|
286 |
+
If such an object file uses only numerical parameters, data
|
287 |
+
structure layouts and accessors, and small macros and small inline
|
288 |
+
functions (ten lines or less in length), then the use of the object
|
289 |
+
file is unrestricted, regardless of whether it is legally a derivative
|
290 |
+
work. (Executables containing this object code plus portions of the
|
291 |
+
Library will still fall under Section 6.)
|
292 |
+
|
293 |
+
Otherwise, if the work is a derivative of the Library, you may
|
294 |
+
distribute the object code for the work under the terms of Section 6.
|
295 |
+
Any executables containing that work also fall under Section 6,
|
296 |
+
whether or not they are linked directly with the Library itself.
|
297 |
+
|
298 |
+
6. As an exception to the Sections above, you may also combine or
|
299 |
+
link a "work that uses the Library" with the Library to produce a
|
300 |
+
work containing portions of the Library, and distribute that work
|
301 |
+
under terms of your choice, provided that the terms permit
|
302 |
+
modification of the work for the customer's own use and reverse
|
303 |
+
engineering for debugging such modifications.
|
304 |
+
|
305 |
+
You must give prominent notice with each copy of the work that the
|
306 |
+
Library is used in it and that the Library and its use are covered by
|
307 |
+
this License. You must supply a copy of this License. If the work
|
308 |
+
during execution displays copyright notices, you must include the
|
309 |
+
copyright notice for the Library among them, as well as a reference
|
310 |
+
directing the user to the copy of this License. Also, you must do one
|
311 |
+
of these things:
|
312 |
+
|
313 |
+
a) Accompany the work with the complete corresponding
|
314 |
+
machine-readable source code for the Library including whatever
|
315 |
+
changes were used in the work (which must be distributed under
|
316 |
+
Sections 1 and 2 above); and, if the work is an executable linked
|
317 |
+
with the Library, with the complete machine-readable "work that
|
318 |
+
uses the Library", as object code and/or source code, so that the
|
319 |
+
user can modify the Library and then relink to produce a modified
|
320 |
+
executable containing the modified Library. (It is understood
|
321 |
+
that the user who changes the contents of definitions files in the
|
322 |
+
Library will not necessarily be able to recompile the application
|
323 |
+
to use the modified definitions.)
|
324 |
+
|
325 |
+
b) Use a suitable shared library mechanism for linking with the
|
326 |
+
Library. A suitable mechanism is one that (1) uses at run time a
|
327 |
+
copy of the library already present on the user's computer system,
|
328 |
+
rather than copying library functions into the executable, and (2)
|
329 |
+
will operate properly with a modified version of the library, if
|
330 |
+
the user installs one, as long as the modified version is
|
331 |
+
interface-compatible with the version that the work was made with.
|
332 |
+
|
333 |
+
c) Accompany the work with a written offer, valid for at
|
334 |
+
least three years, to give the same user the materials
|
335 |
+
specified in Subsection 6a, above, for a charge no more
|
336 |
+
than the cost of performing this distribution.
|
337 |
+
|
338 |
+
d) If distribution of the work is made by offering access to copy
|
339 |
+
from a designated place, offer equivalent access to copy the above
|
340 |
+
specified materials from the same place.
|
341 |
+
|
342 |
+
e) Verify that the user has already received a copy of these
|
343 |
+
materials or that you have already sent this user a copy.
|
344 |
+
|
345 |
+
For an executable, the required form of the "work that uses the
|
346 |
+
Library" must include any data and utility programs needed for
|
347 |
+
reproducing the executable from it. However, as a special exception,
|
348 |
+
the materials to be distributed need not include anything that is
|
349 |
+
normally distributed (in either source or binary form) with the major
|
350 |
+
components (compiler, kernel, and so on) of the operating system on
|
351 |
+
which the executable runs, unless that component itself accompanies
|
352 |
+
the executable.
|
353 |
+
|
354 |
+
It may happen that this requirement contradicts the license
|
355 |
+
restrictions of other proprietary libraries that do not normally
|
356 |
+
accompany the operating system. Such a contradiction means you cannot
|
357 |
+
use both them and the Library together in an executable that you
|
358 |
+
distribute.
|
359 |
+
|
360 |
+
7. You may place library facilities that are a work based on the
|
361 |
+
Library side-by-side in a single library together with other library
|
362 |
+
facilities not covered by this License, and distribute such a combined
|
363 |
+
library, provided that the separate distribution of the work based on
|
364 |
+
the Library and of the other library facilities is otherwise
|
365 |
+
permitted, and provided that you do these two things:
|
366 |
+
|
367 |
+
a) Accompany the combined library with a copy of the same work
|
368 |
+
based on the Library, uncombined with any other library
|
369 |
+
facilities. This must be distributed under the terms of the
|
370 |
+
Sections above.
|
371 |
+
|
372 |
+
b) Give prominent notice with the combined library of the fact
|
373 |
+
that part of it is a work based on the Library, and explaining
|
374 |
+
where to find the accompanying uncombined form of the same work.
|
375 |
+
|
376 |
+
8. You may not copy, modify, sublicense, link with, or distribute
|
377 |
+
the Library except as expressly provided under this License. Any
|
378 |
+
attempt otherwise to copy, modify, sublicense, link with, or
|
379 |
+
distribute the Library is void, and will automatically terminate your
|
380 |
+
rights under this License. However, parties who have received copies,
|
381 |
+
or rights, from you under this License will not have their licenses
|
382 |
+
terminated so long as such parties remain in full compliance.
|
383 |
+
|
384 |
+
9. You are not required to accept this License, since you have not
|
385 |
+
signed it. However, nothing else grants you permission to modify or
|
386 |
+
distribute the Library or its derivative works. These actions are
|
387 |
+
prohibited by law if you do not accept this License. Therefore, by
|
388 |
+
modifying or distributing the Library (or any work based on the
|
389 |
+
Library), you indicate your acceptance of this License to do so, and
|
390 |
+
all its terms and conditions for copying, distributing or modifying
|
391 |
+
the Library or works based on it.
|
392 |
+
|
393 |
+
10. Each time you redistribute the Library (or any work based on the
|
394 |
+
Library), the recipient automatically receives a license from the
|
395 |
+
original licensor to copy, distribute, link with or modify the Library
|
396 |
+
subject to these terms and conditions. You may not impose any further
|
397 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
398 |
+
You are not responsible for enforcing compliance by third parties with
|
399 |
+
this License.
|
400 |
+
|
401 |
+
11. If, as a consequence of a court judgment or allegation of patent
|
402 |
+
infringement or for any other reason (not limited to patent issues),
|
403 |
+
conditions are imposed on you (whether by court order, agreement or
|
404 |
+
otherwise) that contradict the conditions of this License, they do not
|
405 |
+
excuse you from the conditions of this License. If you cannot
|
406 |
+
distribute so as to satisfy simultaneously your obligations under this
|
407 |
+
License and any other pertinent obligations, then as a consequence you
|
408 |
+
may not distribute the Library at all. For example, if a patent
|
409 |
+
license would not permit royalty-free redistribution of the Library by
|
410 |
+
all those who receive copies directly or indirectly through you, then
|
411 |
+
the only way you could satisfy both it and this License would be to
|
412 |
+
refrain entirely from distribution of the Library.
|
413 |
+
|
414 |
+
If any portion of this section is held invalid or unenforceable under any
|
415 |
+
particular circumstance, the balance of the section is intended to apply,
|
416 |
+
and the section as a whole is intended to apply in other circumstances.
|
417 |
+
|
418 |
+
It is not the purpose of this section to induce you to infringe any
|
419 |
+
patents or other property right claims or to contest validity of any
|
420 |
+
such claims; this section has the sole purpose of protecting the
|
421 |
+
integrity of the free software distribution system which is
|
422 |
+
implemented by public license practices. Many people have made
|
423 |
+
generous contributions to the wide range of software distributed
|
424 |
+
through that system in reliance on consistent application of that
|
425 |
+
system; it is up to the author/donor to decide if he or she is willing
|
426 |
+
to distribute software through any other system and a licensee cannot
|
427 |
+
impose that choice.
|
428 |
+
|
429 |
+
This section is intended to make thoroughly clear what is believed to
|
430 |
+
be a consequence of the rest of this License.
|
431 |
+
|
432 |
+
12. If the distribution and/or use of the Library is restricted in
|
433 |
+
certain countries either by patents or by copyrighted interfaces, the
|
434 |
+
original copyright holder who places the Library under this License may add
|
435 |
+
an explicit geographical distribution limitation excluding those countries,
|
436 |
+
so that distribution is permitted only in or among countries not thus
|
437 |
+
excluded. In such case, this License incorporates the limitation as if
|
438 |
+
written in the body of this License.
|
439 |
+
|
440 |
+
13. The Free Software Foundation may publish revised and/or new
|
441 |
+
versions of the Lesser General Public License from time to time.
|
442 |
+
Such new versions will be similar in spirit to the present version,
|
443 |
+
but may differ in detail to address new problems or concerns.
|
444 |
+
|
445 |
+
Each version is given a distinguishing version number. If the Library
|
446 |
+
specifies a version number of this License which applies to it and
|
447 |
+
"any later version", you have the option of following the terms and
|
448 |
+
conditions either of that version or of any later version published by
|
449 |
+
the Free Software Foundation. If the Library does not specify a
|
450 |
+
license version number, you may choose any version ever published by
|
451 |
+
the Free Software Foundation.
|
452 |
+
|
453 |
+
14. If you wish to incorporate parts of the Library into other free
|
454 |
+
programs whose distribution conditions are incompatible with these,
|
455 |
+
write to the author to ask for permission. For software which is
|
456 |
+
copyrighted by the Free Software Foundation, write to the Free
|
457 |
+
Software Foundation; we sometimes make exceptions for this. Our
|
458 |
+
decision will be guided by the two goals of preserving the free status
|
459 |
+
of all derivatives of our free software and of promoting the sharing
|
460 |
+
and reuse of software generally.
|
461 |
+
|
462 |
+
NO WARRANTY
|
463 |
+
|
464 |
+
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
465 |
+
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
466 |
+
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
467 |
+
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
468 |
+
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
469 |
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
470 |
+
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
471 |
+
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
472 |
+
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
473 |
+
|
474 |
+
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
475 |
+
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
476 |
+
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
477 |
+
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
478 |
+
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
479 |
+
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
480 |
+
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
481 |
+
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
482 |
+
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
483 |
+
DAMAGES.
|
484 |
+
|
485 |
+
END OF TERMS AND CONDITIONS
|
486 |
+
|
487 |
+
|
488 |
+
====================
|
489 |
+
2. The GPL version 2
|
490 |
+
====================
|
491 |
+
|
492 |
+
|
493 |
+
GNU GENERAL PUBLIC LICENSE
|
494 |
+
Version 2, June 1991
|
495 |
+
|
496 |
+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
497 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
498 |
+
Everyone is permitted to copy and distribute verbatim copies
|
499 |
+
of this license document, but changing it is not allowed.
|
500 |
+
|
501 |
+
Preamble
|
502 |
+
|
503 |
+
The licenses for most software are designed to take away your
|
504 |
+
freedom to share and change it. By contrast, the GNU General Public
|
505 |
+
License is intended to guarantee your freedom to share and change free
|
506 |
+
software--to make sure the software is free for all its users. This
|
507 |
+
General Public License applies to most of the Free Software
|
508 |
+
Foundation's software and to any other program whose authors commit to
|
509 |
+
using it. (Some other Free Software Foundation software is covered by
|
510 |
+
the GNU Lesser General Public License instead.) You can apply it to
|
511 |
+
your programs, too.
|
512 |
+
|
513 |
+
When we speak of free software, we are referring to freedom, not
|
514 |
+
price. Our General Public Licenses are designed to make sure that you
|
515 |
+
have the freedom to distribute copies of free software (and charge for
|
516 |
+
this service if you wish), that you receive source code or can get it
|
517 |
+
if you want it, that you can change the software or use pieces of it
|
518 |
+
in new free programs; and that you know you can do these things.
|
519 |
+
|
520 |
+
To protect your rights, we need to make restrictions that forbid
|
521 |
+
anyone to deny you these rights or to ask you to surrender the rights.
|
522 |
+
These restrictions translate to certain responsibilities for you if you
|
523 |
+
distribute copies of the software, or if you modify it.
|
524 |
+
|
525 |
+
For example, if you distribute copies of such a program, whether
|
526 |
+
gratis or for a fee, you must give the recipients all the rights that
|
527 |
+
you have. You must make sure that they, too, receive or can get the
|
528 |
+
source code. And you must show them these terms so they know their
|
529 |
+
rights.
|
530 |
+
|
531 |
+
We protect your rights with two steps: (1) copyright the software, and
|
532 |
+
(2) offer you this license which gives you legal permission to copy,
|
533 |
+
distribute and/or modify the software.
|
534 |
+
|
535 |
+
Also, for each author's protection and ours, we want to make certain
|
536 |
+
that everyone understands that there is no warranty for this free
|
537 |
+
software. If the software is modified by someone else and passed on, we
|
538 |
+
want its recipients to know that what they have is not the original, so
|
539 |
+
that any problems introduced by others will not reflect on the original
|
540 |
+
authors' reputations.
|
541 |
+
|
542 |
+
Finally, any free program is threatened constantly by software
|
543 |
+
patents. We wish to avoid the danger that redistributors of a free
|
544 |
+
program will individually obtain patent licenses, in effect making the
|
545 |
+
program proprietary. To prevent this, we have made it clear that any
|
546 |
+
patent must be licensed for everyone's free use or not licensed at all.
|
547 |
+
|
548 |
+
The precise terms and conditions for copying, distribution and
|
549 |
+
modification follow.
|
550 |
+
|
551 |
+
GNU GENERAL PUBLIC LICENSE
|
552 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
553 |
+
|
554 |
+
0. This License applies to any program or other work which contains
|
555 |
+
a notice placed by the copyright holder saying it may be distributed
|
556 |
+
under the terms of this General Public License. The "Program", below,
|
557 |
+
refers to any such program or work, and a "work based on the Program"
|
558 |
+
means either the Program or any derivative work under copyright law:
|
559 |
+
that is to say, a work containing the Program or a portion of it,
|
560 |
+
either verbatim or with modifications and/or translated into another
|
561 |
+
language. (Hereinafter, translation is included without limitation in
|
562 |
+
the term "modification".) Each licensee is addressed as "you".
|
563 |
+
|
564 |
+
Activities other than copying, distribution and modification are not
|
565 |
+
covered by this License; they are outside its scope. The act of
|
566 |
+
running the Program is not restricted, and the output from the Program
|
567 |
+
is covered only if its contents constitute a work based on the
|
568 |
+
Program (independent of having been made by running the Program).
|
569 |
+
Whether that is true depends on what the Program does.
|
570 |
+
|
571 |
+
1. You may copy and distribute verbatim copies of the Program's
|
572 |
+
source code as you receive it, in any medium, provided that you
|
573 |
+
conspicuously and appropriately publish on each copy an appropriate
|
574 |
+
copyright notice and disclaimer of warranty; keep intact all the
|
575 |
+
notices that refer to this License and to the absence of any warranty;
|
576 |
+
and give any other recipients of the Program a copy of this License
|
577 |
+
along with the Program.
|
578 |
+
|
579 |
+
You may charge a fee for the physical act of transferring a copy, and
|
580 |
+
you may at your option offer warranty protection in exchange for a fee.
|
581 |
+
|
582 |
+
2. You may modify your copy or copies of the Program or any portion
|
583 |
+
of it, thus forming a work based on the Program, and copy and
|
584 |
+
distribute such modifications or work under the terms of Section 1
|
585 |
+
above, provided that you also meet all of these conditions:
|
586 |
+
|
587 |
+
a) You must cause the modified files to carry prominent notices
|
588 |
+
stating that you changed the files and the date of any change.
|
589 |
+
|
590 |
+
b) You must cause any work that you distribute or publish, that in
|
591 |
+
whole or in part contains or is derived from the Program or any
|
592 |
+
part thereof, to be licensed as a whole at no charge to all third
|
593 |
+
parties under the terms of this License.
|
594 |
+
|
595 |
+
c) If the modified program normally reads commands interactively
|
596 |
+
when run, you must cause it, when started running for such
|
597 |
+
interactive use in the most ordinary way, to print or display an
|
598 |
+
announcement including an appropriate copyright notice and a
|
599 |
+
notice that there is no warranty (or else, saying that you provide
|
600 |
+
a warranty) and that users may redistribute the program under
|
601 |
+
these conditions, and telling the user how to view a copy of this
|
602 |
+
License. (Exception: if the Program itself is interactive but
|
603 |
+
does not normally print such an announcement, your work based on
|
604 |
+
the Program is not required to print an announcement.)
|
605 |
+
|
606 |
+
These requirements apply to the modified work as a whole. If
|
607 |
+
identifiable sections of that work are not derived from the Program,
|
608 |
+
and can be reasonably considered independent and separate works in
|
609 |
+
themselves, then this License, and its terms, do not apply to those
|
610 |
+
sections when you distribute them as separate works. But when you
|
611 |
+
distribute the same sections as part of a whole which is a work based
|
612 |
+
on the Program, the distribution of the whole must be on the terms of
|
613 |
+
this License, whose permissions for other licensees extend to the
|
614 |
+
entire whole, and thus to each and every part regardless of who wrote it.
|
615 |
+
|
616 |
+
Thus, it is not the intent of this section to claim rights or contest
|
617 |
+
your rights to work written entirely by you; rather, the intent is to
|
618 |
+
exercise the right to control the distribution of derivative or
|
619 |
+
collective works based on the Program.
|
620 |
+
|
621 |
+
In addition, mere aggregation of another work not based on the Program
|
622 |
+
with the Program (or with a work based on the Program) on a volume of
|
623 |
+
a storage or distribution medium does not bring the other work under
|
624 |
+
the scope of this License.
|
625 |
+
|
626 |
+
3. You may copy and distribute the Program (or a work based on it,
|
627 |
+
under Section 2) in object code or executable form under the terms of
|
628 |
+
Sections 1 and 2 above provided that you also do one of the following:
|
629 |
+
|
630 |
+
a) Accompany it with the complete corresponding machine-readable
|
631 |
+
source code, which must be distributed under the terms of Sections
|
632 |
+
1 and 2 above on a medium customarily used for software interchange; or,
|
633 |
+
|
634 |
+
b) Accompany it with a written offer, valid for at least three
|
635 |
+
years, to give any third party, for a charge no more than your
|
636 |
+
cost of physically performing source distribution, a complete
|
637 |
+
machine-readable copy of the corresponding source code, to be
|
638 |
+
distributed under the terms of Sections 1 and 2 above on a medium
|
639 |
+
customarily used for software interchange; or,
|
640 |
+
|
641 |
+
c) Accompany it with the information you received as to the offer
|
642 |
+
to distribute corresponding source code. (This alternative is
|
643 |
+
allowed only for noncommercial distribution and only if you
|
644 |
+
received the program in object code or executable form with such
|
645 |
+
an offer, in accord with Subsection b above.)
|
646 |
+
|
647 |
+
The source code for a work means the preferred form of the work for
|
648 |
+
making modifications to it. For an executable work, complete source
|
649 |
+
code means all the source code for all modules it contains, plus any
|
650 |
+
associated interface definition files, plus the scripts used to
|
651 |
+
control compilation and installation of the executable. However, as a
|
652 |
+
special exception, the source code distributed need not include
|
653 |
+
anything that is normally distributed (in either source or binary
|
654 |
+
form) with the major components (compiler, kernel, and so on) of the
|
655 |
+
operating system on which the executable runs, unless that component
|
656 |
+
itself accompanies the executable.
|
657 |
+
|
658 |
+
If distribution of executable or object code is made by offering
|
659 |
+
access to copy from a designated place, then offering equivalent
|
660 |
+
access to copy the source code from the same place counts as
|
661 |
+
distribution of the source code, even though third parties are not
|
662 |
+
compelled to copy the source along with the object code.
|
663 |
+
|
664 |
+
4. You may not copy, modify, sublicense, or distribute the Program
|
665 |
+
except as expressly provided under this License. Any attempt
|
666 |
+
otherwise to copy, modify, sublicense or distribute the Program is
|
667 |
+
void, and will automatically terminate your rights under this License.
|
668 |
+
However, parties who have received copies, or rights, from you under
|
669 |
+
this License will not have their licenses terminated so long as such
|
670 |
+
parties remain in full compliance.
|
671 |
+
|
672 |
+
5. You are not required to accept this License, since you have not
|
673 |
+
signed it. However, nothing else grants you permission to modify or
|
674 |
+
distribute the Program or its derivative works. These actions are
|
675 |
+
prohibited by law if you do not accept this License. Therefore, by
|
676 |
+
modifying or distributing the Program (or any work based on the
|
677 |
+
Program), you indicate your acceptance of this License to do so, and
|
678 |
+
all its terms and conditions for copying, distributing or modifying
|
679 |
+
the Program or works based on it.
|
680 |
+
|
681 |
+
6. Each time you redistribute the Program (or any work based on the
|
682 |
+
Program), the recipient automatically receives a license from the
|
683 |
+
original licensor to copy, distribute or modify the Program subject to
|
684 |
+
these terms and conditions. You may not impose any further
|
685 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
686 |
+
You are not responsible for enforcing compliance by third parties to
|
687 |
+
this License.
|
688 |
+
|
689 |
+
7. If, as a consequence of a court judgment or allegation of patent
|
690 |
+
infringement or for any other reason (not limited to patent issues),
|
691 |
+
conditions are imposed on you (whether by court order, agreement or
|
692 |
+
otherwise) that contradict the conditions of this License, they do not
|
693 |
+
excuse you from the conditions of this License. If you cannot
|
694 |
+
distribute so as to satisfy simultaneously your obligations under this
|
695 |
+
License and any other pertinent obligations, then as a consequence you
|
696 |
+
may not distribute the Program at all. For example, if a patent
|
697 |
+
license would not permit royalty-free redistribution of the Program by
|
698 |
+
all those who receive copies directly or indirectly through you, then
|
699 |
+
the only way you could satisfy both it and this License would be to
|
700 |
+
refrain entirely from distribution of the Program.
|
701 |
+
|
702 |
+
If any portion of this section is held invalid or unenforceable under
|
703 |
+
any particular circumstance, the balance of the section is intended to
|
704 |
+
apply and the section as a whole is intended to apply in other
|
705 |
+
circumstances.
|
706 |
+
|
707 |
+
It is not the purpose of this section to induce you to infringe any
|
708 |
+
patents or other property right claims or to contest validity of any
|
709 |
+
such claims; this section has the sole purpose of protecting the
|
710 |
+
integrity of the free software distribution system, which is
|
711 |
+
implemented by public license practices. Many people have made
|
712 |
+
generous contributions to the wide range of software distributed
|
713 |
+
through that system in reliance on consistent application of that
|
714 |
+
system; it is up to the author/donor to decide if he or she is willing
|
715 |
+
to distribute software through any other system and a licensee cannot
|
716 |
+
impose that choice.
|
717 |
+
|
718 |
+
This section is intended to make thoroughly clear what is believed to
|
719 |
+
be a consequence of the rest of this License.
|
720 |
+
|
721 |
+
8. If the distribution and/or use of the Program is restricted in
|
722 |
+
certain countries either by patents or by copyrighted interfaces, the
|
723 |
+
original copyright holder who places the Program under this License
|
724 |
+
may add an explicit geographical distribution limitation excluding
|
725 |
+
those countries, so that distribution is permitted only in or among
|
726 |
+
countries not thus excluded. In such case, this License incorporates
|
727 |
+
the limitation as if written in the body of this License.
|
728 |
+
|
729 |
+
9. The Free Software Foundation may publish revised and/or new versions
|
730 |
+
of the General Public License from time to time. Such new versions will
|
731 |
+
be similar in spirit to the present version, but may differ in detail to
|
732 |
+
address new problems or concerns.
|
733 |
+
|
734 |
+
Each version is given a distinguishing version number. If the Program
|
735 |
+
specifies a version number of this License which applies to it and "any
|
736 |
+
later version", you have the option of following the terms and conditions
|
737 |
+
either of that version or of any later version published by the Free
|
738 |
+
Software Foundation. If the Program does not specify a version number of
|
739 |
+
this License, you may choose any version ever published by the Free Software
|
740 |
+
Foundation.
|
741 |
+
|
742 |
+
10. If you wish to incorporate parts of the Program into other free
|
743 |
+
programs whose distribution conditions are different, write to the author
|
744 |
+
to ask for permission. For software which is copyrighted by the Free
|
745 |
+
Software Foundation, write to the Free Software Foundation; we sometimes
|
746 |
+
make exceptions for this. Our decision will be guided by the two goals
|
747 |
+
of preserving the free status of all derivatives of our free software and
|
748 |
+
of promoting the sharing and reuse of software generally.
|
749 |
+
|
750 |
+
NO WARRANTY
|
751 |
+
|
752 |
+
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
753 |
+
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
754 |
+
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
755 |
+
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
756 |
+
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
757 |
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
758 |
+
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
759 |
+
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
760 |
+
REPAIR OR CORRECTION.
|
761 |
+
|
762 |
+
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
763 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
764 |
+
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
765 |
+
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
766 |
+
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
767 |
+
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
768 |
+
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
769 |
+
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
770 |
+
POSSIBILITY OF SUCH DAMAGES.
|
771 |
+
|
772 |
+
END OF TERMS AND CONDITIONS
|
voicevox_nemo_engine/docs/licenses/open_jtalk/COPYING
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ----------------------------------------------------------------- */
|
2 |
+
/* The Japanese TTS System "Open JTalk" */
|
3 |
+
/* developed by HTS Working Group */
|
4 |
+
/* http://open-jtalk.sourceforge.net/ */
|
5 |
+
/* ----------------------------------------------------------------- */
|
6 |
+
/* */
|
7 |
+
/* Copyright (c) 2008-2016 Nagoya Institute of Technology */
|
8 |
+
/* Department of Computer Science */
|
9 |
+
/* */
|
10 |
+
/* All rights reserved. */
|
11 |
+
/* */
|
12 |
+
/* Redistribution and use in source and binary forms, with or */
|
13 |
+
/* without modification, are permitted provided that the following */
|
14 |
+
/* conditions are met: */
|
15 |
+
/* */
|
16 |
+
/* - Redistributions of source code must retain the above copyright */
|
17 |
+
/* notice, this list of conditions and the following disclaimer. */
|
18 |
+
/* - Redistributions in binary form must reproduce the above */
|
19 |
+
/* copyright notice, this list of conditions and the following */
|
20 |
+
/* disclaimer in the documentation and/or other materials provided */
|
21 |
+
/* with the distribution. */
|
22 |
+
/* - Neither the name of the HTS working group nor the names of its */
|
23 |
+
/* contributors may be used to endorse or promote products derived */
|
24 |
+
/* from this software without specific prior written permission. */
|
25 |
+
/* */
|
26 |
+
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
|
27 |
+
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
|
28 |
+
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
29 |
+
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
|
30 |
+
/* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS */
|
31 |
+
/* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */
|
32 |
+
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
|
33 |
+
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
|
34 |
+
/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */
|
35 |
+
/* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
|
36 |
+
/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY */
|
37 |
+
/* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
38 |
+
/* POSSIBILITY OF SUCH DAMAGE. */
|
39 |
+
/* ----------------------------------------------------------------- */
|
voicevox_nemo_engine/docs/licenses/open_jtalk/mecab-naist-jdic/COPYING
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Copyright (c) 2009, Nara Institute of Science and Technology, Japan.
|
2 |
+
|
3 |
+
All rights reserved.
|
4 |
+
|
5 |
+
Redistribution and use in source and binary forms, with or without
|
6 |
+
modification, are permitted provided that the following conditions are
|
7 |
+
met:
|
8 |
+
|
9 |
+
Redistributions of source code must retain the above copyright notice,
|
10 |
+
this list of conditions and the following disclaimer.
|
11 |
+
Redistributions in binary form must reproduce the above copyright
|
12 |
+
notice, this list of conditions and the following disclaimer in the
|
13 |
+
documentation and/or other materials provided with the distribution.
|
14 |
+
Neither the name of the Nara Institute of Science and Technology
|
15 |
+
(NAIST) nor the names of its contributors may be used to endorse or
|
16 |
+
promote products derived from this software without specific prior
|
17 |
+
written permission.
|
18 |
+
|
19 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
20 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
21 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
22 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
23 |
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
24 |
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
25 |
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
26 |
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
27 |
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
28 |
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
29 |
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30 |
+
|
31 |
+
/* ----------------------------------------------------------------- */
|
32 |
+
/* The Japanese TTS System "Open JTalk" */
|
33 |
+
/* developed by HTS Working Group */
|
34 |
+
/* http://open-jtalk.sourceforge.net/ */
|
35 |
+
/* ----------------------------------------------------------------- */
|
36 |
+
/* */
|
37 |
+
/* Copyright (c) 2008-2016 Nagoya Institute of Technology */
|
38 |
+
/* Department of Computer Science */
|
39 |
+
/* */
|
40 |
+
/* All rights reserved. */
|
41 |
+
/* */
|
42 |
+
/* Redistribution and use in source and binary forms, with or */
|
43 |
+
/* without modification, are permitted provided that the following */
|
44 |
+
/* conditions are met: */
|
45 |
+
/* */
|
46 |
+
/* - Redistributions of source code must retain the above copyright */
|
47 |
+
/* notice, this list of conditions and the following disclaimer. */
|
48 |
+
/* - Redistributions in binary form must reproduce the above */
|
49 |
+
/* copyright notice, this list of conditions and the following */
|
50 |
+
/* disclaimer in the documentation and/or other materials provided */
|
51 |
+
/* with the distribution. */
|
52 |
+
/* - Neither the name of the HTS working group nor the names of its */
|
53 |
+
/* contributors may be used to endorse or promote products derived */
|
54 |
+
/* from this software without specific prior written permission. */
|
55 |
+
/* */
|
56 |
+
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
|
57 |
+
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
|
58 |
+
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
59 |
+
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
|
60 |
+
/* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS */
|
61 |
+
/* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */
|
62 |
+
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
|
63 |
+
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
|
64 |
+
/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */
|
65 |
+
/* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
|
66 |
+
/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY */
|
67 |
+
/* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
68 |
+
/* POSSIBILITY OF SUCH DAMAGE. */
|
69 |
+
/* ----------------------------------------------------------------- */
|
voicevox_nemo_engine/docs/licenses/open_jtalk/mecab/COPYING
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Copyright (c) 2001-2008, Taku Kudo
|
2 |
+
Copyright (c) 2004-2008, Nippon Telegraph and Telephone Corporation
|
3 |
+
All rights reserved.
|
4 |
+
|
5 |
+
Redistribution and use in source and binary forms, with or without modification, are
|
6 |
+
permitted provided that the following conditions are met:
|
7 |
+
|
8 |
+
* Redistributions of source code must retain the above
|
9 |
+
copyright notice, this list of conditions and the
|
10 |
+
following disclaimer.
|
11 |
+
|
12 |
+
* Redistributions in binary form must reproduce the above
|
13 |
+
copyright notice, this list of conditions and the
|
14 |
+
following disclaimer in the documentation and/or other
|
15 |
+
materials provided with the distribution.
|
16 |
+
|
17 |
+
* Neither the name of the Nippon Telegraph and Telegraph Corporation
|
18 |
+
nor the names of its contributors may be used to endorse or
|
19 |
+
promote products derived from this software without specific
|
20 |
+
prior written permission.
|
21 |
+
|
22 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
23 |
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
24 |
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
25 |
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
27 |
+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
28 |
+
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
29 |
+
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30 |
+
|
31 |
+
/* ----------------------------------------------------------------- */
|
32 |
+
/* The Japanese TTS System "Open JTalk" */
|
33 |
+
/* developed by HTS Working Group */
|
34 |
+
/* http://open-jtalk.sourceforge.net/ */
|
35 |
+
/* ----------------------------------------------------------------- */
|
36 |
+
/* */
|
37 |
+
/* Copyright (c) 2008-2016 Nagoya Institute of Technology */
|
38 |
+
/* Department of Computer Science */
|
39 |
+
/* */
|
40 |
+
/* All rights reserved. */
|
41 |
+
/* */
|
42 |
+
/* Redistribution and use in source and binary forms, with or */
|
43 |
+
/* without modification, are permitted provided that the following */
|
44 |
+
/* conditions are met: */
|
45 |
+
/* */
|
46 |
+
/* - Redistributions of source code must retain the above copyright */
|
47 |
+
/* notice, this list of conditions and the following disclaimer. */
|
48 |
+
/* - Redistributions in binary form must reproduce the above */
|
49 |
+
/* copyright notice, this list of conditions and the following */
|
50 |
+
/* disclaimer in the documentation and/or other materials provided */
|
51 |
+
/* with the distribution. */
|
52 |
+
/* - Neither the name of the HTS working group nor the names of its */
|
53 |
+
/* contributors may be used to endorse or promote products derived */
|
54 |
+
/* from this software without specific prior written permission. */
|
55 |
+
/* */
|
56 |
+
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
|
57 |
+
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
|
58 |
+
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
59 |
+
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
|
60 |
+
/* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS */
|
61 |
+
/* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */
|
62 |
+
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
|
63 |
+
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
|
64 |
+
/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */
|
65 |
+
/* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
|
66 |
+
/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY */
|
67 |
+
/* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
68 |
+
/* POSSIBILITY OF SUCH DAMAGE. */
|
69 |
+
/* ----------------------------------------------------------------- */
|
voicevox_nemo_engine/docs/licenses/world/LICENSE.txt
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ----------------------------------------------------------------- */
|
2 |
+
/* WORLD: High-quality speech analysis, */
|
3 |
+
/* manipulation and synthesis system */
|
4 |
+
/* developed by M. Morise */
|
5 |
+
/* http://www.kisc.meiji.ac.jp/~mmorise/world/english/ */
|
6 |
+
/* ----------------------------------------------------------------- */
|
7 |
+
/* */
|
8 |
+
/* Copyright (c) 2010 M. Morise */
|
9 |
+
/* */
|
10 |
+
/* All rights reserved. */
|
11 |
+
/* */
|
12 |
+
/* Redistribution and use in source and binary forms, with or */
|
13 |
+
/* without modification, are permitted provided that the following */
|
14 |
+
/* conditions are met: */
|
15 |
+
/* */
|
16 |
+
/* - Redistributions of source code must retain the above copyright */
|
17 |
+
/* notice, this list of conditions and the following disclaimer. */
|
18 |
+
/* - Redistributions in binary form must reproduce the above */
|
19 |
+
/* copyright notice, this list of conditions and the following */
|
20 |
+
/* disclaimer in the documentation and/or other materials provided */
|
21 |
+
/* with the distribution. */
|
22 |
+
/* - Neither the name of the M. Morise nor the names of its */
|
23 |
+
/* contributors may be used to endorse or promote products derived */
|
24 |
+
/* from this software without specific prior written permission. */
|
25 |
+
/* */
|
26 |
+
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
|
27 |
+
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
|
28 |
+
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
29 |
+
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
|
30 |
+
/* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS */
|
31 |
+
/* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */
|
32 |
+
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
|
33 |
+
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
|
34 |
+
/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */
|
35 |
+
/* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
|
36 |
+
/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY */
|
37 |
+
/* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
38 |
+
/* POSSIBILITY OF SUCH DAMAGE. */
|
39 |
+
/* ----------------------------------------------------------------- */
|
voicevox_nemo_engine/docs/res/マルチエンジン概念図.svg
ADDED
voicevox_nemo_engine/engine_manifest.json
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"manifest_version": "0.13.1",
|
3 |
+
"name": "DUMMY Engine",
|
4 |
+
"brand_name": "DUMMY",
|
5 |
+
"uuid": "c7b58856-bd56-4aa1-afb7-b8415f824b06",
|
6 |
+
"version": "999.999.999",
|
7 |
+
"url": "https://github.com/VOICEVOX/voicevox_engine",
|
8 |
+
"command": "run",
|
9 |
+
"port": 50021,
|
10 |
+
"icon": "engine_manifest_assets/icon.png",
|
11 |
+
"default_sampling_rate": 24000,
|
12 |
+
"terms_of_service": "engine_manifest_assets/terms_of_service.md",
|
13 |
+
"update_infos": "engine_manifest_assets/update_infos.json",
|
14 |
+
"dependency_licenses": "engine_manifest_assets/dependency_licenses.json",
|
15 |
+
"supported_vvlib_manifest_version": "0.15.0",
|
16 |
+
"supported_features": {
|
17 |
+
"adjust_mora_pitch": {
|
18 |
+
"type": "bool",
|
19 |
+
"value": true,
|
20 |
+
"name": "モーラごとの音高の調整"
|
21 |
+
},
|
22 |
+
"adjust_phoneme_length": {
|
23 |
+
"type": "bool",
|
24 |
+
"value": true,
|
25 |
+
"name": "音素ごとの長さの調整"
|
26 |
+
},
|
27 |
+
"adjust_speed_scale": {
|
28 |
+
"type": "bool",
|
29 |
+
"value": true,
|
30 |
+
"name": "全体の話速の調整"
|
31 |
+
},
|
32 |
+
"adjust_pitch_scale": {
|
33 |
+
"type": "bool",
|
34 |
+
"value": true,
|
35 |
+
"name": "全体の音高の調整"
|
36 |
+
},
|
37 |
+
"adjust_intonation_scale": {
|
38 |
+
"type": "bool",
|
39 |
+
"value": true,
|
40 |
+
"name": "全体の抑揚の調整"
|
41 |
+
},
|
42 |
+
"adjust_volume_scale": {
|
43 |
+
"type": "bool",
|
44 |
+
"value": true,
|
45 |
+
"name": "全体の音量の調整"
|
46 |
+
},
|
47 |
+
"interrogative_upspeak": {
|
48 |
+
"type": "bool",
|
49 |
+
"value": true,
|
50 |
+
"name": "疑問文の自動調整"
|
51 |
+
},
|
52 |
+
"synthesis_morphing" : {
|
53 |
+
"type": "bool",
|
54 |
+
"value": true,
|
55 |
+
"name": "2人の話者でモーフィングした音声を合成"
|
56 |
+
},
|
57 |
+
"manage_library": {
|
58 |
+
"type": "bool",
|
59 |
+
"value": true,
|
60 |
+
"name": "音声ライブラリのインストール・アンインストール"
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}
|
voicevox_nemo_engine/engine_manifest_assets/dependency_licenses.json
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"name": "dummy library",
|
4 |
+
"version": "0.0.1",
|
5 |
+
"license": "dummy license",
|
6 |
+
"text": "dummy license text"
|
7 |
+
}
|
8 |
+
]
|
voicevox_nemo_engine/engine_manifest_assets/downloadable_libraries.json
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"name": "Dummy Library",
|
4 |
+
"uuid": "2bb8bccf-1c3f-4bc9-959a-f388e37af3ad",
|
5 |
+
"version": "0.0.1",
|
6 |
+
"download_url": "https://github.com/VOICEVOX/voicevox_engine/archive/d7cf31c058bc83e1abf8e14d4231a06409c4cc2d.zip",
|
7 |
+
"bytes": 1000,
|
8 |
+
"speakers": [
|
9 |
+
{
|
10 |
+
"speaker": {
|
11 |
+
"name": "dummy1",
|
12 |
+
"speaker_uuid": "7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff",
|
13 |
+
"styles": [
|
14 |
+
{
|
15 |
+
"name": "style1",
|
16 |
+
"id": 0
|
17 |
+
},
|
18 |
+
{
|
19 |
+
"name": "style2",
|
20 |
+
"id": 2
|
21 |
+
}
|
22 |
+
],
|
23 |
+
"version": "0.0.1"
|
24 |
+
},
|
25 |
+
"speaker_info": {
|
26 |
+
"policy": "",
|
27 |
+
"portrait": "",
|
28 |
+
"style_infos": [
|
29 |
+
{
|
30 |
+
"id": 0,
|
31 |
+
"icon": "",
|
32 |
+
"voice_samples": ["", "", ""]
|
33 |
+
},
|
34 |
+
{
|
35 |
+
"id": 2,
|
36 |
+
"icon": "",
|
37 |
+
"voice_samples": ["", "", ""]
|
38 |
+
}
|
39 |
+
]
|
40 |
+
}
|
41 |
+
}
|
42 |
+
]
|
43 |
+
}
|
44 |
+
]
|
voicevox_nemo_engine/engine_manifest_assets/icon.png
ADDED
voicevox_nemo_engine/engine_manifest_assets/terms_of_service.md
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
dummy teams of service
|
voicevox_nemo_engine/engine_manifest_assets/update_infos.json
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"version": "0.14.0",
|
4 |
+
"descriptions": ["VOICEVOX Nemoを追加"],
|
5 |
+
"contributors": []
|
6 |
+
}
|
7 |
+
]
|
voicevox_nemo_engine/generate_licenses.py
ADDED
@@ -0,0 +1,383 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import json
|
2 |
+
import os
|
3 |
+
import subprocess
|
4 |
+
import urllib.request
|
5 |
+
from dataclasses import asdict, dataclass
|
6 |
+
from pathlib import Path
|
7 |
+
from typing import List, Optional
|
8 |
+
|
9 |
+
|
10 |
+
@dataclass
|
11 |
+
class License:
|
12 |
+
name: str
|
13 |
+
version: Optional[str]
|
14 |
+
license: Optional[str]
|
15 |
+
text: str
|
16 |
+
|
17 |
+
|
18 |
+
def generate_licenses() -> List[License]:
|
19 |
+
licenses: List[License] = []
|
20 |
+
|
21 |
+
# openjtalk
|
22 |
+
# https://sourceforge.net/projects/open-jtalk/files/Open%20JTalk/open_jtalk-1.11/
|
23 |
+
licenses.append(
|
24 |
+
License(
|
25 |
+
name="Open JTalk",
|
26 |
+
version="1.11",
|
27 |
+
license="Modified BSD license",
|
28 |
+
text=Path("docs/licenses/open_jtalk/COPYING").read_text(),
|
29 |
+
)
|
30 |
+
)
|
31 |
+
licenses.append(
|
32 |
+
License(
|
33 |
+
name="MeCab",
|
34 |
+
version=None,
|
35 |
+
license="Modified BSD license",
|
36 |
+
text=Path("docs/licenses/open_jtalk/mecab/COPYING").read_text(),
|
37 |
+
)
|
38 |
+
)
|
39 |
+
licenses.append(
|
40 |
+
License(
|
41 |
+
name="NAIST Japanese Dictionary",
|
42 |
+
version=None,
|
43 |
+
license="Modified BSD license",
|
44 |
+
text=Path("docs/licenses//open_jtalk/mecab-naist-jdic/COPYING").read_text(),
|
45 |
+
)
|
46 |
+
)
|
47 |
+
with urllib.request.urlopen(
|
48 |
+
"https://raw.githubusercontent.com/r9y9/pyopenjtalk/master/pyopenjtalk/htsvoice/LICENSE_mei_normal.htsvoice" # noqa: B950
|
49 |
+
) as res:
|
50 |
+
licenses.append(
|
51 |
+
License(
|
52 |
+
name='HTS Voice "Mei"',
|
53 |
+
version=None,
|
54 |
+
license="Creative Commons Attribution 3.0 license",
|
55 |
+
text=res.read().decode(),
|
56 |
+
)
|
57 |
+
)
|
58 |
+
|
59 |
+
# VOICEVOX CORE
|
60 |
+
with urllib.request.urlopen(
|
61 |
+
"https://raw.githubusercontent.com/VOICEVOX/voicevox_core/main/LICENSE"
|
62 |
+
) as res:
|
63 |
+
licenses.append(
|
64 |
+
License(
|
65 |
+
name="VOICEVOX CORE",
|
66 |
+
version=None,
|
67 |
+
license="MIT license",
|
68 |
+
text=res.read().decode(),
|
69 |
+
)
|
70 |
+
)
|
71 |
+
|
72 |
+
# VOICEVOX ENGINE
|
73 |
+
with urllib.request.urlopen(
|
74 |
+
"https://raw.githubusercontent.com/VOICEVOX/voicevox_engine/master/LGPL_LICENSE"
|
75 |
+
) as res:
|
76 |
+
licenses.append(
|
77 |
+
License(
|
78 |
+
name="VOICEVOX ENGINE",
|
79 |
+
version=None,
|
80 |
+
license="LGPL license",
|
81 |
+
text=res.read().decode(),
|
82 |
+
)
|
83 |
+
)
|
84 |
+
|
85 |
+
# world
|
86 |
+
with urllib.request.urlopen(
|
87 |
+
"https://raw.githubusercontent.com/mmorise/World/master/LICENSE.txt"
|
88 |
+
) as res:
|
89 |
+
licenses.append(
|
90 |
+
License(
|
91 |
+
name="world",
|
92 |
+
version=None,
|
93 |
+
license="Modified BSD license",
|
94 |
+
text=res.read().decode(),
|
95 |
+
)
|
96 |
+
)
|
97 |
+
|
98 |
+
# pytorch
|
99 |
+
with urllib.request.urlopen(
|
100 |
+
"https://raw.githubusercontent.com/pytorch/pytorch/master/LICENSE"
|
101 |
+
) as res:
|
102 |
+
licenses.append(
|
103 |
+
License(
|
104 |
+
name="PyTorch",
|
105 |
+
version="1.9.0",
|
106 |
+
license="BSD-style license",
|
107 |
+
text=res.read().decode(),
|
108 |
+
)
|
109 |
+
)
|
110 |
+
|
111 |
+
# onnxruntime
|
112 |
+
with urllib.request.urlopen(
|
113 |
+
"https://raw.githubusercontent.com/microsoft/onnxruntime/master/LICENSE"
|
114 |
+
) as res:
|
115 |
+
licenses.append(
|
116 |
+
License(
|
117 |
+
name="ONNX Runtime",
|
118 |
+
version="1.13.1",
|
119 |
+
license="MIT license",
|
120 |
+
text=res.read().decode(),
|
121 |
+
)
|
122 |
+
)
|
123 |
+
|
124 |
+
# Python
|
125 |
+
python_version = "3.11.3"
|
126 |
+
with urllib.request.urlopen(
|
127 |
+
f"https://raw.githubusercontent.com/python/cpython/v{python_version}/LICENSE"
|
128 |
+
) as res:
|
129 |
+
licenses.append(
|
130 |
+
License(
|
131 |
+
name="Python",
|
132 |
+
version=python_version,
|
133 |
+
license="Python Software Foundation License",
|
134 |
+
text=res.read().decode(),
|
135 |
+
)
|
136 |
+
)
|
137 |
+
|
138 |
+
# pip
|
139 |
+
try:
|
140 |
+
pip_licenses_output = subprocess.run(
|
141 |
+
"pip-licenses "
|
142 |
+
"--from=mixed "
|
143 |
+
"--format=json "
|
144 |
+
"--with-urls "
|
145 |
+
"--with-license-file "
|
146 |
+
"--no-license-path ",
|
147 |
+
shell=True,
|
148 |
+
capture_output=True,
|
149 |
+
check=True,
|
150 |
+
env=os.environ,
|
151 |
+
).stdout.decode()
|
152 |
+
except subprocess.CalledProcessError as err:
|
153 |
+
raise Exception(
|
154 |
+
f"command output:\n{err.stderr and err.stderr.decode()}"
|
155 |
+
) from err
|
156 |
+
|
157 |
+
licenses_json = json.loads(pip_licenses_output)
|
158 |
+
for license_json in licenses_json:
|
159 |
+
license = License(
|
160 |
+
name=license_json["Name"],
|
161 |
+
version=license_json["Version"],
|
162 |
+
license=license_json["License"],
|
163 |
+
text=license_json["LicenseText"],
|
164 |
+
)
|
165 |
+
# FIXME: assert license type
|
166 |
+
if license.text == "UNKNOWN":
|
167 |
+
if license.name.lower() == "core" and license.version == "0.0.0":
|
168 |
+
continue
|
169 |
+
elif license.name.lower() == "future":
|
170 |
+
with urllib.request.urlopen(
|
171 |
+
"https://raw.githubusercontent.com/PythonCharmers/python-future/master/LICENSE.txt" # noqa: B950
|
172 |
+
) as res:
|
173 |
+
license.text = res.read().decode()
|
174 |
+
elif license.name.lower() == "pefile":
|
175 |
+
with urllib.request.urlopen(
|
176 |
+
"https://raw.githubusercontent.com/erocarrera/pefile/master/LICENSE" # noqa: B950
|
177 |
+
) as res:
|
178 |
+
license.text = res.read().decode()
|
179 |
+
elif license.name.lower() == "pyopenjtalk":
|
180 |
+
with urllib.request.urlopen(
|
181 |
+
"https://raw.githubusercontent.com/r9y9/pyopenjtalk/master/LICENSE.md"
|
182 |
+
) as res:
|
183 |
+
license.text = res.read().decode()
|
184 |
+
elif license.name.lower() == "python-multipart":
|
185 |
+
with urllib.request.urlopen(
|
186 |
+
"https://raw.githubusercontent.com/andrew-d/python-multipart/master/LICENSE.txt" # noqa: B950
|
187 |
+
) as res:
|
188 |
+
license.text = res.read().decode()
|
189 |
+
elif license.name.lower() == "romkan":
|
190 |
+
with urllib.request.urlopen(
|
191 |
+
"https://raw.githubusercontent.com/soimort/python-romkan/master/LICENSE"
|
192 |
+
) as res:
|
193 |
+
license.text = res.read().decode()
|
194 |
+
elif license.name.lower() == "distlib":
|
195 |
+
with urllib.request.urlopen(
|
196 |
+
"https://bitbucket.org/pypa/distlib/raw/7d93712134b28401407da27382f2b6236c87623a/LICENSE.txt" # noqa: B950
|
197 |
+
) as res:
|
198 |
+
license.text = res.read().decode()
|
199 |
+
elif license.name.lower() == "jsonschema":
|
200 |
+
with urllib.request.urlopen(
|
201 |
+
"https://raw.githubusercontent.com/python-jsonschema/jsonschema/dbc398245a583cb2366795dc529ae042d10c1577/COPYING"
|
202 |
+
) as res:
|
203 |
+
license.text = res.read().decode()
|
204 |
+
elif license.name.lower() == "lockfile":
|
205 |
+
with urllib.request.urlopen(
|
206 |
+
"https://opendev.org/openstack/pylockfile/raw/tag/0.12.2/LICENSE"
|
207 |
+
) as res:
|
208 |
+
license.text = res.read().decode()
|
209 |
+
elif license.name.lower() == "platformdirs":
|
210 |
+
with urllib.request.urlopen(
|
211 |
+
"https://raw.githubusercontent.com/platformdirs/platformdirs/aa671aaa97913c7b948567f4d9c77d4f98bfa134/LICENSE"
|
212 |
+
) as res:
|
213 |
+
license.text = res.read().decode()
|
214 |
+
elif license.name.lower() == "webencodings":
|
215 |
+
with urllib.request.urlopen(
|
216 |
+
"https://raw.githubusercontent.com/gsnedders/python-webencodings/fa2cb5d75ab41e63ace691bc0825d3432ba7d694/LICENSE"
|
217 |
+
) as res:
|
218 |
+
license.text = res.read().decode()
|
219 |
+
else:
|
220 |
+
# ライセンスがpypiに無い
|
221 |
+
raise Exception(f"No License info provided for {license.name}")
|
222 |
+
|
223 |
+
# soxr
|
224 |
+
if license.name.lower() == "soxr":
|
225 |
+
with urllib.request.urlopen(
|
226 |
+
"https://raw.githubusercontent.com/dofuuz/python-soxr/v0.3.6/LICENSE.txt"
|
227 |
+
) as res:
|
228 |
+
license.text = res.read().decode()
|
229 |
+
|
230 |
+
licenses.append(license)
|
231 |
+
|
232 |
+
# OpenBLAS
|
233 |
+
with urllib.request.urlopen(
|
234 |
+
"https://raw.githubusercontent.com/xianyi/OpenBLAS/develop/LICENSE"
|
235 |
+
) as res:
|
236 |
+
licenses.append(
|
237 |
+
License(
|
238 |
+
name="OpenBLAS",
|
239 |
+
version=None,
|
240 |
+
license="BSD 3-clause license",
|
241 |
+
text=res.read().decode(),
|
242 |
+
)
|
243 |
+
)
|
244 |
+
|
245 |
+
# libsndfile-binaries
|
246 |
+
with urllib.request.urlopen(
|
247 |
+
"https://raw.githubusercontent.com/bastibe/libsndfile-binaries/d9887ef926bb11cf1a2526be4ab6f9dc690234c0/COPYING" # noqa: B950
|
248 |
+
) as res:
|
249 |
+
licenses.append(
|
250 |
+
License(
|
251 |
+
name="libsndfile-binaries",
|
252 |
+
version="1.2.0",
|
253 |
+
license="LGPL-2.1 license",
|
254 |
+
text=res.read().decode(),
|
255 |
+
)
|
256 |
+
)
|
257 |
+
|
258 |
+
# libogg
|
259 |
+
with urllib.request.urlopen(
|
260 |
+
"https://raw.githubusercontent.com/xiph/ogg/v1.3.5/COPYING"
|
261 |
+
) as res:
|
262 |
+
licenses.append(
|
263 |
+
License(
|
264 |
+
name="libogg",
|
265 |
+
version="1.3.5",
|
266 |
+
license="BSD 3-clause license",
|
267 |
+
text=res.read().decode(),
|
268 |
+
)
|
269 |
+
)
|
270 |
+
|
271 |
+
# libvorbis
|
272 |
+
with urllib.request.urlopen(
|
273 |
+
"https://raw.githubusercontent.com/xiph/vorbis/v1.3.7/COPYING"
|
274 |
+
) as res:
|
275 |
+
licenses.append(
|
276 |
+
License(
|
277 |
+
name="libvorbis",
|
278 |
+
version="1.3.7",
|
279 |
+
license="BSD 3-clause license",
|
280 |
+
text=res.read().decode(),
|
281 |
+
)
|
282 |
+
)
|
283 |
+
|
284 |
+
# libflac
|
285 |
+
with urllib.request.urlopen(
|
286 |
+
"https://raw.githubusercontent.com/xiph/flac/1.4.2/COPYING.Xiph"
|
287 |
+
) as res:
|
288 |
+
licenses.append(
|
289 |
+
License(
|
290 |
+
name="FLAC",
|
291 |
+
version="1.4.2",
|
292 |
+
license="Xiph.org's BSD-like license",
|
293 |
+
text=res.read().decode(),
|
294 |
+
)
|
295 |
+
)
|
296 |
+
|
297 |
+
# libopus
|
298 |
+
with urllib.request.urlopen(
|
299 |
+
"https://raw.githubusercontent.com/xiph/opus/v1.3.1/COPYING"
|
300 |
+
) as res:
|
301 |
+
licenses.append(
|
302 |
+
License(
|
303 |
+
name="Opus",
|
304 |
+
version="1.3.1",
|
305 |
+
license="BSD 3-clause license",
|
306 |
+
text=res.read().decode(),
|
307 |
+
)
|
308 |
+
)
|
309 |
+
|
310 |
+
# mpg123
|
311 |
+
# https://sourceforge.net/projects/mpg123/files/mpg123/1.30.2/
|
312 |
+
licenses.append(
|
313 |
+
License(
|
314 |
+
name="mpg123",
|
315 |
+
version="1.30.2",
|
316 |
+
license="LGPL-2.1 license",
|
317 |
+
text=Path("docs/licenses/mpg123/COPYING").read_text(encoding="utf-8"),
|
318 |
+
)
|
319 |
+
)
|
320 |
+
|
321 |
+
# liblame
|
322 |
+
# https://sourceforge.net/projects/lame/files/lame/3.100/
|
323 |
+
with urllib.request.urlopen(
|
324 |
+
"https://svn.code.sf.net/p/lame/svn/tags/RELEASE__3_100/lame/COPYING"
|
325 |
+
) as res:
|
326 |
+
licenses.append(
|
327 |
+
License(
|
328 |
+
name="lame",
|
329 |
+
version="3.100",
|
330 |
+
license="LGPL-2.0 license",
|
331 |
+
text=res.read().decode(),
|
332 |
+
)
|
333 |
+
)
|
334 |
+
|
335 |
+
# cuda
|
336 |
+
# license text from CUDA 11.8.0
|
337 |
+
# https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local # noqa: B950
|
338 |
+
# https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_522.06_windows.exe # noqa: B950
|
339 |
+
# cuda_11.8.0_522.06_windows.exe (cuda_documentation/Doc/EULA.txt)
|
340 |
+
licenses.append(
|
341 |
+
License(
|
342 |
+
name="CUDA Toolkit",
|
343 |
+
version="11.8.0",
|
344 |
+
license=None,
|
345 |
+
text=Path("docs/licenses/cuda/EULA.txt").read_text(encoding="utf8"),
|
346 |
+
)
|
347 |
+
)
|
348 |
+
# cudnn
|
349 |
+
# license text from
|
350 |
+
# cuDNN v8.9.2 (June 1st, 2023), for CUDA 11.x, cuDNN Library for Windows
|
351 |
+
# https://developer.nvidia.com/rdp/cudnn-archive # noqa: B950
|
352 |
+
# https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/windows-x86_64/cudnn-windows-x86_64-8.9.2.26_cuda11-archive.zip # noqa: B950
|
353 |
+
# cudnn-windows-x86_64-8.9.2.26_cuda11-archive.zip (cudnn-windows-x86_64-8.9.2.26_cuda11-archive/LICENSE) # noqa: B950
|
354 |
+
licenses.append(
|
355 |
+
License(
|
356 |
+
name="cuDNN",
|
357 |
+
version="8.9.2",
|
358 |
+
license=None,
|
359 |
+
text=Path("docs/licenses/cudnn/LICENSE").read_text(encoding="utf8"),
|
360 |
+
)
|
361 |
+
)
|
362 |
+
|
363 |
+
return licenses
|
364 |
+
|
365 |
+
|
366 |
+
if __name__ == "__main__":
|
367 |
+
import argparse
|
368 |
+
import sys
|
369 |
+
|
370 |
+
parser = argparse.ArgumentParser()
|
371 |
+
parser.add_argument("-o", "--output_path", type=str)
|
372 |
+
args = parser.parse_args()
|
373 |
+
|
374 |
+
output_path = args.output_path
|
375 |
+
|
376 |
+
licenses = generate_licenses()
|
377 |
+
|
378 |
+
# dump
|
379 |
+
out = Path(output_path).open("w") if output_path else sys.stdout
|
380 |
+
json.dump(
|
381 |
+
[asdict(license) for license in licenses],
|
382 |
+
out,
|
383 |
+
)
|
voicevox_nemo_engine/get_cost_candidates.py
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
voicevox_engine/part_of_speech_data.pyのcost_candidatesを計算するプログラムです。
|
3 |
+
引数のnaist_jdic_pathには、open_jtalkのsrc/mecab-naist-jdic/naist-jdic.csvを指定してください。
|
4 |
+
|
5 |
+
実行例:
|
6 |
+
python get_cost_candidates.py --naist_jdic_path=/path/to/naist-jdic.csv \
|
7 |
+
--pos=名詞 \
|
8 |
+
--pos_detail_1=固有名詞 \
|
9 |
+
--pos_detail_2=一般 \
|
10 |
+
--pos_detail_3=*
|
11 |
+
|
12 |
+
cost_candidatesの値の詳細は以下の通りです。
|
13 |
+
- 1番目の値はnaist_jdic内の同一品詞の最小コストから1を引いたもの、11番目の値は最大コストに1を足したものです。
|
14 |
+
- 2番目の値はnaist_jdic内の同一品詞のコストの下位1%、10番目の値は99%の値です。
|
15 |
+
- 6番目の値はnaist_jdic内の同一品詞のコストの最頻値です。
|
16 |
+
- 2番目から6番目、6番目から10番目までの値は一定割合で増加するようになっています。
|
17 |
+
"""
|
18 |
+
|
19 |
+
import argparse
|
20 |
+
import statistics
|
21 |
+
from pathlib import Path
|
22 |
+
from typing import List
|
23 |
+
|
24 |
+
import numpy as np
|
25 |
+
|
26 |
+
|
27 |
+
def get_candidates(
|
28 |
+
naist_jdic_path: Path,
|
29 |
+
pos: str,
|
30 |
+
pos_detail_1: str,
|
31 |
+
pos_detail_2: str,
|
32 |
+
pos_detail_3: str,
|
33 |
+
) -> List[int]:
|
34 |
+
costs = []
|
35 |
+
with naist_jdic_path.open(encoding="utf-8") as f:
|
36 |
+
for line in f:
|
37 |
+
(
|
38 |
+
_,
|
39 |
+
_,
|
40 |
+
_,
|
41 |
+
_cost,
|
42 |
+
_pos,
|
43 |
+
_pos_detail_1,
|
44 |
+
_pos_detail_2,
|
45 |
+
_pos_detail_3,
|
46 |
+
_,
|
47 |
+
_,
|
48 |
+
_,
|
49 |
+
_,
|
50 |
+
_,
|
51 |
+
_,
|
52 |
+
_,
|
53 |
+
) = line.split(",")
|
54 |
+
if (_pos, _pos_detail_1, _pos_detail_2, _pos_detail_3) == (
|
55 |
+
pos,
|
56 |
+
pos_detail_1,
|
57 |
+
pos_detail_2,
|
58 |
+
pos_detail_3,
|
59 |
+
):
|
60 |
+
costs.append(int(_cost))
|
61 |
+
assert len(costs) > 0
|
62 |
+
cost_min = min(costs) - 1
|
63 |
+
cost_1per = np.quantile(costs, 0.01).astype(np.int64)
|
64 |
+
cost_mode = statistics.mode(costs)
|
65 |
+
cost_99per = np.quantile(costs, 0.99).astype(np.int64)
|
66 |
+
cost_max = max(costs) + 1
|
67 |
+
return (
|
68 |
+
[cost_min]
|
69 |
+
+ [int(cost_1per + (cost_mode - cost_1per) * i / 4) for i in range(5)]
|
70 |
+
+ [int(cost_mode + (cost_99per - cost_mode) * i / 4) for i in range(1, 5)]
|
71 |
+
+ [cost_max]
|
72 |
+
)
|
73 |
+
|
74 |
+
|
75 |
+
if __name__ == "__main__":
|
76 |
+
parser = argparse.ArgumentParser()
|
77 |
+
parser.add_argument("--naist_jdic_path", type=Path)
|
78 |
+
parser.add_argument("--pos", type=str)
|
79 |
+
parser.add_argument("--pos_detail_1", type=str)
|
80 |
+
parser.add_argument("--pos_detail_2", type=str)
|
81 |
+
parser.add_argument("--pos_detail_3", type=str)
|
82 |
+
args = parser.parse_args()
|
83 |
+
print(
|
84 |
+
get_candidates(
|
85 |
+
naist_jdic_path=args.naist_jdic_path,
|
86 |
+
pos=args.pos,
|
87 |
+
pos_detail_1=args.pos_detail_1,
|
88 |
+
pos_detail_2=args.pos_detail_2,
|
89 |
+
pos_detail_3=args.pos_detail_3,
|
90 |
+
)
|
91 |
+
)
|