testsAndMisc/python_pkg/music_gen/setup.sh
Krzysztof kuhy Rudnicki bfef1a532b Add local AI music generator using Meta's MusicGen
Features:
- Generate music from text prompts using open-source MusicGen model
- Support for small/medium/large models (500MB to 6.5GB)
- CUDA, Apple Silicon MPS, and CPU support
- Interactive mode with example prompts
- Setup script that handles venv and GPU detection

Usage:
  cd python_pkg/music_gen && ./setup.sh
  python music_generator.py 'upbeat electronic dance music'
2025-12-04 20:43:44 +01:00

74 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Setup script for local AI music generation using MusicGen
# Run this script to install all dependencies
set -e
echo "========================================"
echo " MusicGen Local Setup"
echo "========================================"
# Check Python version
python_version=$(python3 --version 2>&1 | grep -oE '[0-9]+\.[0-9]+')
echo "Python version: $python_version"
# Detect if we're in a virtual environment
if [ -z "$VIRTUAL_ENV" ]; then
echo ""
echo "No virtual environment detected."
echo "Creating one in ./venv..."
python3 -m venv venv
source venv/bin/activate
echo "Virtual environment activated: $VIRTUAL_ENV"
else
echo "Using existing virtual environment: $VIRTUAL_ENV"
fi
# Upgrade pip
echo ""
echo "Upgrading pip..."
pip install --upgrade pip
# Detect GPU
echo ""
echo "Detecting GPU..."
if command -v nvidia-smi &> /dev/null; then
echo "NVIDIA GPU detected!"
nvidia-smi --query-gpu=name,memory.total --format=csv,noheader 2>/dev/null || true
echo ""
echo "Installing PyTorch with CUDA support..."
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
elif [[ "$(uname)" == "Darwin" ]] && [[ "$(uname -m)" == "arm64" ]]; then
echo "Apple Silicon detected!"
echo "Installing PyTorch with MPS support..."
pip install torch torchaudio
else
echo "No GPU detected, using CPU (generation will be slower)"
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
fi
# Install transformers and other dependencies
echo ""
echo "Installing transformers and other dependencies..."
pip install transformers scipy
# Create output directory
mkdir -p output
echo ""
echo "========================================"
echo " Setup Complete!"
echo "========================================"
echo ""
echo "To activate the virtual environment:"
echo " source venv/bin/activate"
echo ""
echo "Usage examples:"
echo " python music_generator.py 'upbeat electronic dance music'"
echo " python music_generator.py --duration 15 'calm acoustic guitar'"
echo " python music_generator.py --interactive"
echo ""
echo "Model will be downloaded on first run (~3.3GB for medium model)"
echo ""