Hasty Briefsbeta

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.