Pitch-to-MIDI Converter


Design Strategy

The design for our pitch-to-MIDI converter can be broken down into the following components:

A/D audio interface

This will convert an analog audio signal (from a microphone, instrument, etc.) to digital data. At this point we are unsure of the optimal sample size (8- or 16-bit) and sample rate for this interface; it will need to be fast enough so that we can supply enough data to the FFT (see next part) and slow enough so that we don't overrun the FFT processor. If we have a sample rate of 22kHz or 44kHz (typical audio sample rates) we should have plenty of processing time per sample in the 24MHz FPGA (24MHz / 22kHz = 1090 cycles per sample, 24MHz / 44kHz = 545 cycles per sample; i.e., lots of time). We intend to use the hardware already available in the lab for the A/D conversion.

Pitch period estimation algorithm

Using the pitch-period estimation method described by Rabiner and Gold in 1969, this will measure the period of the fundamental frequency of the input audio signal. We were originally going to use a Discrete Fast Fourier Transform to calculate the fundamental frequency; however, we believe that this algorithm will be more efficient, require less memory, have lower latency, and be more resistant to noise than the FFT. The algorithm will be implemented on a Xilinx FPGA.

MIDI output interface

The result of the pitch period estimation will be passed to the 8051 microcontroller. The microcontroller will convert the frequency information into serial MIDI (Musical Instrument Digital Interface) data that will be output on a MIDI-out, 5-pin DIN socket. The output will contain at least the following information: note start messages, note stop messages, and pitch information. All MIDI data will be compliant with the MIDI standard as it is currently defined.


CSE 477 Spring 2000