#!/usr/bin/env bash set -euo pipefail OVERLAY="googlevoicehat-soundcard" if [[ "${1:-}" == "--overlay" && -n "${2:-}" ]]; then OVERLAY="$2" fi BOOT_CONFIG="/boot/firmware/config.txt" if [[ ! -f "$BOOT_CONFIG" ]]; then BOOT_CONFIG="/boot/config.txt" fi echo "[1/6] Enabling I2S in ${BOOT_CONFIG}" sudo sed -i '/^dtparam=i2s=on/d' "$BOOT_CONFIG" sudo sed -i '/^dtoverlay=googlevoicehat-soundcard/d' "$BOOT_CONFIG" sudo sed -i '/^dtoverlay=i2s-mmap/d' "$BOOT_CONFIG" sudo sed -i '/^dtoverlay=adau7002-simple/d' "$BOOT_CONFIG" echo "dtparam=i2s=on" | sudo tee -a "$BOOT_CONFIG" >/dev/null echo "dtoverlay=${OVERLAY}" | sudo tee -a "$BOOT_CONFIG" >/dev/null echo "[2/6] Writing ~/.asoundrc" cat > "$HOME/.asoundrc" <<'EOF' pcm.!default { type asym capture.pcm "mic" } pcm.mic { type hw card 0 format S32_LE rate 48000 channels 2 } EOF echo "[3/6] Installing dependencies" sudo apt-get update sudo apt-get install -y python3-venv python3-dev build-essential portaudio19-dev git echo "[4/6] Creating venv" cd /home/pch/mic_system python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt echo "[5/6] Installing systemd service" sudo cp deploy/mic_system.service /etc/systemd/system/mic_system.service sudo systemctl daemon-reload sudo systemctl enable mic_system.service sudo systemctl restart mic_system.service || true echo "[6/6] Done. Reboot required for I2S overlay." echo "Run: sudo reboot"