Please log in to watch this conference skillscast.
Rhythmr is an interactive system, implemented in Haskell, for creating ear-pleasing rhythm loops from randomly-acquired audio files. The user iterates through an unending stream of randomly combined music loops, swiping left or right on each one to indicate whether they like it or not. Rhythmr derives a model of which combinations sound good based on user input, and from that, produces a complete song by inserting the chosen combinations into a predefined score.
I’m a recent Haskell convert, and Rhythmr is the first useful application I’ve created with it. It required my learning a lot of Haskell skills: audio, graphics, profiling, optimization, user interactivity, and more.
Haskell was crucial to the success of this project, for it allows efficient construction of reliable software, and pure state handling made implementing features like ‘undo’ very easy. I was able to prototype many variations of the algorithm and interface in order to produce a usable tool.
YOU MAY ALSO LIKE:
- Haskell Fundamentals (2-Day Course) with Alejandro Serrano (Online Course on 5th - 6th July 2021)
- Haskell eXchange 2021 (Online Conference on 16th - 17th November 2021)
- Abstract Fun-sense: a functional perspective on life (SkillsCast recorded in May 2021)
- Resource Analysis with Refinement Types (SkillsCast recorded in May 2021)
Performance Proposal: Rhythmr, Or Semi-Automated Audio Loops (Lightning Talk)
Greg Travis is a software developer, musician, and composer living in New York City. He is interested in functional languages, creativity tools, and procedural art. His most successful software work is probably the addition of the colon and semicolon keyboard shortcuts to Gmail, and he's likely the only person who even knows about them.