Forth and Computer Music at the Technology in Music and The Related Arts Department (TIMARA) of Oberlin Conservatory - 04/28/2006
TalberTronics - Projects by John Talbert
The prototype of the MIDI Horn is designed and built. This is a wind controller with a pressure sensor, 8 switches, and several sliders/pedals. The controller data is fed to a single board Z8 microcomputer that interprets the data and converts it to MIDI control signals. The Forth language was used for programming the device as BASIC proved to be too slow.
The final version of the MIDI Horn is built. This is a MIDI controller instrument based on a single board microcomputer and programmed in the Forth programming language. Gary Nelson takes the MIDI Horn on the road with over 200 performances around the world. He uses the MIDI Horn as the performance interface part of a 'hyperinstrument' consisting of a Macintosh computer, a set of digital synthesizers, and the software (Max/MSP) linking them all together. In a 'hyperinstrument' the controller does not necessarily play 'notes', it sends performance signals acted upon by a computer program composed to control how the music is played out.
After working with Forth Programming Language on the MIDI Horn I am impressed with its speed, compactness, and ease of use. The Forth language consists of a dictionary of words (subroutines) and several stacks for storing the subroutine data. Programming in Forth is a matter of building new 'words' by combining previously built words that are already in the dictionary, thus creating a hierarchy of words. The higher-level words can easily be tested by running their lower level components. Lower level words that deal directly with the processor hardware are easily built, even using assembly code if that is deemed necessary for speed.
The Ohio Scientific Microcomputer is upgraded in 1987 with a Forth-based system (RSC Forth). The language is significantly extended with words that deal with the Hybrid Synthesizer, MIDI input and output, a timer device, a new SID synthesizer chip, and all the devices used to control the analog synthesizers such as control voltage DACs and ADCs, pulse detectors and generators. The Hybrid Synthesizer interface is rebuilt with new waveform generators and timer control. Floppy drives are installed for user storage of programs.
Analog synthesizer circuitry reaches a certain maturity with the availability of chips such as Solid State Music chips and the Curtis music chips. I use these to design and build an octal Voltage Controlled Amplifier (VCA), a quad Voltage Controlled Filter (VCF), an Aural Exciter with all its components available, and an Analog Delay Line box. All of these are controllable with the Ohio Scientific Micro using the extended Forth utility words.
Work is started on designing and building control voltage to MIDI devices. One project uses an 8088 microprocessor with a ROM based Forth system controlling 8 bit ADCs. Another project is to reprogram a Roland PG1000 slider box to put out any type of MIDI signal.
Chris Passauer
original article on : http://www.forth.org/successes.html adapted by Peter Forth 2018
By Phil Burk.
Hear more music here: