WolfDavid's picture
docs(01-10): record the cold start, the lip-sync review and the VRM decision
648b932
|
Raw History Blame
25.3 kB

Third-party licences (DPLY-04)

Every third-party asset this project ships, fetches at runtime, or loads into a visitor's browser, with the permission each one is used under and how that permission is honoured.

This document merges docs/ASSETS.md (the VRM, plan 01-01) and docs/VOICEVOX-SETUP.md (the three VOICEVOX licence layers and the dictionary, plan 01-04); it does not re-research either. Every runtime-library licence below was re-verified on 2026-09-06 against the package registry and the upstream repository, and the VRM's row is verified automatically: tests/e2e/test_avatar_loop.py::test_vrm_meta_matches_licenses reads the shipped file's own embedded VRMC_vrm.meta on the deployed Space and compares it with the vrm_meta block in this file, so the document and the binary cannot silently disagree.

The repository's own code is MIT (see the Space README.md front-matter). Nothing below is covered by that licence.

Summary

Asset Version Author / rights holder Source URL Licence / terms URL Permission relied on Required credit string How we comply
VRM character avatar/assets/tutor.vrm VRM1_Constraint_Twist_Sample v1.0.1, VRM 1.0 pixiv Inc. — (c) 2022 pixiv Inc. https://github.com/vrm-c/vrm-specification/tree/master/samples/VRM1_Constraint_Twist_Sample https://vrm.dev/licenses/1.0/ (VRM Public License 1.0, with per-file flags embedded in the file) Embedded VRMC_vrm.meta: allowRedistribution: true, avatarPermission: everyone, modification: allowModificationRedistribution, commercialUsage: corporation none (creditNotation: unnecessary); credited voluntarily as VRM1_Constraint_Twist_Sample (c) 2022 pixiv Inc. - VRM Public License 1.0 Committed through Git LFS unmodified; credit rendered in the footer, the About panel and the README; the one restriction (allowAntisocialOrHateUsage: false) is stated below; sourcing gate re-raised and closed in plan 01-10 (kept; docs/ASSETS.md)
VOICEVOX CORE (software) voicevox_core 0.17.0 (Python wheel, abi3) Hiroshiba Kazuyuki (ヒホ) / the VOICEVOX project https://github.com/VOICEVOX/voicevox_core/releases/tag/0.17.0 https://voicevox.hiroshiba.jp/term/ (VOICEVOX ソフトウェア利用規約); code and build artefacts MIT — https://github.com/VOICEVOX/voicevox_core/blob/0.17.0/LICENSE Software terms: commercial and non-commercial use permitted; generated audio may be provided onward subject to the flow-down obligation of clause 3. MIT for the linked code VOICEVOX:<character> — satisfied by the character row below; plus the terms notice wherever audio is obtainable Installed from the official release URL pinned in requirements.txt; the wheel is never vendored (禁止事項 forbids unauthorised redistribution of the software); flow-down notice rendered next to the Replay control
VOICEVOX ONNX Runtime voicevox_onnxruntime 1.23.2 VOICEVOX project build of Microsoft ONNX Runtime https://github.com/VOICEVOX/onnxruntime-builder/releases/tag/voicevox_onnxruntime-1.23.2 MIT (both VOICEVOX/onnxruntime-builder and microsoft/onnxruntime) MIT none Fetched lazily at runtime into the gitignored voicevox_runtime/ from the official release; never committed or redistributed (docs/VOICEVOX-SETUP.md § ONNX Runtime acquisition)
VOICEVOX voice model voicevox/model/zundamon.vvm voicevox_vvm 0.17.0, file 0.vvm (SHA-256 ecd35374d4182cd883cba5040376f7f888cc6ba248b1c2f4cea07cdb34bb1318) the VOICEVOX project (model file); voices inside it belong to their character licensors https://github.com/VOICEVOX/voicevox_vvm/releases/tag/0.17.0 VOICEVOX 音声モデル 利用規約 — https://github.com/VOICEVOX/voicevox_vvm/blob/main/README.md (shipped as README.txt / TERMS.txt with the release) Clause 2: 「アプリケーションに組み込んで再配布することができます」 — embedded redistribution is explicitly permitted; clause 4 flow-down; a credit that shows VOICEVOX was used is required VOICEVOX:ずんだもん (only ずんだもん, style 3, is used; the other voices packaged in 0.vvm are neither used nor credited) Committed through Git LFS under clause 2; credit and flow-down notice rendered; the model is used only through VOICEVOX CORE
ずんだもん (character voice) — (voice library shipped inside 0.vvm) SSS LLC (合同会社SSS) https://zunko.jp/ https://zunko.jp/con_ongen_kiyaku.html (音源利用規約, one document covering nine characters) Commercial and non-commercial use of generated audio permitted with credit; app use requires the credit on an introduction/about screen VOICEVOX:ずんだもん — exact, ASCII colon, no spaces Persistent footer credit + About panel on first paint (server-delivered, not injected); flow-down notice linking both terms URLs; no prohibited-use path exists (see below)
Open JTalk dictionary voicevox/open_jtalk_dic_utf_8-1.11/ open_jtalk_dic_utf_8-1.11 © 2009 Nara Institute of Science and Technology (NAIST), Japan https://downloads.sourceforge.net/project/open-jtalk/Dictionary/open_jtalk_dic-1.11/open_jtalk_dic_utf_8-1.11.tar.gz BSD-3-Clause — voicevox/open_jtalk_dic_utf_8-1.11/COPYING (reproduced below) BSD-3-Clause redistribution in binary form, with the notice reproduced none (attribution notice) COPYING is committed alongside the dictionary files; the notice is reproduced in this file; the About panel names NAIST. Open JTalk itself (Nagoya Institute of Technology / HTS Working Group, modified BSD) is linked inside VOICEVOX CORE and is attributed too
three.js (incl. its GLTFLoader addon) 0.185.1 three.js authors (mrdoob et al.) https://github.com/mrdoob/three.js MIT — https://github.com/mrdoob/three.js/blob/master/LICENSE MIT: redistribution permitted with the copyright and permission notice kept none Vendored into this repository (plan 01-10) as avatar/vendor/three.mjs and avatar/vendor/GLTFLoader.mjs, the package's LICENSE copied alongside as avatar/vendor/LICENSE-three.txt; served by the Space itself, no CDN in the render path. Provenance, hashes and the regeneration command: avatar/vendor/README.md
@pixiv/three-vrm 3.5.5 pixiv Inc. https://github.com/pixiv/three-vrm MIT — https://github.com/pixiv/three-vrm/blob/dev/LICENSE MIT: redistribution permitted with the copyright and permission notice kept none Vendored into this repository (plan 01-10) as avatar/vendor/three-vrm.mjs (the build against three@0.185.1), the package's LICENSE copied alongside as avatar/vendor/LICENSE-three-vrm.txt; served by the Space itself
@huggingface/transformers (transformers.js) 4.2.0 Hugging Face https://github.com/huggingface/transformers.js Apache-2.0 — https://github.com/huggingface/transformers.js/blob/main/LICENSE Apache-2.0 use in the visitor's browser none Not vendored, deliberately (plan 01-10): still loaded by the visitor's browser from https://esm.sh/@huggingface/transformers@4.2.0 on the first accepted push-to-talk, because the library fetches its own ONNX Runtime WASM assets and the Whisper model from the Hugging Face CDN regardless, so vendoring the shim alone would remove no dependency (avatar/vendor/README.md). Nothing of it is redistributed by this repository, so no NOTICE reproduction is triggered
Whisper ASR model onnx-community/whisper-base (q4 ONNX) onnx-community/whisper-base, converted from openai/whisper-base OpenAI (model); onnx-community (ONNX conversion) https://huggingface.co/onnx-community/whisper-base Weights: Apache-2.0 per the openai/whisper-base model card (license: apache-2.0; the conversion card declares base_model: openai/whisper-base and no licence of its own). Source code of openai/whisper: MIT Apache-2.0 use of the weights in the visitor's browser none (attribution) Not in this repository: the visitor's browser downloads it from huggingface.co on the first accepted push (135.8 MB); attributed here and in the About panel ("Whisper"). The "better accuracy" model whisper-large-v3-turbo is not offered yet

