Speaker Map Backend — Installation Guide
==========================================
Version: 1.0.0
https://think3d.ca

GPU-accelerated audio/video transcription with speaker diarization.

QUICK START
-----------

  Windows:
    1. Right-click install.ps1 → "Run with PowerShell"
       (Or: powershell -ExecutionPolicy Bypass -File install.ps1)
    2. Follow the prompts to choose install directory and enter license key.
    3. Run SpeakerMap.bat or the created start.bat to launch.

  Linux:
    1. sudo bash install.sh
    2. Follow the prompts to choose install directory and enter license key.
    3. The installer creates a systemd service that starts automatically.

MANUAL INSTALL
--------------

  1. Install Python 3.10 or newer.
  2. Install ffmpeg (required for audio/video processing).
  3. Create a virtual environment:
       python -m venv .venv
  4. Activate it:
       Windows: .venv\Scripts\activate
       Linux:   source .venv/bin/activate
  5. Install dependencies:
       pip install -r requirements.txt
  6. Copy config.yaml.example to config.yaml and edit as needed.
  7. Start the server:
       python run.py

WHISPER MODELS
--------------

  Models are downloaded automatically on first use. Available sizes:
    - tiny    (~75 MB)   — fastest, least accurate
    - base    (~145 MB)  — good balance for testing
    - small   (~465 MB)  — better accuracy
    - medium  (~1.5 GB)  — high accuracy
    - large-v3 (~3 GB)   — best accuracy, needs 8GB+ VRAM

  To pre-download models:
    python scripts/download-models.py --model base

  Models are stored in data/models/ by default.

SYSTEM REQUIREMENTS
-------------------

  Required:
    - Python 3.10+
    - ffmpeg
    - 16 GB RAM minimum

  Recommended (for GPU acceleration):
    - NVIDIA GPU with 8GB+ VRAM (RTX 3060 or better)
    - CUDA 11.8 or 12.x
    - NVIDIA drivers 525+

  Without an NVIDIA GPU, the backend will use CPU mode (significantly slower).

LICENSE
-------

  Purchase a license at https://think3d.ca
  Enter your license key during installation, or set it later in config.yaml
  under the license.key field.

  Without a license, the backend runs in trial mode with limited features.

CONFIGURATION
-------------

  Edit config.yaml to configure:
    - Server host/port
    - Storage directories
    - Default Whisper model size
    - Diarization settings
    - Watch folder for automatic processing
    - Webhook notifications

  See config.yaml.example for all available options.

SUPPORT
-------

  Email: chris.kriska@think3d.ca
  Docs:  https://think3d.ca/docs
