2009年9月15日 星期二

The Mapping Process and Interface

I have a Logitech wireless gamepad, which has two analog sticks, four shoulder trigger buttons, a D-pad, four more buttons, and the select and start button. The two analog sticks I used for tw0-dimentional continuous controls. I divided the plane (imagine the analog stick moves in a square) into four quadrants, if I move the stick into any one of the quadrants, it will play a note. And the further the stick is pushed in the horizontal direction, the louder it gets. I also put a e
xponetial curve to the amplitude control, so it sounds and play more like the bow movement of a string insturment.

Next, I created a float counter for shifting octaves. Since I used midi-to-frequency objects to control the frequency, adding or subtrac
ting twelve is shifting up or down one octave. I assigned the shoulder buttons to do the job, so that I can play notes and change octaves at the same time without stopping. Also, I used the same method to create the "sharp" note. I used another shoulder button, if pressed while playing, the note will shift half step up. There is one shoulder button left, which I used it as a kill switch. It changes the amplitude to zero instantly after pressed; and if released, it restores the amplitude's value. I added it just for fun.

The most confusing and time-consuming part is probably making the switch for the violin/cello mode. I used a bunch of spigot objects and toggles/bangs. In order to let one kind of sound go through the gate (spigot) at a time, I used the reverse object to close the other spigot gate. And it works fine. Too bad the windows version
doesn't have the "spigot~" (spigot for audio) object, which is really painful that I have to switch modes manually. Anyways, I found out the "reverse" and "spigot" object very useful when making switches.









Above: "Imagine the analog stick moves within a plane", I input the values of the x and y-axis into the grid for visualization

Below: My sound synthesis patch: the blue box is my amplitude controllers





沒有留言:

張貼留言