Ten rows for the eight asset classes 01-VALIDATION.md names: the ONNX Runtime is listed separately from VOICEVOX CORE because it is fetched by a different mechanism and under a different licence, and the Whisper weights are listed because the visitor's browser downloads them even though this repository never ships them.

Machine-readable blocks

The deployed suite parses these. Keep the keys and the values exactly as the shipped assets and the rendered page have them.

The VRM's embedded VRMC_vrm.meta, as read out of avatar/assets/tutor.vrm itself (VRM 1.0 key names; thumbnailImage is an image index and is omitted):

name: VRM1_Constraint_Twist_Sample
version: v1.0.1
authors: pixiv Inc.
copyrightInformation: (c) 2022 pixiv Inc.
licenseUrl: https://vrm.dev/licenses/1.0/
avatarPermission: everyone
commercialUsage: corporation
creditNotation: unnecessary
allowRedistribution: true
modification: allowModificationRedistribution
allowAntisocialOrHateUsage: false
allowExcessivelySexualUsage: true
allowExcessivelyViolentUsage: true
allowPoliticalOrReligiousUsage: true

The credit strings the page must render (tests/e2e/test_avatar_loop.py::test_credits_visible checks the footer, the About panel and the server-delivered config for them):

voice: VOICEVOX:ずんだもん
avatar: VRM1_Constraint_Twist_Sample (c) 2022 pixiv Inc. - VRM Public License 1.0

