This SkillsCast is currently only available to registered attendees of Haskell eXchange 2020
It will be freely available to all Skills Matter members once the Haskell eXchange 2020 early-access window expires on December 04, 2020.
Rhythmr is an interactive tool to create music from randomly selected audio loops. It presents combinations of loops, and you swipe left or right. As you continue, it improves its guesses to match your preferences.
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 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.