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:
- Performance Summit (Online Conference on 29th - 30th September 2021)
- Haskell eXchange 2021: Novice Track (Online Conference on 15th November 2021)
- Hashing Modulo Alpha Equivalence (SkillsCast recorded in May 2021)
- In The Belly Of The Whale: Tales From Haskell In The Enterprise (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.