|
Download README.md from WCPDR-AI/voice-models: direct link, hf CLI and curl.
- Browser
- Download file 4.57 kB
-
https://huggingface.co/WCPDR-AI/voice-models/resolve/main/README.md
- Command line
-
hf download hf://WCPDR-AI/voice-models/README.md
-
curl -L -o README.md https://huggingface.co/WCPDR-AI/voice-models/resolve/main/README.md
4.57 kB
| --- | |
| license: apache-2.0 | |
| tags: | |
| - voice | |
| - wake-word | |
| - tts | |
| - piper | |
| - openwakeword | |
| - signed | |
| --- | |
| # WCPDR-AI / voice-models | |
| Signed voice-model artifacts for the wcpdr-agent Windows desktop assistant. The agent fetches models from this repo at first run via `huggingface_hub`; every artifact is verified against the Ed25519 | |
| signature below before it touches the runtime. | |
| ## Asset layout | |
| ``` | |
| voice-models/ | |
| βββ README.md # this file | |
| βββ manifest.json # canonical asset list (signed) | |
| βββ manifest.json.sig # Ed25519 signature over manifest.json | |
| βββ wake/ | |
| β βββ hey_jarvis_v1.onnx # mirrored from openWakeWord v0.5.1 stock model | |
| β βββ hey_jarvis_v1.onnx.sig | |
| β βββ hey_alex_v1.onnx # custom-trained variants land here | |
| β βββ hey_alex_v1.onnx.sig | |
| β βββ ... | |
| βββ piper/ | |
| βββ en_US-amy-medium.onnx | |
| βββ en_US-amy-medium.onnx.sig | |
| βββ en_US-amy-medium.onnx.json # Piper voice metadata | |
| βββ es_MX-claude-high.onnx | |
| βββ es_MX-claude-high.onnx.sig | |
| βββ es_MX-claude-high.onnx.json | |
| ``` | |
| ## Signing key | |
| All artifacts in this repo are signed with a single Ed25519 key dedicated to voice models. The key is **separate from the MSI installer-update signing key** so the two rotation calendars don't have to | |
| coordinate, and a leak of one has narrower blast radius. | |
| **Public key fingerprint** (SHA-256 of `VOICE_MODEL_PUBLIC_KEY_B64`, hex): | |
| ``` | |
| 716f3bfefd5b887e735adc198231d8c58b4917257f401eee3ce930b79cc4feb1 | |
| ``` | |
| The matching public key value (base64-encoded raw 32 bytes): | |
| ``` | |
| KO8A6pii2YrmgFcTtGMX0cltdWjyfgo+vdB/VJTvyMk= | |
| ``` | |
| The wcpdr-agent build pipeline stamps this same value into the agent's signing module at compile time. Operators can verify their installed agent's bundled key matches by checking the agent's | |
| `--print-voice-pubkey` output (when available); the printed value should hash to the fingerprint above. If it doesn't, the agent is from a different rotation cycle than the artifacts in this repo and won't | |
| trust them β either re-sign artifacts with the agent's expected key (operators) or upgrade the agent (users). | |
| ## Verification chain | |
| Top-down chain of trust for any artifact in this repo: | |
| 1. Agent is built with `VOICE_MODEL_PUBLIC_KEY_B64` baked into its signing module. | |
| 2. Agent fetches `manifest.json` + `manifest.json.sig` from this repo. | |
| 3. Agent verifies `manifest.json.sig` against the bundled public key β failure = refuse all artifacts in this manifest. | |
| 4. Agent reads asset entries from `manifest.json` (each entry has `repo_path`, `sha256`, `signature_filename`). | |
| 5. For each artifact the agent needs, it fetches the artifact + its `.sig` companion file. | |
| 6. Agent verifies SHA-256 against the manifest entry, then verifies the per-artifact Ed25519 signature. | |
| 7. Verified artifact gets atomically renamed into the agent's local cache and loaded into the runtime (Whisper / openWakeWord / Piper). | |
| A failure at any step surfaces as `voice_error{code: model_signature_invalid}` IPC to the tray; voice mode stays off; no silent "load anyway" fallback. | |
| ## License | |
| This repo's contents are individually licensed: | |
| - `wake/hey_jarvis_v1.onnx` β bit-identical mirror of openWakeWord v0.5.1's `hey_jarvis_v0.1.onnx` (Apache-2.0). | |
| - `piper/en_US-amy-medium.onnx` and `piper/es_MX-claude-high.onnx` β upstream Piper TTS voices (MIT). Voice attribution lives in each `.json` metadata companion. | |
| - Custom-trained wake-word variants (e.g. `hey_alex_v1.onnx`) β Apache-2.0 (matches openWakeWord training pipeline output). | |
| - This README and `manifest.json` β Apache-2.0. | |
| Re-distributable under the terms of each artifact's individual license. | |
| ## Reporting a compromised key | |
| If you have evidence the signing key has leaked, contact the wcpdr-agent maintainers directly. Do **not** include the leaked key value in any message β describe the suspected leak vector (where you saw it, | |
| when, who has access) and we'll initiate the rotation procedure. | |
| The wcpdr-agent source repository is private; if you don't have access, route the report through your wcpdr point of contact. Once a leak is confirmed, the maintainers rotate per the agent's internal | |
| voice-models runbook and re-sign every artifact in this repo within 24 hours. A new agent release tag (with the new public key baked in) follows on the same day. | |