Algorithmically Generated Music Using Pyo Based on User Data

03:15 PM - 03:40 PM on July 17, 2016, Room CR5

David Groff

Audience level:


At Peloton our data is pedaling speed and resistance from every second while a user rides their bike. We can use this data to generate music that plays back to the user. One way to generate unique and interesting sounds is using Pyo, a python-based DSP library, in combination with custom MIDI samples. This talk will cover how we structure this data, turn the data into music, and stream it to the user using a python-based pipeline.


Interesting audio is something that can add to a user’s engagement of a product, especially audio that responds to a user’s action. At Peloton, our users use our product to workout, and we capture information about each workout that can be used to adjust the audio as we capture the data. On our bike, we capture the speed at which a user is pedaling, and we also capture the resistance the user is using to pedal at every second of the workout. Randomization, digital signal processing, and audio samples are all the tools we need to create a uniquely interesting audio experience for a user as they workout on the bike. Pyo is a raw audio processing module that can create signal processing chains to create audio streams. This talk will go over Pyo’s timing constraints as DSP is traditionally something done in hardware and the Pyo API.