Peter Marchant on stage with many keyboards

Peter Marchant

Welcome to

I studied Computing Science at Staffordshire University where for my final year project I developed a J2ME application to write musical scores and generate midi files. I then did the Keyboards course at Nexus (a Christian music school in Coventry) where I learned Jazz / Blues / Latin / Gospel, playing in a band and how to treat theory, listening and techniques as things that all work together in performance.

This website contains various software projects I am working on in my free time including Interval Recognition / ear training for Android and J2ME, music drawing / midi file viewer for Android and J2ME and a web based guitar chord drawing tool.

I can’t really say that they are completely finished because I tend to get new ideas for features faster than I can implement them – as someone once said “If it ain’t broke – it hasn’t got enough features yet…”

I welcome any comments / suggestions / feature requests / bug reports for any of my projects.

Christmas tree with IP Address - syncs with audio and MIDI

In 2013 I thought it was about time I got a Raspberry Pi and decided a good project would be to give my Christmas tree an IP address. The first use was a simple Android app to turn the lights on and off. The next logical step was to react to sound. It seemed a shame not to modify my MIDI editor app so now the Christmas lights sync to MIDI files.

Midi Christmas Tree

In 2014 I decided to control my Christmas tree lights with an Arduino and a Sparkfun MIDI Shield to make the lights respond to me playing the keyboard. The initial idea was to go to the next colour when a key is pressed and turn the lights off when a key is released. This had to be modified slightly as I only wanted to change colour once when a chord is played - and not once for every note in the chord. I achieved this by only changing colour if at least 25ms had passed. The second issue I encountered is - the algorithm assumes I play by pressing note 1, waiting, releasing note 1 and then pressing note 2, waiting, releasing note 2. It turns out I often press note 1, wait, press note 2, release note 1, wait, release note 2 - ie the lights would change to the next colour when I press note 2 but then go off as I release note 1. This was solved by only switching the lights off when a note is released if at least 200ms had passed since the last note on. Perhaps 200ms is a bit long - but I quite like the lights staying on.