Saturday, May 25, 2013

SN76489 USB MIDI Firmware 102: Linear Pitchbend, Clock-based Pitch

Overview
SN76489 USB MIDI Firmware 102 for the Teensy features the following changes:
• Pitchbend is musically linear, meaning that the same value pitch bend will give the same pitch distance no matter which pitch is played.

• CC71 on MIDI channels 1 - 4 sets the pitch bend range in semitones. The default is 12 semitones. 

• The frequency data for the SN76489 is calculated using a formula rather than a look up table.

• The advantage of this is there is a line of code in the program that reads: long clock = 1843200; Simply change the value of clock in Hz to support any value of crystal oscillator whilst staying in tune!

• The default is 1843200 (i.e. a clock speed of 1.8432 MHz) as this is the crystal speed that I prefer, however the SN76489 can accept a wide range of clock speeds. If you want a bassier pitch range, simply use a lower value crystal oscillator.


Download the firmware here: http://milkcrate.com.au/_other/downloads/teensy/SN76489_USB_MIDI_102/SN76489_USB_MIDI_102.ino



Example Breadboard Layout



Demonstration Video




0 comments: