On Dec 5, 2007, at 2:51 PM, Josh Lawrence wrote: > Something mentioned in the hardware synths thread prompted me to ask > this question... > > So how does one go about adding buttons/knobs/switches that do > specific things to a standard computer? My best example of this is > the Muse Receptor - it is a standard computer, yet it has knobs that > do various tasks. I realize there is a hardware and software answer > to this question, but I'm more interested in the hardware part. > > In other words: > > 1)Where can I buy a knob? > 2)Where do I plug it in? > > Finally, I also realize you can buy MIDI knob boxes; that's not what > I'm talking about here. First, as someone else mentioned, you plug these into a microcontroller. A popular one is Aurdino from the MAKE Magazine people. SparkFun also has some interesting and relatively affordable kits. Or you could use a CPLD or FPGA. This will be harder to a lot of people to use, but it can potentially do more, and they are also fairly affordable. The final choice, which I wouldn't recommend at all, would be to use a bunch of I2C GPIO or ADC chips connected to a USB->I2C adapter. While this may seem easier, I doubt that it really would be easier. Broadly speaking, you have two choices for knobs. You can either get pots or you can get rotary encoders. How you use these is fairly different. From a look and feel perspective, rotary encoders will turn forever, and they feel a little clicky (or very clicky). Pots have a start and end point, but they are completely smooth. From a more technical point of view, rotary knobs are switches. They send a up switch or a down switch signal. They can be hooked to a digital GPI port on a micro-controller or FPGA. Pots are analog and need to be connected to an analog to digital converter of some sort. So, the short of how you would do this would be to hook your buttons, switches, and rotary encoders to your microcontroller's GPI ports, and regular knobs to the ADC ports. Then, you would write a program for the microcontroller to send events out a serial port. Depending on the microcontroller, it maybe possible to configure a UART to be MIDI compatible and actually make it a midi connected device. OTOH, it may be more useful (and simpler) to just issue commands out a regular serial port and then have a program on your host computer that reads the serial port and issues OSC or midi commands in JACK. As for buying parts, check out: mouser.com (general catalog) digikey.com (another general catalog) sparkfun.com (hobbiest kits) or google for aurdino. BTW, while a microcontroller like a Philips LPC may look very nice, sticking to something like an 8-bit AVR may be simpler to get started with. But, that's not what I actually did. _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user