File size: 3,888 Bytes
21328a8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | # Speech-X β First-time environment setup (PowerShell)
# Creates the conda 'avatar' environment and installs all dependencies in stages.
# Run from the repo root: .\setup\setup.ps1
$ErrorActionPreference = "Stop"
$CONDA_ENV = "avatar"
Write-Host "=== Speech-X Setup (conda env: $CONDA_ENV) ===" -ForegroundColor Cyan
# ββ Stage 0: sanity checks βββββββββββββββββββββββββββββββββββββββββββββββββββ
if (-not (Get-Command conda -ErrorAction SilentlyContinue)) {
Write-Error "conda not found. Install Miniconda: https://docs.conda.io/en/latest/miniconda.html"
exit 1
}
if (Get-Command nvidia-smi -ErrorAction SilentlyContinue) {
Write-Host "GPU detected:"
nvidia-smi --query-gpu=name,memory.total --format=csv,noheader
} else {
Write-Warning "nvidia-smi not found β CPU-only mode."
}
# ββ Stage 1: Create conda environment ββββββββββββββββββββββββββββββββββββββββ
$envList = conda env list
if ($envList -match "(?m)^$CONDA_ENV\s") {
Write-Host "Conda env '$CONDA_ENV' already exists β skipping creation."
} else {
Write-Host "Creating conda env '$CONDA_ENV' (Python 3.12)..."
conda create -y -n $CONDA_ENV python=3.12
}
# ββ Stage 2: PyTorch βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Write-Host "Installing PyTorch 2.5.1 + CUDA 12.4..."
conda run -n $CONDA_ENV pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 `
--index-url https://download.pytorch.org/whl/cu124
# ββ Stage 3: MMLab packages ββββββββββββββββββββββββββββββββββββββββββββββββββ
Write-Host "Installing MMLab packages..."
conda run -n $CONDA_ENV pip install --no-cache-dir -U openmim
conda run -n $CONDA_ENV mim install mmengine
try {
conda run -n $CONDA_ENV mim install "mmcv==2.2.0"
} catch {
conda run -n $CONDA_ENV pip install "mmcv-lite==2.2.0"
}
conda run -n $CONDA_ENV mim install "mmdet==3.3.0"
conda run -n $CONDA_ENV mim install "mmpose==1.3.0"
# ββ Stage 4: MuseTalk core deps ββββββββββββββββββββββββββββββββββββββββββββββ
Write-Host "Installing MuseTalk dependencies..."
conda run -n $CONDA_ENV pip install `
diffusers==0.30.2 `
accelerate==0.28.0 `
"numpy==1.26.4" `
"opencv-python==4.10.0.84" `
"soundfile==0.12.1" `
"transformers==4.39.2" `
"huggingface_hub==0.30.2" `
"librosa==0.10.2" `
"einops==0.8.1" `
gdown requests `
"imageio==2.34.0" imageio-ffmpeg `
"omegaconf==2.3.0" ffmpeg-python moviepy
# ββ Stage 5: Project-specific deps βββββββββββββββββββββββββββββββββββββββββββ
Write-Host "Installing project dependencies..."
conda run -n $CONDA_ENV pip install -r backend/requirements.txt
# ββ Frontend βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Write-Host "Installing frontend dependencies..."
Push-Location frontend
npm install
Pop-Location
Write-Host ""
Write-Host "=== Setup complete ===" -ForegroundColor Green
Write-Host ""
Write-Host "Activate: conda activate $CONDA_ENV"
Write-Host "Avatar page: conda activate $CONDA_ENV; cd backend; python api/server.py"
Write-Host "Voice agent: conda activate $CONDA_ENV; cd backend; python agent.py dev"
Write-Host "Frontend: cd frontend; npm run dev"
|