Audio Touch Screen/Surface Technology

 

This is a project that I chose to work on for my final major project at University, the idea is to use four contact microphones placed in a rectangle to detect the origin of a vibration made within that rectangle by using a mathematical technique called trilateration. Although the theory is simple, implementing it using run of the mill standard audio hardware was a very challenging task.

To get the prototype working I suggest you refer to the design section of my dissertation. Although don't be supprised if you get very poor results, this is a very early prototype !

Dissertation Report:
dissertationreport.doc
dissertationreport.pdf

Prototype Source Code:
touchdevice_src.zip







Borg ER-2 - Sound Synthesizer

screen shot of myspace friends bot

This is a software sound synthesizer that features eight oscillators each containing a rich selection of wave shapes.

A lot of thought went into the interface, each turn dial has three speed settings to ease selection of values and the relationships between all eight oscillators allows complex sounds to be easily modelled, each oscillator can frequency modulate, amplitude modulate and add, subtract or multiply with another oscillator all at once. What I aimed to achieve in this project was an interface that was as powerful as a modular interface but without all of the dragging modules around and connecting wires which I believe that this can be destructive to a work process, I found that time was being assigned to maintaining a good visual appearance when designing sounds in a modular interface.

I also wanted to create an interface where you can see how your sound changes to different inputs and this is what the borg allows you to do, you can see the effects on the output sound wave every time you change a setting or turn a dial and you can also view each oscillators sound wave individually by selecting the oscillator.

All of this had to be achieved in a minimal interface that would not over complicate methods for the user by using too much un-necessary dsp jargon.

All of the filters and effects below the eight oscillators are applied per-oscillator depending on which oscillator you currently have selected, so for example each oscillator can have it's own low pass value applied to it.

I spent a lot of time optimizing the sound engine, none of the oscillators use floating point division making them super fast and they are all based from high quality wave tables that are generated when you start the synthesizer.

Preset Archive:
http://www.mrpuzzle.org/borguploader.php

YouTube Video:
http://www.youtube.com/watch?v=FKr5nooSrkE

Download Win32:
http://www.mrpuzzle.org/files/borg2.zip

Source Code:
http://www.mrpuzzle.org/files/borg2_src.zip








Borg ER-1 - Drum Synthesizer

screen shot of myspace friends bot

This is a software drum machine modelled around the Korg ER-1 drum machine, there are a few improvements, more LFO wave shapes and an extra main oscillator waveshape. The black rectangle is where the oscilloscope is rendered however at the time of taking this screenshot no audio was playing.

The main oscillator uses wave table synthesis, the wave tables are created from expencive additive synthesis providing high quality wave shapes at little cpu expence.

The LFO (Low Frequency Oscillator) uses small tables consisting of a few points that are interpolated between using linear and cubic interpolation.

I used a one dimensional bezier curve algorithm to produce textured noise.

Download Win32:
http://www.mrpuzzle.org/files/borg.zip

Source Code:
http://www.mrpuzzle.org/files/borg_src.zip