FPGA MIDI Interface

Hacking and digital music seem to be very much related arts. This very well built hack goes through the process of creating a MIDI synthesizer using a field programmable gate array (FPGA) and several other components.

A laptop is used as the MIDI interface which runs through a filter and then to the FPGA. This translated signal then goes through a digital to analog converter and finally to the amplifier and speakers. The FPGA is especially interesting as this chip is an array of logic gates that can be programmed however one wants. In this case, the wavetable principle is used to generate sound.

Although this is no Kaossilator yet, this device is a great start and very functional. If you’ve ever wanted to build your own electronic instrument, check out this hack. Also, check out the video after the break!

[youtube http://www.youtube.com/watch?v=c1_gluixbdE&w=470&h=349%5D

For another really cool musical hack, check out this robotic jazz ensemble.

11 thoughts on “FPGA MIDI Interface

  1. “Hacking and digital music seem to be very much related arts.”
    …Well that’s obvious since typically hacks are done to save a bit of money, and for most musicians, that is often necessary

  2. NatureTM, you can still code it, except you will have to do frequency modulation for the output section instead of using an external DAC. The only issue is dealing with the timing of how fast you modulate as you reconstruct the waveform. The wave table generation is interesting but if you tried the FM approach you could potentially get higher resolution since you could iterate the hardware in the FPGA till the chip maxes out/ reach the desired resolution. The rest of the sounds you hear in a synth are all just filters and such off the basic waves described here.

    Nonetheless this is still pretty cool :D

Leave a Reply to Beat707Cancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.