d6480a35ed5197a67c94d65c808e0df382cd87e9
Lint & Validate / lint (push) Has been cancelled
- WAV writer with streaming support for 16/24/32-bit integer and 32-bit float - MultiTrackRecorder with per-channel arming, arm state machine, write-ahead buffer queues decoupling JACK real-time thread from SD card I/O - Punch in/out recording on individual channels with punch region tracking - Session file format (JSON): session metadata, takes, tracks, mixer state, punch regions, serialization round-trip - Take management: create, delete, rename, list, track association - Stereo bounce engine with pan law (-3dB constant power), normalisation, master bus volume/mute/dim, block-based processing for memory efficiency - Disk space monitor with configurable warning/critical thresholds, estimated recording time remaining, background polling, callback on threshold change - 117 tests: sample conversion, WAV header validation, recorder lifecycle, session CRUD, serialization, bounce with pan/normalisation/master, integration Integrates with JACK capture ports → mixer → recording ports → disk. Architecture: JACK callback → recorder.write() → buffer queue → writer thread → WAV files.
Raspberry Pi Real-Time Audio Mixer
RPi4B-based multi-channel real-time audio mixer with custom PREEMPT_RT kernel.
Architecture
- Platform: Raspberry Pi 4 Model B (8GB RAM)
- OS: Raspberry Pi OS Lite (64-bit, Bookworm) + custom PREEMPT_RT kernel
- Audio: USB audio interface with multi-channel I/O
- Goal: Low-latency (<10ms round-trip) multi-channel audio mixing
Project Structure
├── docs/ Research, architecture decisions, manuals
│ ├── research/ Technical research reports
│ ├── decisions/ Architecture Decision Records (ADRs)
│ └── manuals/ Hardware/software manuals and references
├── src/ Source code (audio engine, DSP, UI)
├── build/ Build scripts and cross-compilation tooling
├── recipes/ Buildroot/Yocto recipes (if applicable)
├── scripts/ Utility and deployment scripts
└── wiki/ Local wiki pages
Status
Phase 1-4: Core audio stack + MIDI controller support (in progress)
- P1-R1: System Research — USB audio, PREEMPT_RT kernel analysis
- P1-R2: Base OS Selection — RPiOS Lite 64-bit + custom PREEMPT_RT
- P2-R1: ALSA + JACK2 Low-Latency Config
- P4-R1: MIDI Controller Support — Binding + Learn Mode
- P3: Audio Engine — DSP pipeline, mixing engine
- P4: Hardware Integration — GPIO control surface
Getting Started
Documentation coming in Phase 2+
License
TBD
Description
Languages
Python
86.9%
Shell
5.7%
JavaScript
4.4%
CSS
2.1%
HTML
0.9%