Back in the 1990s we began developing projects to generate musical tracks. Basically they consisted of an IBM computer with a Midi Interface. The project would send Midi messages to a Midi Tone Generator (Yamaha FB01) to play a Rhythm track, some hard-coded chord progressions and a rudimentary bass pattern. The idea was that we could ‘play along’ with the generated music. When we tired of that track we would change the code and recompile.
The next step was to monitor the Midi Output of a digital piano (a Yamaha DX7) in an attempt to analyze what was being played. First came the development of a Chord Decoder and Key Signature determination. Then came the determination of Tempo and Time Signature. As the system became more intelligent, the paradigm shifted to a device that would ‘listen to and follow’ the performance of a performer in realtime.
At some point we realized that what we were creating was an attempt to emulate what all musicians do: ‘listen’ to each other and adapt their playing accordingly. For example, if a drummer hears the bass player change from one style to another, the drummer would make appropriate changes to his playing style too.
Fast forward a few decades and we have incredibly powerful computers with processing power and speed unimaginable when we started. And we have amazing single-board computers costing no more than a dinner out. Only our imaginations limit the possibilities.
And if that weren’t enough, we now have ‘open source’ software. We can take a discarded Windows laptop, load the hugely popular Linux operating system, and have a top-notch development platform. Or, we can take the popular Rasperry Pi single-board computer (less than $50!) and run our Linux based programs on a computer the size of a credit card!
Today, Pro-piano utilize this technology and applies it to something we are passionate about: music. We connect our Rasperry Pi to an Arduino-like microcontroller that ‘speaks Midi’, connect to our favorite piano and sound module, begin jamming on the piano and voila! Our software ‘listens’ to what we are playing – and ingeniously adapts to accompany us. The possibilities are endless.
A pivotal decision was made early in Sideman’s development to never trammel the musician with the need to ‘tweak’ controls of any kind. No knobs, switches, sliders, lcd, menu… all of Sideman’s algorithms react solely to the musical performance – in realtime.
Being engineers, programmers and musicians – Sideman is a labor of love. Monetary reward does not enter the picture (we have day-jobs for that). Our goal is push the possibilities and share this with anyone who is interested. So please, join us and enjoy.