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:
- Synchronizing to sequencers or musical instruments;
- Controlling music peripherials or light equipment;
- Additional information about author, recording techniques, song title,...
  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