From 7cb7cbc37c10fd7fe54461a53f6c2cbe1ca48ea7 Mon Sep 17 00:00:00 2001 From: tarepan Date: Thu, 7 Mar 2024 09:36:26 +0000 Subject: [PATCH 1/3] =?UTF-8?q?add:=20VVM=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB=E8=A9=B3=E7=B4=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- docs/vvm.md | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4024e9721..e556ea0f1 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ ## 環境構築 > [!NOTE] -> 音声モデル(VVM ファイル)には利用規約が存在します。詳しくはダウンロードしたファイル内の README に記載されています。 +> 音声モデル([VVM ファイル](./docs/vvm.md))には利用規約が存在します。詳しくはダウンロードしたファイル内の README に記載されています。 Downloader を用いて環境構築を行う場合 diff --git a/docs/vvm.md b/docs/vvm.md index 572ffee1a..c2de7fb41 100644 --- a/docs/vvm.md +++ b/docs/vvm.md @@ -1,9 +1,24 @@ # VVM ファイル -音声合成するために必要な onnx モデルファイルなどがまとめられた zip 形式のファイル。 -root パスに確定で`manifest.json`を持つ。 +***VVM ファイル*** は、音声合成に必要な声情報を含むファイルである。 + +より正確には、音声合成のモデル重みファイルなどを含む zip 形式のアーカイブである。拡張子は `.vvm`。 +以下の内部ディレクトリ構造を持つ: + +- `{filename}.vvm` + - `manifest.json` + - `metas.json` + - + - + - + +model は `.onnx` や `.bin` など様々ある。例えば `sample.vvm` は `predict_duration.onnx` / `predict_intonation.onnx` / `decode.onnx` を含む。 + +VOICEVOX OSS が提供する VVM には [`sample.vvm`](https://github.com/VOICEVOX/voicevox_core/tree/main/model) がある。 +製品版 VOICEVOX で利用される VVM は [こちらのレポジトリ](https://github.com/VOICEVOX/voicevox_fat_resource/tree/main/core/model) で確認できる。 ## マニフェストファイル -ファイルの構成や、onnx モデルなどを読み込む・利用するのに必要な情報を記述した json ファイル。 -root パスに`manifest.json`として配置する。 +VVM における ***マニフェストファイル*** は、VVM ファイルの構成や、onnx モデルなどを読み込む・利用するのに必要な情報を記述したファイルである。 +json 形式で記述され、root パスに`manifest.json`として配置する。 +[VOICEVOX CORE のソースコード](https://github.com/VOICEVOX/voicevox_core/blob/main/crates/voicevox_core/src/manifest.rs) 内で `Manifest` 構造体としてスキーマが定義されている。 From 952fe3ab9002a2b7ae91738e67db7c1ae46d7655 Mon Sep 17 00:00:00 2001 From: tarepan Date: Sat, 23 Mar 2024 11:17:27 +0000 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20VVM=20docs=20=E3=81=B8=E3=81=AE?= =?UTF-8?q?=E3=83=AA=E3=83=B3=E3=82=AF=E3=82=92=20README=20=E3=81=8B?= =?UTF-8?q?=E3=82=89=E3=82=B3=E3=83=BC=E3=83=89=E3=82=B3=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=81=B8=E7=A7=BB=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- crates/voicevox_core/src/voice_model.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e556ea0f1..4024e9721 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ ## 環境構築 > [!NOTE] -> 音声モデル([VVM ファイル](./docs/vvm.md))には利用規約が存在します。詳しくはダウンロードしたファイル内の README に記載されています。 +> 音声モデル(VVM ファイル)には利用規約が存在します。詳しくはダウンロードしたファイル内の README に記載されています。 Downloader を用いて環境構築を行う場合 diff --git a/crates/voicevox_core/src/voice_model.rs b/crates/voicevox_core/src/voice_model.rs index 77e7bd784..b518b0306 100644 --- a/crates/voicevox_core/src/voice_model.rs +++ b/crates/voicevox_core/src/voice_model.rs @@ -8,6 +8,8 @@ use crate::{ }; use std::{collections::BTreeMap, path::PathBuf}; +/// VVM ファイルの定義と形式は[ドキュメント](docs/vvm.md)を参照。 + /// [`VoiceModelId`]の実体。 /// /// [`VoiceModelId`]: VoiceModelId From bdba6b914512bd30ae807ea2439c27f0ab1f74b8 Mon Sep 17 00:00:00 2001 From: tarepan Date: Mon, 25 Mar 2024 21:31:09 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20Rust=20=E3=83=89=E3=82=AD=E3=83=A5?= =?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=88=E3=83=95=E3=82=A9=E3=83=BC=E3=83=9E?= =?UTF-8?q?=E3=83=83=E3=83=88=E3=81=AB=E8=BF=BD=E5=BE=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/voicevox_core/src/voice_model.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/voicevox_core/src/voice_model.rs b/crates/voicevox_core/src/voice_model.rs index b518b0306..76f692eaa 100644 --- a/crates/voicevox_core/src/voice_model.rs +++ b/crates/voicevox_core/src/voice_model.rs @@ -1,3 +1,7 @@ +//! 音声モデル( VVM ファイル)。 +//! +//! VVM ファイルの定義と形式は[ドキュメント](../../../docs/vvm.md)を参照。 + use derive_getters::Getters; use derive_new::new; use serde::Deserialize; @@ -8,8 +12,6 @@ use crate::{ }; use std::{collections::BTreeMap, path::PathBuf}; -/// VVM ファイルの定義と形式は[ドキュメント](docs/vvm.md)を参照。 - /// [`VoiceModelId`]の実体。 /// /// [`VoiceModelId`]: VoiceModelId