Dogalog: A realtime Prolog-based livecoding music environment
6 days ago
- #livecoding
- #prolog
- #music
- Dogalog is a realtime Prolog-based livecoding music environment for creating algorithmic rhythms and melodies.
- Features include livecoding with auto-evaluation, state preservation, interactive tutorial, PWA support, mobile-first UI, modular architecture, and comprehensive testing.
- Users can define sound events using Prolog-like rules, with predicates for beats, intervals, phases, Euclidean rhythms, probabilities, and more.
- Includes built-in sound generators for kick, snare, hi-hat, and sine wave synth.
- Supports musical scales, chords, transposition, and various musical modes.
- Provides predicates for time range checks, cooldowns, comparisons, arithmetic, and list operations.
- Example patterns include four-on-the-floor, polyrhythms, pentatonic melodies, and chord arpeggios.
- Song structure can be managed using time ranges and cooldowns for sections like intro, verse, and chorus.
- Technical architecture includes a custom Prolog engine, WebAudio synthesis, scheduler, state management, and mobile-friendly UI.
- Extensive testing with 123 tests and 88%+ coverage.
- Installable as a PWA with offline support.
- Comes with interactive tutorial, full documentation, manual, and cheatsheet.
- Compatible with modern browsers including Chrome, Firefox, Safari, and mobile browsers.
- Open-source under MIT license, built with vanilla JavaScript, CodeMirror 6, and WebAudio API.