Tag Archives: Project
I haven’t posted anything new for a couple of days as I’ve been busy working on some new elements for the Airdeck. For starters, I am designing some Infrared LED gloves. I know virtually nothing about electronics, so I had to research this, but I think I have a decent design in mind now. I actually had a working glove this weekend, but I didn’t know that you needed resistors, so I have to order some and start over. Also, my dad shared with me some information about Molex solderless connectors, so I am gonna try those for some of the connections because my soldering skills need some work. Hopefully, I’ll be able to post some more info on the gloves by the weekend.
As for coding, I have been trying to incorporate some new features. I have two oscillators available now that get mixed together. So if a user picks a “Custom” preset, the radio button panels for oscillators 1 and 2 will be available to select different waveforms. I also have a panel with several faders, but they don’t do anything yet. The idea is to offer some filtering and modulation to the waveforms. Additionally, because the left hand(Y-axis) is only used for volume… I thought that any left hand movement on the X-Axis should be available to control another parameter such as a filter, if the user desires.
I still need to program the preset sounds, program the filters, and figure out how to get MIDI out to work. Also, when I added two waveforms mixed together, for some reason the amplitude control sounds a little glitchy when you try and raise or lower the volume with the left hand. So I have to figure out what that is all about.
Finally, I’ve been working on making the GUI look a little nicer. I still have to work some kinks out, but this is one of the ideas I had. Going old school. Although it might be cool to offer several skins that the user can select from. I will give that some thought as well.
The Java API that I am using in my application to communicate with the Wii remote is called WiiuseJ and was written by Guilhem Duche. Guilhem maintains his code and a user forum at the WiiuseJ project. He’s a friendly guy; very helpful and responsive. Anyone interested in Java Wii hacking should check it out.
As promised, here is some video of my project work completed so far. I still have quite a ways to go; there are a bunch of ideas I have to add to this, as well as checking for bugs and making the GUI look more sophisticated. But this video captures the main functionality of the application and I am pleased with the initial progress I have made over the summer.
The theremin, developed by Russian physicist Leon Theremin, is an instrument that allows the user to manipulate musical volume and frequency by moving one’s hands in front of the instrument’s antennae. The sound produced is a haunting, almost eerie, timbre that made the instrument a novel feature in many 1950’s horror and science fiction movies.
This is just the initial interface to get things going. I intend to have a drop down menu with several preset sounds. Additionally, I want to offer the user the ability to customize their sounds, which is what the waveform radio buttons are for. I am still debating how much customization of sound I will be offering, but choosing a waveform is a good basic start. Further, there will be an option to send the notes out through MIDI. The red dot represents the right hand and controls pitch by tracking movement along the X-Axis. The blue dot represents volume and is controlled by the left hand moving along the Y-Axis. The application is triggered with the Wii Remote communicating with the host PC over bluetooth. More on this process in upcoming posts.
I am currently working on a Java application that emulates a theremin for my undergraduate Senior Project. It uses a Wii remote for tracking infrared LEDs on one’s hands and converts the coordinate data to pitch and volume. This blog is intended to document changes and ideas as I work through the development process. I will also be presenting other cool and interesting music and technology related ideas here that catch my attention. My application is at a functional stage. I hope to post video of it in action within the next few weeks. Additionally, time and resources permitting, I intend to make a DJ version of this that would allow mixing and scratching by moving one’s hands in the air.