Repository navigation
piper-plus 2.0.0 — ゼロショット音声合成・多言語対応
piper-plus 2.0.0 は、ゼロショット音声合成を含む正式なメジャーリリースです。1.13.0以降の修正、多言語対応、各ランタイムの改善をまとめています。Pythonの名前空間・CLI変更と学習環境の更新を含むため、更新前に以下の互換性情報と移行ガイドを確認してください。
公開パッケージ
| 配布先 | バージョン |
|---|---|
PyPI piper-plus |
2.0.0 |
PyPI piper-plus-g2p |
0.3.0 |
Rust piper-plus-g2p / piper-plus / piper-plus-cli |
0.5.2 |
NuGet PiperPlus.Core / PiperPlus.Cli |
0.5.1 |
npm piper-plus |
0.8.0 |
npm @piper-plus/g2p |
0.4.2(継続) |
| Go G2P | 0.3.0 |
| Kotlin / Android G2P | 1.0.1 |
| SwiftPM / 共有ライブラリ / Docker | 2.0.0 |
各パッケージは独立してバージョンを管理しています。Rust 0.5.2は192/256次元の話者埋め込みと、読み取り専用モデルでのキャッシュ保存失敗を修正した追加リリースです。NuGet 0.5.1も読み取り専用モデルで推論を続けられるようにしました。Rust/C# CLIの配布物は、それぞれ別タグ rust-v0.5.2/csharp-v0.5.1 の検証済みコミットからビルドしています。
Dockerは、docker-v2.0.0 のコミットから音素のPUA ID変換を補修したイメージをビルドしています。署名は、不変の docker-signatures-v2.0.0 から全イメージのバージョン・コミット・対応アーキテクチャ・digestを検証したうえで付与し、公開された全7種類の署名・発行元・コミット・Rekor記録を検証しました。元のv2.0.0タグは変更していません。
主な変更
- Pythonのimport名を
piper_plus、CLIをpiper-plusに統一し、本家piper-ttsと同じ環境へインストールできるようにしました。 - npm/WASMデモのspeaker embedding入力を修正し、CSS10/つくよみちゃんの実モデルで音声生成を検証しました(#760)。中国語pinyin辞書も配布パッケージへ同梱します。
- Rustの直接IPA入力API(
encode_ipa/IpaTokenizer)など、多言語G2P・推論・音素タイミングの改善を含みます。 - WebUIのGradio更新、DockerのOSパッケージ更新、GitHub Actionsの入力処理修正を含みます。
- Python wheelの辞書・ライセンス収録、npm tarballの単独インストールと実ブラウザ合成、各公開レジストリの実在確認・provenance検証を強化しました。必須の検証が失敗した場合、リリースCIは成功扱いにしません。
- SwiftPMの共有ライブラリとG2P成果物を2.0.0へ揃え、チェックサムをタグのコミットへ収録しています。
更新手順と互換性
pip install --upgrade piper-plus==2.0.0
pip install --upgrade piper-plus-g2p==0.3.0
npm install piper-plus@0.8.0 onnxruntime-web@1.22.0
cargo install piper-plus-cli --version 0.5.2 --locked
dotnet tool install --global PiperPlus.Cli --version 0.5.1- Python:
import piper→import piper_plus、piper→piper-plus、python -m piper→python -m piper_plusに更新してください。互換shimはありません。 - Dockerの既定イメージはCUDA 12.8 + Ubuntu 24.04 + Python 3.13です。GPU版にはホストNVIDIAドライバR570以降が必要です。PyPIのPython 3.11/3.12サポートは継続します。
- Torch / torchaudioは 2.11.0の固定を維持します。torch 2.2で作成したcheckpointからの学習再開は新しい学習イメージのサポート対象外ですが、既存のONNXモデルは推論に利用できます。
- 学習の既定設定はTF32 + bf16-mixedです。厳密な数値再現性が必要な場合は設定を明示してください。
- モデル/辞書キャッシュと環境変数の
piper/PIPER_*名も更新対象です。詳細と例外は移行ガイドを参照してください。
個別の修正と既知の制約はCHANGELOGに記載しています。
ネイティブモデル設定の注意
C++は音素IDのキーが1コードポイント(複合音素はPUA形式)のconfigを使用します。CSS10の既存configに "ɔɪ" / "œ̃" / "ɐ̃" が生のキーで残っている場合は、リポジトリの既存ツールで python scripts/fix_config_pua.py config.json を実行してから読み込んでください。ONNXモデルや音素IDは変更しません。ブラウザ版はそのconfigのままで利用できます。
Linux ARMv7配布物
Linux ARMv7版は、固定したONNX Runtime 1.20.0を公式ソースからクロスビルドして同梱しています。Debian 13のARMv7環境(QEMU)で、配布アーカイブを展開したCLIから日本語WAVを生成し、ライセンスとOpenJTalk辞書の収録も確認しました。実機ARMでの確認結果ではありません。
Rust CLIで英語/中国語を使用する場合は、対応するCMU/pinyin辞書を配置してください。辞書のパスは CMUDICT_PATH/PINYIN_SINGLE_PATH/PINYIN_PHRASES_PATH で指定できます。
配布物のチェックサム
GitHub Releaseの配布物とライセンス文書のSHA256を checksums-sha256.txt に収録しています(チェックサムファイル自身と署名ファイルは除きます)。添付物を同じフォルダーへダウンロードした場合は、そのフォルダーで次のコマンドから検証できます。
sha256sum --check checksums-sha256.txtDockerイメージ
GHCRは ghcr.io/ayutaz/piper-plus/、DockerHubは ayousanz 配下から取得できます。DockerHubの latest は2.0.0へ移動しています。1.xを継続利用する場合は、使用中の明示的なバージョンタグを指定してください。
docker pull ghcr.io/ayutaz/piper-plus/python-inference:2.0.0
docker pull ghcr.io/ayutaz/piper-plus/python-inference:2.0.0-cpu
docker pull ayousanz/piper-plus-api:2.0.0
docker pull ayousanz/piper-plus-webui:2.0.0
docker pull ayousanz/wyoming-piper-plus:2.0.0DockerHubのAPIイメージはAMD64、WebUI/WyomingはAMD64・ARM64に対応します。GHCRのCPU推論イメージはAMD64・ARM64に対応します。
DockerHubのAPIイメージは、署名検証済みGHCRイメージと同一digestのままCIで公開しています。WebUI/Wyomingも同じ修正済みコミットからビルドし、両レジストリの公開イメージから日本語音声生成を確認しました。CUDA対応のPythonイメージの実行検証はCPUモードで行っています。
SwiftPM 2.0.0の依存指定
公開済みv2.0.0をSwiftPMで利用する場合は、以下のように公式ONNX Runtime SDK 1.20.0を明示してください。v2.0.0の推移依存を自動解決すると、macOS 14以上が必要なSDK 1.24.xが選ばれ、本体のmacOS 13対応設定と衝突します。G2Pだけを利用する場合もこの指定が必要です。
dependencies: [
.package(url: "https://github.com/ayutaz/piper-plus", exact: "2.0.0"),
.package(
url: "https://github.com/microsoft/onnxruntime-swift-package-manager",
exact: "1.20.0"
),
],公開済みタグと配布物は変更していません。開発版での依存固定と、PR CI・commit hookでの再発防止は #782 にまとめています。