Digital processing to enhance and co-exist with Analog Based synthesis.

This page describes work to date and in progress on 14 June 2008.



Making Peace with MIDI



Yamaha DCO's



Processing Incoming Voltage

<

Producing Outgoing Voltage


Event Sequencer

The figure on the left links to a diagram which attempts to depict simple use of one channel of this Event Sequencer. "Events" recorded do not have to be of similar length, composition, or replayed at a uniform tempo and order.

Text Box:  The diagram indicates the Event Sequencer samples the incoming control signals as a "control recorder". The entire recording or a User edited portion of the sample recording can be made recallable as a "Event".

Simply used, a ESQ is triggered and replays a single Event such as the recording of an ADSR. Additional flexibility can be achieved by Sequencing Events where the rate, order, and probability of replay is triggered, periodic, or a function of analog or digital inputs.

An Event Sequencer can extend the apparent "Module Depth" by replicating one or the sum of a very complex patch, freeing these modules for additional processing.

ESQ Detail




"Nine Yamaha FM Oscillators


Text Box:  The Yamaha YM2203C OPN Chip is an evolved AY-3-8910 Programmable Sound Generator (PSG) socket compatible chip. A device intended for the "Games" market (including arcade types).

The standard, simple, 3 channel square wave oscillators, are augmented by three channels of 4 Operator FM Phase Modulation. The addition of a microcontroller host results in a highly integrated way to implement 9 FM capable DCO's.

The photograph to the left links to a larger picture of a DCO project constructed around 1993. This card was produced in concert with companion digital cards such as 3 Channel VCO DACs, A 12 Bit companding sampling card, and 98 key interface and other digital synthesizer circuits. Sadly, once complete and tested, these cards where "stored away" due to distraction with computer based recorder, sequencer, synthesizer, environments.

Resurrecting the Yamaha YM2203C 9 Voice FM DCO card

Text Box:  The intention, in late 2002, was to provide full featured MIDI and ANALOG interfaces, in order to naturally integrate with other instruments. An initial modification to the FMDCO Board was to exchange the intel 8751 with a Maxim/Dallas DS89C420. This is a higly integrated, high speed, 8051 variant which executes at 32MHz with many instruction requiring a single machine cycle. This speed and capacity increase provides the "head room" need to perform sophisticated algorithms simulataneously on behalf of all 9 oscillators. for voice assignment, portamento, integrated modulation source such as LFO's, Random Noise, and variable Pitch set or bend.

This micro is also highly integrated with 1K of single cycle SRAM, 3 16 Bit counters, two serial interfaces, Watchdog, etc. But also implements a simple serial "BOOT LOADER" so that programming is fast, simple, and easy. The current executable is in assembler.



Microcontroller based Oscillators

When a digital technology generates MIDI Convertors, LFO's, Envelopes and, Noise; Microcontrollers have traditionally worked well. There are many examples of fine microcontroller based synthesizer accessories described and discussed on the Internet. You do have to ignore the opinionated techno-babble from List Experts who regularly declare only this DAC, Sample Rate, Bit Depth, Filter, table, algorithm ...) will do the trick.

The above doesn't mean you can avoid signal theory, it's just quite different to understand with your ears the implication of the concepts, trade-off, and logical expression for signal processing.

There has been historical challenge to high quality audio generation using microcontrollers, especially DCO's. In the past, compensation has been to add external hardware to implement what otherwise would exhaust the computation capacity of a given micro.

The problems of the past are over. Microcontrollers of all manner of peripheral content and processing capacity exist of low cost silicon and development environments.

first effort was proof of performance using and 8085 and an 8 bit DAC. This sine oscillators was really no different than what folks at the time were basing DTMF dialers with.
Following this, my first Control Voltage Interface (pre MIDI) would often get diverted into experiments with wavegeneration mostly 8 bits and under.

Getting serious, 3 i8048 micro's combined to make a wide range DCO.

Moving to 8051 based Oscillators DCO was wirewrapped into service. Two i8048 micros generated sawtooth table indexes with their outputs driving a 64k EPROM filled with pages of waveforms at different Amplitudes. The output of this EPROM was latched into an 8 bit DAC by a third i8048 which also byte. A second i8028 DCO analog inputs are input using a 14 Bit Analog to Digital Conversion. The output Waveforms are the result of a 16 Bit Digital to Analog Conversion. Control signals to interface to down-stream modules are provided by "Bit" ports.

The core of the DCO is the numerically control oscillator computation. The Yamaha OPN uses a serial sound generation architecture to which you interface using standard 8 bit parallel input/output.

Click for Image