feat: add CW-026 Local Voice plugin
This commit is contained in:
Executable
+79
@@ -0,0 +1,79 @@
|
||||
#!/bin/zsh
|
||||
set -euo pipefail
|
||||
|
||||
usage() {
|
||||
echo "Usage: install_macos.sh --wheel PATH --assets PATH --model-dir PATH [--runtime PATH]"
|
||||
}
|
||||
|
||||
runtime_root="$HOME/Library/Application Support/MPM Local Voice/runtime"
|
||||
wheel_path=""
|
||||
assets_path=""
|
||||
model_source=""
|
||||
|
||||
while (( $# )); do
|
||||
case "$1" in
|
||||
--runtime)
|
||||
runtime_root="$2"
|
||||
shift 2
|
||||
;;
|
||||
--wheel)
|
||||
wheel_path="$2"
|
||||
shift 2
|
||||
;;
|
||||
--assets)
|
||||
assets_path="$2"
|
||||
shift 2
|
||||
;;
|
||||
--model-dir)
|
||||
model_source="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -z "$wheel_path" || -z "$assets_path" || -z "$model_source" ]]; then
|
||||
usage
|
||||
exit 2
|
||||
fi
|
||||
|
||||
for required in "$wheel_path" "$assets_path" "$model_source"; do
|
||||
if [[ ! -e "$required" ]]; then
|
||||
echo "Missing required input: $required" >&2
|
||||
exit 2
|
||||
fi
|
||||
done
|
||||
|
||||
if ! command -v python3.11 >/dev/null 2>&1; then
|
||||
echo "Python 3.11 is required. Install it with Homebrew first." >&2
|
||||
exit 2
|
||||
fi
|
||||
if ! command -v ffmpeg >/dev/null 2>&1; then
|
||||
echo "ffmpeg is required and must be available on PATH." >&2
|
||||
exit 2
|
||||
fi
|
||||
if ! command -v whisper >/dev/null 2>&1; then
|
||||
echo "Whisper is required and must be available on PATH." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
mkdir -p "$runtime_root/models" "$runtime_root/jobs" "$runtime_root/wheels"
|
||||
|
||||
python3.11 -m venv "$runtime_root/.venv"
|
||||
"$runtime_root/.venv/bin/python" -m pip install --upgrade pip
|
||||
cp -p "$wheel_path" "$runtime_root/wheels/"
|
||||
"$runtime_root/.venv/bin/python" -m pip install "$wheel_path"
|
||||
"$runtime_root/.venv/bin/python" -m pip install numpy==2.4.6 soundfile==0.14.0
|
||||
|
||||
tar -xzf "$assets_path" -C "$runtime_root"
|
||||
|
||||
model_target="$runtime_root/models/CosyVoice3-0.5B-Candle"
|
||||
mkdir -p "$model_target"
|
||||
rsync -a "$model_source/" "$model_target/"
|
||||
|
||||
echo "Runtime installed at: $runtime_root"
|
||||
echo "Run scripts/verify_install.py with:"
|
||||
echo "\"$runtime_root/.venv/bin/python\" scripts/verify_install.py --runtime-root \"$runtime_root\" --device metal"
|
||||
Reference in New Issue
Block a user