Welcome to www.marchantpeter.co.uk.
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.
Bluetooth Midi Christmas Hat
In 2015 I decided my Christmas Hat needed more lights so I got two Adafruit NeoPixel NeoMatrix 8x8 red / grenn / blue LED boards and thought it would make sense for them to sync to MIDI over bluetooth. So I combined my arduino MIDI bluetooth project with my MIDI Christmas tree from 2014 and was well on the way! It draws 4 octaves of a piano - each octave from left to right, the lower octave at the bottom and the higher octaves above that. Colours and random but affected by note velocity and gradually fade out. All notes in a chord are the same colour and the sustain pedal is correctly handled.