--- license: cc-by-sa-4.0 language: ja tags: [coreml, style-bert-vits2] base_model: ku-nlp/deberta-v2-large-japanese-char-wwm --- [English](README.en.md) # SBV2 Core ML 共通モデル・辞書 iPhone/Apple Silicon Mac用の共通BERTとOpen JTalk辞書です。 [SDK・サンプルアプリ](https://github.com/Corvelis/sbv2-coreml)と、別配布の[声モデル](https://huggingface.co/AILogDev/sbv2-coreml-jvnv-f1-jp)を合わせて使います。 ## 使う版を選ぶ **INT8版は`int8/`、元のFP32版は`float32/`です。** 各フォルダにBERT・辞書・ライセンス・取得用マニフェストが揃っています。 声モデルは両方で同じものを使えます。 | 版・ファイル一覧 | 共通BERT・辞書 | JVNV込み | 選ぶ目安 | アプリ用マニフェスト | |---|---:|---:|---|---| | [INT8](https://huggingface.co/AILogDev/sbv2-coreml-common/tree/973d6e239af305f0d78a8bf30c6af5093c0fd47d/int8) | 約503 MB | 約797 MB | ファイル容量を抑えたい | [INT8版を取得](https://huggingface.co/AILogDev/sbv2-coreml-common/resolve/973d6e239af305f0d78a8bf30c6af5093c0fd47d/int8/download.json) | | [FP32(float32)](https://huggingface.co/AILogDev/sbv2-coreml-common/tree/973d6e239af305f0d78a8bf30c6af5093c0fd47d/float32) | 約1.52 GB | 約1.81 GB | 重み量子化による数値差を避けたい、準備時間を短くしたい | [FP32版を取得](https://huggingface.co/AILogDev/sbv2-coreml-common/resolve/973d6e239af305f0d78a8bf30c6af5093c0fd47d/float32/download.json) | INT8版はBERTの重みを8bitで保存します。BERTの演算と入出力は、両版ともFP32です。 iOS 18以上、macOS 15以上のApple Siliconに対応します。コンパイルキャッシュ用に追加の空き容量が必要です。 容量は配布ファイルの概算であり、RAMの削減率を示すものではありません。 ## サンプルアプリから取得する **モデル設定 → URLからモデルを取得 → 取得するモデル:共通モデル**を開き、 **共通モデルの版**で**INT8(約503 MB)**または**FP32(約1.52 GB)**を選び、**ダウンロード**を押します。 取得URLが自動設定されます。カスタムURLで取得する場合やSDKから取得する場合は、次のURLを使えます。 以下はファイル一式の版を固定したURLです。 **INT8版** ```text https://huggingface.co/AILogDev/sbv2-coreml-common/resolve/973d6e239af305f0d78a8bf30c6af5093c0fd47d/int8/download.json ``` **元のFP32版** ```text https://huggingface.co/AILogDev/sbv2-coreml-common/resolve/973d6e239af305f0d78a8bf30c6af5093c0fd47d/float32/download.json ``` 取得後に**モデルを準備**を押します。声モデルは別途取得するか、自分で変換した声フォルダを選びます。 取得後の音声合成はオフラインで動作します。 ## Macで片方だけ取得する [Hugging Face CLI](https://huggingface.co/docs/huggingface_hub/guides/cli)を使います。 `--include`で選んだ版だけを取得してください。リポジトリ一式の取得では両版と互換用ファイルもダウンロードされます。 **INT8版 → `models/int8/`** ```sh hf download AILogDev/sbv2-coreml-common \ --revision 973d6e239af305f0d78a8bf30c6af5093c0fd47d \ --include "int8/*" --local-dir models ``` **元のFP32版 → `models/float32/`** ```sh hf download AILogDev/sbv2-coreml-common \ --revision 973d6e239af305f0d78a8bf30c6af5093c0fd47d \ --include "float32/*" --local-dir models ``` サンプルの**共通モデル**には、取得した`int8/`または`float32/`を選びます。 SDKにはそのフォルダの`bert/`と`dictionary/`、別の声フォルダを渡します。 `.mlpackage`の中身を含め、選んだフォルダ全体を取得してください。 ## 切り替えと音質・速度 取得済みモデルを切り替えるには、合成・再生を停止し、**共通モデル**で使う版のフォルダを選び、**モデルを準備**を押します。 フォルダ表示にINT8/FP32の版も表示します。取得欄での版選択だけでは、準備済みモデルは切り替わりません。 SDKでは処理の終了を待ってから、選んだ共通フォルダで`load`と`warmUp`を行います。 古いモデルとキャッシュは自動削除されません。不要な共通フォルダを削除する場合はアプリを終了するかSDKで`unload`し、共用する声フォルダは保持します。 | iPhone 17 Pro・JVNV Neutralの測定例 | INT8版 | 元のFP32版 | |---|---:|---:| | コンパイル済みキャッシュがある再ロード後の準備(`load`+`warmUp`) | 約18秒 | 約6秒 | | 準備後の3文合成RTF中央値 | 0.071 | 0.067 | 初回コンパイル、再生時間、LLMとの同時実行は含みません。声・文章・端末で値は変わり、INT8版が常に高速になるわけではありません。 BERTの量子化によって抑揚・間・音声の長さ・波形に差が生じる場合があります。声モデルの重みと辞書は変更しません。 JVNV Neutralの比較音声では聴き比べで気になる差はありませんでした。採用する声と文章でも確認してください。 [SDK導入](https://github.com/Corvelis/sbv2-coreml/blob/main/docs/sdk-guide.ja.md) · [サンプルの起動](https://github.com/Corvelis/sbv2-coreml/blob/main/docs/getting-started.ja.md) · [自分で共通BERTを圧縮する](https://github.com/Corvelis/sbv2-coreml/blob/main/docs/compression.ja.md) ## 以前の取得URL 以前の固定リビジョンの取得URLは引き続き使えます。ルートの`download.json`・`bert/`・`dictionary/`は既存URLの互換用INT8モデルです。 これから取得する場合は、上の選択表から`int8/`または`float32/`を選んでください。 ## 出典とライセンス BERTは京都大学の自然言語処理研究グループによる[DeBERTa日本語モデル](https://huggingface.co/ku-nlp/deberta-v2-large-japanese-char-wwm)からの変換物です。 原本のコミットは`547b0e8b044fba3f9b84d0ab9f990440bd130c8b`です。 BERTは**CC BY-SA 4.0**です。各版の`LICENSE.md`、出典と変換記録の`provenance.json`を参照してください。 Open JTalk 1.11 UTF-8辞書には別のBSD系条件があり、各版の`dictionary/COPYING`に記載しています。 各版の`checksums.json`でファイルを検証できます。SDK・サンプル・変換ツールのコードは**AGPL-3.0**です。 非公式の変換物であり、原作者による承認・推奨を示すものではありません。