VRM character — avatar/assets/tutor.vrm

FINAL. The sourcing gate armed in plan 01-01 was re-raised at plan 01-10's phase-exit checkpoint (2026-09-06) and the owner kept this file as the shipped character: the embedded meta permits redistribution, modification and avatar use with no credit owed, and the page credits pixiv Inc. regardless. Decision and rationale: docs/ASSETS.md § Sourcing decision.

VRM Public License 1.0 is a template, not a fixed grant: redistribution, avatar use, modification and commercial use are per-file flags set by the licensor inside the model's own VRMC_vrm.meta. Two files citing the same licence URL can grant materially different rights. The facts above were therefore parsed out of this file's glTF JSON chunk (10,776,032 bytes, SHA-256 12c2b97e95e700783a6a550dc0eee2d7880aeedccef9ae67bc4c5a2f0f2631a2), never off a README.

Permissions relied on, and what each one covers here:

Flag Value What it licenses in this project
allowRedistribution true Committing the file to this public repository and serving it from the Space
avatarPermission everyone Any visitor uses it as the tutor avatar
modification allowModificationRedistribution The rest pose applied at mount, and any future retargeting, still redistributable
commercialUsage corporation The broadest tier; a public portfolio Space is covered unambiguously
creditNotation unnecessary No credit is required. One is rendered anyway
allowAntisocialOrHateUsage false The one restriction. A Japanese-language tutor has no such use path; stated so it is not silently dropped

VOICEVOX — three licence layers, read separately

The voice output involves three rights holders, and their terms differ in one place that looks like a contradiction until both are read.

1. Software — VOICEVOX ソフトウェア利用規約, https://voicevox.hiroshiba.jp/term/. Commercial and non-commercial use permitted. Clause 3 attaches a flow-down obligation: when audio generated here is made available to others, those others must be bound to the same terms. 禁止事項 forbids redistributing the software in whole or in part without authorisation, so the voicevox_core wheel and the ONNX Runtime binary are always referenced from their official release URLs and never copied into this repository. Separately from the terms of use, the VOICEVOX CORE code and build artefacts are MIT-licensed as of 0.17.0 (LICENSE, © 2021 Hiroshiba Kazuyuki; README § ライセンス). Correction to earlier project notes: prebuilt cores below version 0.16 were under a different (LGPL v3 / commercial dual) licence, and that is the version some of this project's planning text still describes; the shipped 0.17.0 is MIT.

2. Voice model — VOICEVOX 音声モデル 利用規約, in the voicevox_vvm README and shipped as README.txt / TERMS.txt with the release. Clause 2 (quoted verbatim in the table above) states that the model may be embedded in an application and redistributed — embedded redistribution is explicitly permitted, which is why voicevox/model/zundamon.vvm is committed (through Git LFS) while the software is not. That asymmetry is deliberate on VOICEVOX's side and on ours: the software terms forbid redistributing the software; the model terms permit redistributing the model inside an application. Clause 4 carries the same flow-down obligation, and a credit showing that VOICEVOX was used is required.

3. Character — ずんだもん, SSS LLC, https://zunko.jp/con_ongen_kiyaku.html. Audio generated with the ずんだもん voice library may be used commercially and non-commercially provided the credit VOICEVOX:ずんだもん is displayed. Without the credit, per-character licensing is ¥400,000 (+ tax) per character — which is why the credit is not optional and why it is rendered on first paint rather than behind a click. Placement (clause 2): for app use, on an introduction/about screen, somewhere findable with a little looking (「アプリの紹介画面などに記載をお願いします。(少し探せばわかる場所に)」); Phase 1 renders it in a persistent footer beside the avatar and in the About panel, open on first load.

Prohibited uses under the character terms, recorded so later phases can check against them: 公序良俗に反する利用; 政治的・宗教的活動; 情報商材; 意図的な虚偽情報の作成・拡散; 風俗営業; 反社会的勢力による利用. The falsehood clause is scoped to intentional creation or spread — relevant once an LLM produces the avatar's lines (Phase 3): a tutor that is sometimes wrong is not in scope of it; a product designed to mislead would be.

