|
128 oscillators
16 voices
128 midi channels
96 kHz Audio
DSP
Sound Demo 1
Sound Demo
2 |
A complete drum computer in VHDL
Cyclone 4 Development System
.
A Cyclone 4 board of Terrasic is used for sound synthesis and video generation.
2 ports (mouse + keyboard) are available for graphic and
synthesis control. Also a MIDI-controller can be attached:
The DIY-MIDI-Controller
works with standard 230kBaud, which is about 7 times faster than normal
MIDI (31250bps).
The design was derived from my
universal VA-synthesizer module formerly realized in this
Cyclone 4 platform and contains parts of my
Multi
Audio-Video-FPGA platform. The sample frequency can be selected
between 96kHz 192Hz and 384kHz. All processing units adapt automatically
in this design. To obtain to best sound quality possible
especially for the brilliance of the HF and adapt to current
audio hardware, 192kHz have been chosen as the sample
frequency. Read here about the
advantage of
192kHz in audio processing.
The design is pretty
similar to the former Spartan6 design and uses also the my
redesigned
non
linear amplification circuit.
"True Analog" filtering is applied with a 225 TAP FIR
filter running 5 times the speed of the sampling frequency
instead of only running exactly at
the sampling frequency as with common audio processing
software.
The filter consists of a symmetric set of optimized binary
coefficients using a modified Blackman-Harris window and
performs nearly artifact free real time resampling with just
only two 25x18 multiplier at full system speed leading to a
24Bit precise calculation with 36Bit precise coefficients.
Music Box / MIDI Engine
The Music Engine produces MIDI-like
information, based on pre defined rhythm 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
available.
The arpeggio module uses adjacent MIDI channels
to produce MIDI echo rather than audio echo. This is possible
with a very high time resolution creating short reflections
similar to room reverb. For the slower (normal) arpeggio the
channels can use different parameters for the voices.
Listen
to the Drum Demo Sound.mp3
The synthesizer uses the MIDI
notes and produces audio signals for each midi channel from
generic functions, tone banks, or DDS-based sine waves. Wave table
utilization is planned.
Also true random generators are possible acting as my
vhdl noise generators.
The synthesizer operates totally pipelined and with 50MHz clock
speed and processes 128 from 256 possible MIDI channels, has
3 oscillators / wave generators and 256 voices polyphony.
Graphical
Sound Analyzer
A simple oscilloscope function
in the FPGA is used to control and analyze the wave form during
sound generation and modification. The video runs at 108 MHz
with 1280x1024 pixels.
Graphical Spectrum Analyzer
Drum Computer GUI
A simple 800x600 pixel GUI in VHDL is used to
control the parameters of the drum machine. All values can be
displayed virtually on a VGA monitor including the oscilloscope
like frequency and wave form monitors.
Drum Computer Front
The front of the intended midi controller for the drum computer
using classical Mentor knobs for the encoders.
The complete front skin of the drum computer with 16 step
sequencer and individual tone control for each step for tuning
the sounds. Thus bass drums and toms can be setup with the right
frequency to met the melodies tune.
|
|