Streaming server for the AniMUL model
https://spacecruft.org/deepcrayon/AniMUL-stream
- Python 72.8%
- Svelte 9.7%
- Shell 7.3%
- TypeScript 6.8%
- CSS 2%
- Other 1.4%
| backend | ||
| docs | ||
| frontend | ||
| scripts | ||
| .gitignore | ||
| .python-version | ||
| CHANGELOG.txt | ||
| LICENSE-apache.txt | ||
| README.md | ||
AniMUL Stream
Real-time audio stream analysis server for the AniMUL model, a fine-tune of Qwen3-Omni trained on nature sounds.
Overview
AniMUL Stream processes live audio streams (SRT/RTMP) and identifies sounds in real-time using the AniMUL multimodal language model. Perfect for:
- Wildlife monitoring with forest microphones
- Bird call identification
- Nature sound logging
- Real-time biodiversity surveys
Architecture
Forest Microphones → OBS Studio → MediaMTX → SRT Stream
↓
AniMUL Stream Backend
↓
vLLM (GPU)
↓
WebSocket → Browser
Features
- Real-time Processing: Continuous analysis of live audio streams
- Sliding Window: Overlapping audio chunks to avoid missing sounds
- WebSocket Updates: Instant results delivered to connected clients
- Simple UI: Clean web interface for monitoring and control
- vLLM Integration: OpenAI-compatible API for the AniMUL model
Quick Start
Prerequisites
- Python 3.13+
- Node.js 20+
- vLLM server with AniMUL-v1 model
- SRT audio stream source
Development Setup
# Clone repository
git clone https://spacecruft.org/deepcrayon/AniMUL-stream.git
cd AniMUL-stream
# Backend
cd backend
python3.13 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
cp ../scripts/animul-stream.env.example .env
uvicorn server.main:app --reload --port 8080
# Frontend (new terminal)
cd frontend
npm install
npm run dev
See docs/QUICKSTART.md for detailed setup instructions.
Documentation
- Quick Start Guide - Get running quickly
- Deployment Guide - Production deployment
- Development Plan - Architecture and design
API
| Endpoint | Method | Description |
|---|---|---|
/api/health |
GET | Health check |
/api/stream |
GET | Stream status |
/api/stream/start |
POST | Start processing |
/api/stream/stop |
POST | Stop processing |
/ws/stream |
WebSocket | Real-time results |
Related Projects
- AniMUL - Model fine-tuning
- AniMUL-server - Single file analysis
- AniMUL-v1 - Model on HuggingFace
License
Apache License 2.0 - See LICENSE-apache.txt
Copyright © 2026 Jeff Moe.
Author
Jeff Moe
Loveland, Colorado, USA