There is no escalation path and none should be sought: SSS LLC's 免責条項 2 states that they do not, as a rule, answer "does my use qualify" questions (「本ガイドラインに該当するかどうかのご質問については、原則お答えしておりません。」). The posture is: read the guideline, comply visibly, document here.

The credit obligation survives an engine swap: the official VOICEVOX Q&A answers that using the intermediate AudioQuery with another synthesiser still requires the credit (「必要です。」). The viseme timeline in this project is built from the AudioQuery, so the credit is owed on that basis alone.

Pre-cleared swap-in: VOICEVOX Nemo. If the character terms ever become inconvenient, n0.vvm from the same voicevox_vvm 0.17.0 release (nine voices, style IDs 10000–10008) is a two-line change. Credit is just VOICEVOX Nemo; the terms live entirely in the voicevox_vvm README (https://voicevox.hiroshiba.jp/nemo/term/); there is no third-party rights holder and no ¥400,000 credit-omission clause. The cost is the loss of a recognisable character.

Open JTalk dictionary — voicevox/open_jtalk_dic_utf_8-1.11/

BSD-3-Clause. The shipped COPYING reads, verbatim:

Copyright (c) 2009, Nara Institute of Science and Technology, Japan. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the Nara Institute of Science and Technology (NAIST) nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Two institutions are genuinely involved, and earlier research conflated them:

  • The dictionary data committed here (open_jtalk_dic_utf_8-1.11, NAIST Japanese Dictionary / IPAdic lineage) is © 2009 Nara Institute of Science and Technology — the notice above is the one that must be reproduced for the files actually redistributed in this repository.
  • Open JTalk itself — the engine whose dictionary format this is, linked inside voicevox_core — is by the Nagoya Institute of Technology and the HTS Working Group, under a modified BSD licence. It is not redistributed by this repository; it is attributed because the About panel names the engine.

Runtime libraries loaded into the visitor's browser

Library Version Licence Copyright Loaded from
three.js 0.185.1 MIT © 2010-2026 three.js authors avatar/vendor/three.mjs + avatar/vendor/GLTFLoader.mjs, served by the Space (/gradio_api/file=avatar/vendor/…); licence text avatar/vendor/LICENSE-three.txt
@pixiv/three-vrm 3.5.5 MIT © 2019-2026 pixiv Inc. avatar/vendor/three-vrm.mjs, served by the Space; licence text avatar/vendor/LICENSE-three-vrm.txt
@huggingface/transformers 4.2.0 Apache-2.0 © Hugging Face https://esm.sh/@huggingface/transformers@4.2.0 — the one remaining CDN load, on the push-to-talk path only, deliberately (see the table above and avatar/vendor/README.md)

The two rendering libraries were vendored by plan 01-10: scripts/vendor_modules.py downloads the exact esm.sh builds the browser executed before (three@0.185.1's es2022 build, its GLTFLoader, and @pixiv/three-vrm@3.5.5 built against that three), rewrites their imports so all three share one ./three.mjs, asserts no absolute or root-relative import survives, and copies each package's LICENSE beside the modules — MIT permits exactly that redistribution provided the notice is kept. avatar/vendor/README.md records every file's SHA256, byte size and source URL; tests/test_vendor.py fails if a module is hand-edited or a CDN URL returns to the render path. transformers.js stays on the CDN because its own runtime assets and the Whisper model come from the Hugging Face CDN whatever the shim's origin; the render path is what must survive a CDN outage, and it now does.

The ASR model (onnx-community/whisper-base, q4) is downloaded by the browser from huggingface.co on the first accepted push-to-talk utterance and cached by the browser; it is never served from this repository or the Space. docs/ASR-TIERS.md records why this model and this quantisation.

Not used, and why

  • AvatarSample_A, AvatarSample_B and AvatarSample_C are NOT CC0. Copyright is retained and VRoid Hub's conditions apply; VRoid's own FAQ prohibits redistributing them under a CC0 designation. The claim is repeated confidently across tutorials and blog posts, and it is false. Recorded here so it is not reintroduced into this repository.
  • CC0 cannot be set on VRoid Hub at all, so any "CC0 on VRoid Hub" claim is false by construction; and enabling "Allow third-party usage" on VRoid Hub overwrites a model's embedded licence with the Hub's own conditions, so a Hub-sourced file's embedded flags may not say what its author intended. Both are reasons the VRM row above reads the flags out of the shipped file.
  • Hosted ASR on accelerated hardware (tier D) is deliberately not built: it would burn the visitor's ZeroGPU quota, contradicting SC-4. tests/test_transport_seam.py fails if one appears.
  • Style-Bert-VITS2 (AGPL-3.0), pykakasi (GPL-3.0) and edge-tts (undocumented endpoint) were rejected at stack selection for licence reasons and do not appear anywhere in the tree. Python dependencies that are not assets (gradio, spaces, huggingface_hub, numpy) are ordinary Apache-2.0 / BSD packages installed from PyPI and are not redistributed.

Completeness review (plan 01-10 Task 3, 2026-09-06)

The eight-asset checklist from 01-VALIDATION.md, re-read against the sources in this tree by the execution agent on the owner's instruction (the owner asked for the manual rows to be done on their behalf; the legal judgement is therefore the agent's reading, recorded so the owner can overrule it). Result: no gaps.

# Asset Row present Checked against
1 VRM character yes docs/ASSETS.md (same source, licence URL and embedded flags); tests/e2e/test_avatar_loop.py::test_vrm_meta_matches_licenses green on the deployed file. Sourcing gate closed: the file is final
2 VOICEVOX software yes docs/VOICEVOX-SETUP.md (terms URL voicevox.hiroshiba.jp/term/, MIT at tag 0.17.0); requirements.txt installs exactly the 0.17.0 release wheel from the official URL
3 VOICEVOX voice model (.vvm) yes voicevox_vvm 0.17.0 release in docs/VOICEVOX-SETUP.md; sha256sum voicevox/model/zundamon.vvm = ecd35374…1318, the value in the row; the file is an LFS object
4 ずんだもん character terms yes docs/VOICEVOX-SETUP.md (zunko.jp/con_ongen_kiyaku.html); the credit string in the credits block is what test_credits_visible asserted on the Space
5 Open JTalk dictionary yes voicevox/open_jtalk_dic_utf_8-1.11/COPYING first line Copyright (c) 2009, Nara Institute of Science and Technology, Japan.; the Nagoya Institute of Technology / HTS Working Group attribution for Open JTalk itself, as docs/VOICEVOX-SETUP.md records; the About panel names both institutions
6 three.js yes avatar/vendor/README.md (three@0.185.1 es2022 build, SHA256 recorded, tests/test_vendor.py re-checks); avatar/vendor/LICENSE-three.txt is the MIT notice © 2010-2026 three.js authors
7 @pixiv/three-vrm yes avatar/vendor/README.md (3.5.5 built against three@0.185.1); avatar/vendor/LICENSE-three-vrm.txt is the MIT notice © 2019-2026 pixiv Inc.
8 @huggingface/transformers yes avatar/asr.js loads exactly https://esm.sh/@huggingface/transformers@4.2.0, the version in the row; not redistributed, so no NOTICE reproduction is owed; the Whisper weights it downloads have their own row

Every cell of the summary table is filled (no TODO, TBD or empty cell); the two machine-readable blocks are the ones the deployed suite parsed green. Nothing in this document is a claim the agent is unwilling to publish.

Verification record

Check Result (2026-09-06)
VRM VRMC_vrm.meta parsed from the shipped file matches the vrm_meta block above, key for key
voicevox_core 0.17.0 licence README § ライセンス at tag 0.17.0: MIT; LICENSE © 2021 Hiroshiba Kazuyuki; GitHub API MIT
voicevox_vvm clause 2 present verbatim in the main README (line 21)
VOICEVOX/onnxruntime-builder, microsoft/onnxruntime GitHub API: MIT, MIT
three@0.185.1, @pixiv/three-vrm@3.5.5, @huggingface/transformers@4.2.0 npm registry: MIT, MIT, Apache-2.0 (all three are also the current latest)
Vendored avatar/vendor/*.mjs and the two LICENSE-*.txt (plan 01-10) SHA256 and byte size of each recorded in avatar/vendor/README.md from the fetch; tests/test_vendor.py::test_vendored_hashes_match_readme re-checks them on every quick loop; the licence texts are the packages' own LICENSE files from the npm tarballs (unpkg), both MIT
openai/whisper-base model card HF API cardData.license = apache-2.0; openai/whisper repo MIT
onnx-community/whisper-base card no licence field; base_model: openai/whisper-base
Open JTalk COPYING first line: Copyright (c) 2009, Nara Institute of Science and Technology, Japan.
Terms URLs answer voicevox.hiroshiba.jp/term/ 200 · zunko.jp/con_ongen_kiyaku.html 200 · voicevox.hiroshiba.jp/nemo/term/ 200 · vrm.dev/licenses/1.0/ 200