# Verified macOS installation This procedure recreates the production configuration verified on an Apple Silicon MacBook Pro. It installs the software and model separately from the private authorized voice-asset archive. ## Verified configuration - Apple Silicon macOS - Python 3.11 - CosyVoice3 `0.1.0+metal` - 24 kHz Candle model: `spensercai/CosyVoice3-0.5B-Candle` - ffmpeg and Whisper available on `PATH` - Metal inference with full-precision weights ## 1. Install system prerequisites Install Homebrew if it is not already present, then install: ```bash brew install python@3.11 ffmpeg ``` Install the Whisper CLI into an isolated environment or with `pipx`. Confirm: ```bash ffmpeg -version whisper --help python3.11 --version ``` ## 2. Create the runtime The default runtime is: ```text ~/Library/Application Support/MPM Local Voice/runtime ``` Create its `models`, `voices`, `jobs`, and `wheels` directories. Create a Python 3.11 virtual environment beside or inside the runtime and activate it. For a guided installation after downloading the model and private packages: ```bash zsh scripts/install_macos.sh \ --wheel /path/to/cosyvoice3-0.1.0+metal-cp310-abi3-macosx_11_0_arm64.whl \ --assets /path/to/local-voice-authorized-assets-v0.1.0.tar.gz \ --model-dir /path/to/CosyVoice3-0.5B-Candle ``` ## 3. Install the tested Metal wheel Copy this file from the private CW-026 recovery package: ```text cosyvoice3-0.1.0+metal-cp310-abi3-macosx_11_0_arm64.whl ``` Expected SHA-256: ```text c9c04352fe0e559b7b43129baae7035b25b48922e2296498efc53c39874d4e39 ``` Install the wheel and runtime Python dependencies: ```bash python -m pip install ./wheels/cosyvoice3-0.1.0+metal-cp310-abi3-macosx_11_0_arm64.whl python -m pip install numpy==2.4.6 soundfile==0.14.0 ``` ## 4. Install the model Download `spensercai/CosyVoice3-0.5B-Candle` from Hugging Face into: ```text runtime/models/CosyVoice3-0.5B-Candle ``` The private recovery manifest contains hashes for the production model files. At minimum the directory must contain: - `llm.safetensors` - `flow.safetensors` - `hift.safetensors` - `campplus.onnx` - `speech_tokenizer_v3.onnx` - `config.json` The model is approximately 4.7 GB and is not bundled with the public plugin. ## 5. Install authorized voice assets Extract the private archive so the runtime contains: ```text runtime/voices/donna runtime/voices/chris-engineer runtime/voices/grandpa-bomber runtime/voices/ryan-pitch-meeting runtime/voices/val-holiday ``` Do not publish or redistribute this archive. ## 6. Verify From the plugin root: ```bash python scripts/local_voice.py doctor --device metal python scripts/verify_install.py --device metal ``` Every dependency, model, and voice profile must report `PASS`. ## 7. Install the plugin For Claude CoWork, install `local-voice-v0.1.0.plugin` from the private CW-026 folder. For Codex, install from the MPM marketplace or use the same repository source containing `.codex-plugin/plugin.json`. Start a new task after installation so the host loads the skill. ## Restore policy The public repository is authoritative for code and documentation. The private CW-026 folder is authoritative for the tested wheel, authorized voice assets, checksums, plugin packages, and recovery notes. The model is reproducible from its exact source and hashes; an optional offline model archive may be added later.