A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.
-Robert A. Heinlein
Monday, September 27, 2010
Guitar controller – Part II
I’ll be using Bidule to interpret the signals from my guitar controller. I created the following patch to test out the concepts.
Bidule recognized my controller as a keyboard, so I added a HID-Extractor and selected the keyboard as input and Bidule automatically assigned a MIDI note to each keyboard key. The first stop after the HID-Extractor is a midi note filter that lets through only the notes associated to my controller. This is required because Bidule doesn’t seem able to differentiate between keyboards and any stray typing on my main keyboard would otherwise pollute my MIDI signal chain.
After the Note Filter, I added a note remapper. Since the HID extractor automatically maps each key to a midi note, this step is required to create a more meaningful association. For this test, I only used four buttons and mapped them chromatically from C4 to D#4. Later on, I intend to use a midi router to switch between different mappings. For instance, I could have one that moves in thirds, or in fifths. A button on the guitar body will allow me to select between these different mapping options. The guitar frets on my controller will not be limited to chromatic playing and I’ll even be able to program various scales and arpeggios.
These midi notes are being fed to Pitchwheel, a pitch shifting plug-in that is effecting the playback from the Audio File Player. For this test, I used an ambient drone loop. Pitchwheel responds to midi notes by shifting the pitch of the audio input in steps corresponding to these midi notes, C4 being the origin.
I sent the output of this plug-in to a Stereo-Mixer to have a way of gating the output. What I wanted to achieve was to hear playback only when I pressed on the strum bar. I did this by muting track 1 and linking the mixer’s track 1 solo parameter to the appropriate keyboard key triggered by my controller.
The output of the mixer goes to a reverb effect before reaching the sound card to add a bit of realism to the sound envelopes. When a note is played on an acoustic instrument, the sound doesn’t end abruptly after the player stops. The note vibrates within the instrument and the room for a while before dying out. The reverb plug-in allows short notes to sound more realistic.
Here is a little recording of a test I did with a similar setup. Basically the same but with midi notes transposed down an octave to sound more bass-like and mapped to arpeggio instead of chromatically:
There’s a latency issue on the strum bar that I’ll have to resolve, but otherwise everything is behaving as it should.
Next steps: More guitar hero controllers will be destroyed.
Tuesday, September 14, 2010
Guitar controller – Part 1
I’ve taken apart an old keyboard to scavenge the analogue to digital converter and the USB interface (the green board in the picture below). I followed parts of this excellent tutorial to get me started on this project.
Keyboards are rather simple circuits. There two groups of pins (top of the green board above) and every key is connected to one pin from each group. When a key is pressed, a circuit is closed between a unique combination of pins and the chip interprets that pin selection and sends the appropriate signals via the USB interface.
So far, I’ve soldered connector wire from both pin sets to a project board. I selected four from one side and seven from the other, for a total of 28 unique combinations, which should be more than sufficient. I’m thinking of having 12 buttons on the guitar neck and a few on the guitar body (including the strum button). I’ll connect buttons to the project board in columns, according to their pin assignments.
Next step: finding switches!
Monday, September 6, 2010
Things, unfolding
What to write about this week, it seems everything is happening at once… let’s see:
Guitar controller
I’ve decided to create a guitar-like controller as an intermediary learning experience before tackling the meta-trombone project I previously described. Mr. Funk’s own guitar controller (video below) is quite remarkable.
Where he cobbled together a nice collection of hardware components (an Electrix Repeater, an Alesis AirFX and what looks like the remnants of a midi keyboard) I would prefer to keep my “guitar” small and adaptable by making it a general purpose controller for computer music.
I’d like to cannibalize a USB keyboard for parts to provide the interface between the controller’s buttons and the computer as described in this tutorial. A guitar hero strum button would be placed in the middle of the controller to be activated by the right hand. I’d place a row of buttons on the guitar neck to be activated by the left hand. I might also include some mercury switches to determine the orientation of the neck. On the software side, I’d use Bidule to interpret the commands into MIDI signals to control parameters of effects and playback of music.
One obvious use of this controller would be to use it to ‘play’ a sound or a loop as a guitar. The strum button would control a gate filter, letting sound through only when it is activated by the right hand. The left hand buttons on the neck could control a pitch shifting effect. Combining the two should result in a single string guitar that can produce sounds from the playback of any sound source.
Metatrombone and trombone controllers
My research has turned up some interesting experiments in creating electronic musical controllers based on the trombone and an extended trombone instrument called the Metabone. However, just like Nicolas Collins “trombone-propelled electronics”, both of these experiments do not use the actual trombone sounds acoustically, as I intend to do.
Trombone, non-meta variety
I’ve started playing with the Music Conservatory’s Big Band last week and I’m pretty confident this group will be swinging in no time. It feels pretty good to be playing with others again and I look forward to learning some new charts.
Bédé
Earlier this year I was invited to participate in a forthcoming (December) sequential arts publication called Les fumettos du Cyclope that will showcase experimental and cutting-edge comics from both emerging and well established artists. My two contributions will be philosophical in nature, one is a first-aid kit for an existential crisis and the other is based on one of my early short films inspired by the events leading to the death of Socrates. I have to complete everything by the end of the month, so no time to waste on that front.
That’s pretty much it, aside from the constant demands of wedding planning…