Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Sunday, 20 December 2015

the Stretch Harp

Recently I was tasked with building a new instrument for musical expression as part of an assignment at Bournemouth university as part of my music and audio technology course. This consisted of two key elements, one to physically build the instrument and secondly to create a synthesis engine for it.

Frame of the Stretch Harp.
String attachment of the Stretch Harp.
As a bit of background, each year there is a conference to show new interfaces for musical expression, The NIME show, many academics from around the world build new devices and present papers written about the field. A proceedings archive can be found here showing all the documents presented at the conference over the years. So what is a NIME? While its hard to give a definition in short, its should be a novel way of controlling and manipulating sound that allows for a performer to extend and express their musical intention.
Guide holes of the Stretch Harp.
I created something I call the Stretch Harp, it is played by pulling on strings, in turn pulling the shat of a slide potentiometer, this is then feed into an Arduino and then to Max 7 where the synthesis engine resides. In addition to the 14 strings there are two ultrasonic distance sensors and a sustain pedal.
Tension system connecting the strings to the slide potentiometers of the Stretch Harp.

Some of the 14 potentiometers used in the project.
The system is mounted in an aluminium frame built with a 99p junior hacksaw, a £12 electric drill and a few pencil files, so as a result the physical build didn’t come out as precise as I would have liked. However still very usable and sturdy.
Close up of the paracord used in the project


Overall I happy with the outcome however I would like to expand on it further perhaps building a second prototype using springs rather than rubber bands, and adding more strings to give two full octaves. Here is a short video of the device.

Sunday, 22 November 2015

Adventures with Arduino

Recently I have started exploring what can be done with Arduino and in particular when used in tandem with Cycling 74's MAX 7. I've had an Arduino Uno laying around for a little while and not really known what to do with it; other than using a pre made synthesizer shield and sketch. Part of my university work involved looking into making new controllers for music software so I started by playing around with some potentiometers and buttons i had and exploring how I could utilise them with a program such as MAX 7 or PureData.

Arduino Uno on a desk - Taken with Nikon D7000 with Sigma 105mm EX DG Macro

After a while i've found that there is a lot of potential for me to explore strange controllers and different ways to utilise an arduino. Currently I am building an expressive controller for music creation for a university module and I look forward to seeing the finished product.

Some limitations I have found are rapidly running out of analogue inputs on the UNO, this is relatively easy to resolve by using an analogue multiplexer such as a 4051, this allows you to read analogue data from eight sources into a single analogue pin on the Arduino. Another issue I'm running into is running multiple LED's from a fewer digital outputs, it appears to be possible however I'm having issues sourcing a chip capable of this.

Despite the issues I'm having I'm enjoying myself exploring the Arduino system and am having lots of ideas for projects to do with them, I'll be posting some more specific info on what I'm doing in the coming weeks.


Wednesday, 7 May 2014

Drum Machine Project

I recently created a drum machine in C# using the directX sound programming library as part of a university project. Through the first and second years of my course programming a been prominent  part however this was the first time working in C#. The project was simply to create a drum machine with 4 voices, that could be play 4 bard of 4 beats. As I progressed in making the program some useful features were added such as:

  • 6 Voices
  • Voice active indicator
  • Voice pan and volume
  • Playback head
  • Beat and bar indicator
  • Set BPM and time signature
  • 3 Presets
  • Temporarily save presets
Visually I tried to keep it simple however with the additional added features it became slightly over crowded.
Infinity Drummer - The drum machine in use

Here's a short demo video of the drum machine in action. Please comment and let me know about what you want to see added and what you think should be changed.