Center for New Music and Audio Technologies

LIVING IN AN FPGA
Home    About me    Living in an FPGA     My Thesis    CORDIC     MIDI-Interface    Links


PLEASE NOTE:     Since I'm not working at CNMAT anymore an updated
version of this page is provided here.

Using computers as musical instruments raises two main types of problems. The first problem, usually referred to as sound synthesis, consists of developing methods for producing computer-generated sounds. The second problem consists of providing ways, for the musician, to control this new instrument in a musically meaningful way.

My work was concerned with the application of Field Programmable Gate Array (FPGA) technology to the problems mentioned above, since FPGAs provide an ideal environment for prototyping digital systems.


  A MIDI Interface    (more can be found here)

Since any new technology must also support the previous technology in order to be commercially viable, I implemented a MIDI interface that allows the transmission of MIDI data through systems currently developed at CNMAT.


  A CORDIC-based Oscillator    (more can be found here)

The idea behind this is to be able to implement a whole reconfigurable additive synthesizer in an FPGA. Therefore, a bank of oscillators becomes necessary in order to control the complete spectrum by parameters representing amplitude, phase and frequency. The use of CORDIC provides a means to implement multiplication and calculation of sine values using common resources!
I wrote a graphical user interface in Qt/C++ for a more convenient control of the oscillator. The tool also visualizes the impact of CORDIC parameters on the shape of the sine wave. Click onto the image for a screenschot with higher resolution (18kB)



I also wrote a Java applet, which demonstrates the principle of the CORDIC algorithm. By entering an input angle one can observe the stepwise vector rotation. After 8 iterations the applet returns the appropriate sine and cosine values for the given angle.




  A MIDI-controlled Oscillator -    (more can be found here)

Basically a combination of the projects mentioned above. The problem of converting MIDI notes into frequency (logarithm) is again solved by using the CORDIC algorithm.


  A Scrambler-Descrambler Design for Hiding Control Data in Digital Audio -    (more can be found here)

achieved transmission rates: 44 to 48kHz.

Possible applications:


  A Pseudo-Noise Generator -    (more can be found here)

Generating white noise needed in the Scrambler-Descrambler module mentioned above.




More can be found here.


Home    About me    Living in an FPGA     My Thesis    CORDIC     MIDI-Interface    Links



mail to: norbert@cnmat.berkeley.edu