| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/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"
|