music workstation with C3/C2 and 1024 polyphonic voices
Cyclone III +
Base Hardware UNIT
Altera Cyclone III
The new Altera Nios Embedded Development
Kit III from Terasic is used to implement and test the parts
of the AUDIO DSP. It performs IO communications and is the master
of the sub modules. Currently there is one music module driving
one synthesizer module and one audio dsp module directly. This
gives the option to generate and process all music and audio
data with low latency. The board is attached to both a stereo
audio codec chip and high speed adcs+dacs which are used for
signal observation during development process. Also it contains
a Video interface to VGA/HDMI to directly monitor spectral audio
responses as used in a graphical equalizer
can be linked by audio wire or virtual midi, also offering virtual
MIDI over S/PDIF. This both ensures high MIDI bandwidth much
beyound the current MIDI standard.
For example with common studio music
setups, the transmission of sysex-data and tone data for e.g.
32 MIDI channels will typically require a period of nearly 70ms
which makes it impossible to generate musically synchronous
data in real time. Remember that already 2ms delay between two
channels might be discovered as echo. With the FPGA based digital
audio workstation, 1024 MIDI channels could be transmitted in
less than one sample of 96kHz! This makes it first possible
to define echos and reverbs in the midifile and install arpeggiator
modules wich genereate reflections and whos repeated notes perfectly
fit to the music data stream.
Music Box / MIDI Engine
8 x 16 primary MIDI channels, 1024 secondary channels
The Music Engine produces MIDI-like
tone information, based on pre defined rythm and tone patterns
which are kept in a memory. The tone notes are copied/doubled
according to the ARP pattern, compressed in loudness and modified
by the ADSR-module end then sent to the synth module synchronously.
255 Tone Levels = quarter Notes covering 127 MIDI Notes are
Midi Routing to internal and external
with virtual MIDI over S/PDIF
The different boards are interlinked
with LVDS parallel bus as well as
like LVDS-connection using a virtual MIDI2S/PDIF-converter.
standard MIDI-interface can be linked. MIDI-send/MIDI-return
is used to plug additional arpeggio boards, as well as real
arpeggiators from hardware synthesizers.
In this audio
workstation, I use a 5 Byte MIDI, containing additional time
code and channel information. Routing information may be attached
too. Also 10 Bit controller data can be sent instead of 7/8Bit.
The difference between the first and the last MIDI channel is
only 0,2ms in maximum, even when all 1024 channels are active
and sending. Typically 200-300 channels send and receive
MIDI packets of 9-12 bytes in size per tone, so the latency is below
0,1ms leading to inaudible jitter of simultaneously occuring
Music Synthesizer Engine
with 1024 voices
The Synthesizer takes the MIDI
notes and produces audio signals for each midi channel from
generic functions, tone banks, or DDS-based. Wave table is planned.
Using 100MHz and 96kHz sample rate,
the synthesis module produces 1024 oscillators simulaneously.
With full 192 MHz operation speed (possible for Spartan 6 and
Cyclone IV) and reduced sample frequency of "only" 48kHz (common
for most synthesizers in the market) 4096 polyphonic voices
can be produced. Estimating a synthesizer with 4 oszillators,
this compares to 1024 voices polyphony.
Music DSP Engine
configurable DSP functions
The DSP Engine performs audio
processing link compression, limiting and distorsion like guitar
effects and tube microphone amplifier. Also audio spectrum analysis
can be performed through FFT.
The platform can be configured
with any number of DSP and Synthesizer Modules. Here the output
of the guitar distortion is shown-
Graphical Spectrum Analyzer
Large scale graphical Spectrum
Analyzer with 192 Tap Görzel FFT compressed to 48taps with direct
DVI output to 1920x1080 TFT monitor (Samsung TFT TV) by Altera
C4 FPGA. Resolution 0,1 dB and better. Soundpatch (still image)
created with E-mu Orbit 2 + Access Virus B. Live recorded with
1024 oversampling (96MHz Sigma-Delta ADC at 16 Bits) with 21
Extension Boards Cyclone II
witUp to 8 external boards can
be configured and controlled from within the main module.
MIDI Controller to run digital filters
of the Workstation (C2, 96kHz only)
Digital IO Bus
No typical MIDI Delay
because of high
1024 midi channels
Because of many downloads,
the number of demos have been reduced