www.96kHz.org
advanced audio recording
Artix 7 based drum computer
  256 oscillators

32 voices

128 midi channels

768 kHz
Audio Generation

192 kHz
Audio DSP

A complete drum computer in VHDL

This page shows the forthcoming version of the drum computer. For technical details regarding VHDL and base board see the article
Spartan 6 drum computer. For the new version, a current Artix 7 FPGA is planned.

Comparison between Spartan6 and Artix7 resources and resulting sound / video options:
The largest with free software programmable Spartan 6 FPGA is the type150 which as between 1,4 and 3,0 more resources (see green figures). The largest Artix7 FPGA as 2,0 to 5,6 times more resources and accepts higher speeds.


Resources   XC6SLX75   XC6SLX150     XC7A200T  
Cells 74637 1,0 147400 2,0 215360 2,9
Slices 11662 1,0 23038 2,0 33650 2,9
DSP 132 1,0 180 1,4 740 5,6
BRAM18   172 1,0 268 1,6   730 4,2
Video Section                
H-Size 800 1024 1280  
V-Size 600 768 1024  
Colors 3 3 3  
Color-bits 2 2 3  
Colors 64 64 512  
Video-RAM 2.880.000 1,0 4.718.592 1,6 11.796.480 4,1
BRAM-Bits 3.170.304 4.939.776 13.455.360  
usage   91%   96%     88%  
Song Section                
Tracks 128 1,0 128 1,0 256 2,0
VCO-Parameters 128 1,0 128 1,0 512 4,0
LFO-Parameters 32 1,0 96 3,0 128 4,0
Para-RAMs 160 224 640  
RAMs 172 268 730  
usage 93% 84% 88%  
free 12 44 90  
Song-RAM 8 1,0 32 4,0 64 8,0
Events 8.192 1,0 32.768 4,0 65.536 8,0
Events / Voice   64 1,0 256 4,0   256 4,0
VA-Synth Section                
VCOs / Voice   2   2     3  
OSCs / VCO 1 2 2  
LFOs / OSC 1 1 2  
Oscillators   2 8 4 16   12 48
EQ-Filters   2 4 2 4   4 8
Volume 2 4 2 4 3 6
ADSR 2 4 4 8 6 12
Compress 1 4 2 8 2 8
Gain 1 1 1 1 1 1
Send 2 4 2 4 3 6
Mix 2 4 4 8 4 8
channels 2 2 4 4 8 8
Modifiers   14   21     31  
Echo   2 6 4 12   4 12
Reverb 1 4 2 8 2 8
Shuffle   1 1 1 1   1 1
Multipliers     46   78     126
poss Synth stages     2,9   2,3     5,9
used     2,0   2,0     4,0
System-Freq.   216   216     297  
Audio-Video 108 108 148,5  
Voice-Pipe 128 128 256  
Sample-Freq. 843,75 843,75 580,08  
Sample-F. used 768 768 576  
Sampler 4 4 3  
Output   192   192     192  




Former System:


Spartan 6 LX FPGA System
.
base board of FPGA Drum Computer

A Spartan 6 FPGA board from Trenz Electronic Germany is used for sound synthesis and video generation. 2 PS/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 4x230kBaud, which is about 25 times faster than normal MIDI. See the MIDI 2000 page for details about my MIDI standard.


MIDI Controller

MIDI Controller for drum computer



 Drum Computer Front

To control the FPGA directly certain functions can be accessed by internal rotary encoders. Here no LED feedback is used but the values are represented on a SVGA output. There is a drum computer GUI as well as a GUI which shows directly knob positions. Therefor the screen of the front plate is used.

drum computer front skin - PC GUI
Drum Computer PC GUI

drum computer front skin - Version 2 - front skin for the drum synthesizer
Drum Computer Knob Representation, now with smaller keyboard but more knobs than in version 1. It has a 16 step sequencer for each channel and individual tone control for tuning the sounds in real time. As an example bass drums and toms can be configured with the right frequency to met the melody's tuning perfectly. Song and pattern programming is performed via GUI or PC upload.

 
Construction Details

drum computer data flow
Data Flow and interconnections of the drum computer




 Current realization of the drum computer using Mentor knobs for the encoders:


drum computer front skin - front skin for the drum synthesizer

Listen to a demo song of the DRUMMIX 2:

Mix1


The Drum Computer shows also internal settings and values like wave synthesis and levels via a virtual MIDI knob matrix:

drum computer direct vga output


See the first version of the drum computer in VHDL here: Spartan 6 Drum Computer with virtual console



 

 

© Dipl.-Ing. Jürgen Schuhmacher 2016