DrumHead Concept - HeavenEverywhere

Transcription

DrumHead Concept - HeavenEverywhere
FASTLab “DrumHead” Project Overview
DrumHead Project Overview
Stephen Travis Pope
[email protected]
March 17, 2009 -- CONFIDENTIAL DRAFT
Updated July, 2009
1. Motivation and Context
Electronic drums (eDrums) have been part of the musical instrument landscape since the 1980s. eDrum sets generally consist of between 5 and 15 drum/cymbal “pads”
with piezoelectric sensor triggers in them that generate
electrical pulses when they are struck. The pads are connected by cables to a unit that incorporates (a)
analog trigger processing electronics (possibly with MIDI output) and (b) a sound synthesis module.
Popular edrum systems are produced by Roland, Yamaha, Alesis, Hart, Pintech, ddrum, Simmons and
other companies. Several of these companies produce drum kits with no sound module, i.e., they recommend Roland (high-end) or Alesis (cheaper) synthesis hardware. These sensor-only drum sets may have
less expensive trigger processors that produce MIDI outputs to connect the trigger processor to the drum
module. In general, all drum triggers are very similar, and can in fact be interchanged and mixed in a single eDrum set.
There are several advantages of eDrums over acoustic drums: size/weight,
ability to play softly (even using headphones), flexibility, ease of recording, and
more. Large eDrum sets can cost much more than equivalent acoustic drums,
however; the list price of the flag-ship Roland TD-20 set is $7000 (see the figure on the right); Hart Dynamics’ full set lists for $8000 (middle figure on the
right). Much of this is due to the expense of current sound modules; Roland’s
TD-20 module alone lists for $2400.
There are however also grave problems with the synthesis of real drum and
Roland TD-20 Set
especially cymbal sounds, and many discerning drummers dislike the “canned”
(snd module on left)
sounds of the standard synthesis modules, opting for large and expensive drum
sample libraries and sample players. These sample sets can grow quite large
because for each drum, one must sample it at many dynamic levels, strike
positions, with different sticks, brushes, and mallets, and one may also use
several (up to 8) microphone channels to capture a close-up sound as well as
over-hear microphones and “room” sound. The more sophisticated drum
sample libraries all exceed 500 GB in size. The sample players are often
custom-made because the performer wants to be able to assemble a drum set
out of its components and then mix the various microphone channels using
drum-specific techniques. (Some sample libraries do however use off-theshelf sample players such as Native Instruments KontaktPlayer.) Drum samHart Dynamics Set with
ple players can generally run stand-alone, or as VST plug-ins within a VST
Roland sound module
host program such as the ProTools or Logic digital audio workstations.
Drum sample playback software are available from several sources such
as Fxpansion’s BFD, Addictive Drums, Toontrack’s Superior, and Mixasaurus. Systems that allow drummers to use sampled sounds ignore a large part
of the investment (the drum synthesis hardware) and require both a trigger
interface and a PC or laptop to run the sample player (see the bottom figure
on the right).
This leads us to recognize the opportunity for a new product genre: the
integrated e-drum trigger processor and disk-based sample player, which we
dub the “DrumHead.” The rest of this document describes the context in
Alesis Set with MIDI trigger
which this development is taking place, the components of the DrumHead
and PC-based sampler
1
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
system, and the development project we plan to implement the DrumHead product. The Appendices detail
the sampling and configuration software needed for an eDrum system, examples of the trigger processing
hardware we plan to use, and a survey of the competition in commercial eDrum trigger systems, sound
modules, and stand-alone VST hosts.
2. System Overview & Components
As introduced above, an eDrum system consists of a set of physical triggers, an analog trigger signal
processing module, and one of several kinds of sound synthesis module. In the simplest systems, these are
all included in 1 unit, but in professional eDrum sets, the triggers are separate, being connected to the
trigger processor by a snake of up to 20 cables. Trigger modules (e.g., the Roland TMC-6 or Alesis TriggerIO) consist solely of the analog trigger processing, and typically produce MIDI output. There are also
several kits from the do-it-yourself (DIY) electronics community for this function, for example the popular MegaDrum kits. In fact, all the necessary sensor processing and MIDI or USB output can be handled
by a fairly simple circuit (detailed in the Appendices) consisting of a set of analog input multiplexors and
a single-chip microcontroller such as those from Atmel or PIC.
Given the output of the trigger module, eDrum sound modules synthesize the drum sounds using either
FM (Alesis, Yamaha) or physical modeling (Roland), producing stereo or multi-channel (up to 8) audio
outputs. This is where the main frustration of many drummers lies—the simple trigger modules generally
do not support large drum sets, and the sound quality produced by the off-the-shelf sound modules lacks
dynamics, detail and spaciousness. This explains the popularity of sample-based drum sound synthesis,
and as shown in the bottom figure on the previous page, some manufacturers even suggest using a trigger
module connected to a lap-top PC running drum sample playback software.
The concept of DrumHead is thus to combine these components and produce a unit that looks like a
high-end drum module (rather than looking like a PC), and incorporates (a) the trigger processor, (b) a
single-board computer with high-quality sound output running a stripped-down operating system and
VST host program, and (c) a drum sample player.
The block diagram in the figure on the
right shows the basic components of
DrumHead: the 8-24 (or even 32) analog
inputs from the sensors (via banks or 1/
4-inch TRS jacks on the device’s rear
panel); the analog pre-processing, the
Atmel (or PIC) microcontroller for trigger A/D conversion and mapping, the
single-board PC running the VST host,
and the various output options. The figure on the first page shows a rough
mock-up of the components as they
would fit in a small enclosure approximately 75% of size (and cost) of a
Roland TD-20 sound module. We will
not describe each of the subsystems in a
bit more detail.
Sensor Electronics
The eDrum triggers are the 8-32 piezoelectric sensors on the drum pads;
there are more of these than there are
pads in the figures above because most
of the drum and cymbal pads actually
have 2 separate sensors, e.g., for the head and rim shots of a drum or bow and edge shots of a cymbal.
The trigger board consists of the analog signal conditioning, input multiplexing, and A/D convertor; the
sensor-to-trigger mapping is accomplished with an off-the-shelf microcontroller running a fairly simple
2
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
embedded program. The analog trigger inputs and MIDI output take up much of the rear panel of most
eDrum modules. We vue this component as a solved problem, as evidenced by the 2 competing DIY kits
(MegaDrum [www.megadrum.info] and eDrum [www.edrum.info]).
Single-board and Panel PCs
Because of the growing popularity of video games and computers in cars, modern micro-ATX format
PC motherboards support high-end processors (multi-core CPUs, up to 2.5 GHz clock speeds, support for
SSE instructions), 4 GB or more RAM, IDE or SATA disks, and an array of IO options (PS/2, USB,
FireWire, VGA/DVI graphics, multi-channel analog and digital audio IO for surround-sound systems).
There are many configuration options in single-board computers: CPU model & speed, RAM, disk interface, IO options, BIOS, etc. We choose to integrate a separate LCD display and touch-screen input, rather
than using a “panel-PC configuration) because of our performance requirements in terms of RAM, disk,
and processor performance (i.e., much more than required by a typical kiosk or point-of-sale terminal).
Inputs/Outputs
As illustrated in the rear-panel mockup shown on the right, the integrated
DrumHead system will have the trigger
inputs (via 1/4-inch TRS plugs), an
audio input (for mixing with the sampler output, e.g., for practice), the
“standard” computer IO ports (USB,
FireWire, Ethernet), and the highquality audio outputs: 2-channel analog
for main out, headphone out on front
panel, and optionally 6-to-8-channel
output for mixing.
We plan to use an 8-to-10-inch diagonal LCD touchscreen (mounted on the sloping top of the enclosure) for all user IO via the sampler GUI and special configuration screens. We may choose to allow the
use of an external monitor, keyboard and mouse as well.
Enclosure
There are many options as to the enclosure for the DrumHead; we opt for packaging that will be familiar to drummers: the sloped-front module with IO plugs on the rear
panel and control on the top (see the pictures of the Roland
TD-20 in the Appendix). Enclosures such as this are readily
available from a number of sources in ABS plastic, aluminum, steel, or wood, as shown in the figures to the right and
below—each of which are about the right size to fit the
DrumHead’s components.
3
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
3. Software
The DrumHead system consists of 2 processors, and will require several layers of control and configuration; we plan 3 main “pages” of the system GUI, for sensor management, the main sampler GUI
(through the “invisible” VST host), and the performance mixing and control GUI.
Sensor management
Even the simple DIY trigger systems have menu-based programs running in the microcontroller to configure the trigger input scaling and sensor mapping. The user can set the scale and offset of trigger inputs,
configure inputs for cross-talk cancellation, and load/store trigger configurations. To manage this from the
main PC’s GUI will require both a program running on the PC host and a communication protocol between the main PC and the embedded microcontroller. An example of the functionality we desire is the
free-ware eDrum Monitor software (www.edrummonitor.com, screen shots included in the Appendix).
VST host & GUI
The main PC will run stripped-down version of an off-the-shelf operating system (either RT Linux or
embedded MS-Windows) to handle basic system resource management (boot, user preferences, etc.). To
start up quickly, the system will be configured to launch from a stored memory image on disk (like waking up from “hibernate” mode, which is much faster than re-booting the operating system). Any changes
the user makes to the system will be stored in files on the disk and read in when the system starts from the
known state stored in the disk memory image.
The main program running on the PC will be the VST host—an audio program that reads in-coming
MIDI data from the trigger processor and activates its sole VST plug-in (the drum sample player) and
then writes the plug-in’s output to the system audio output. There are several open-source platforms for
VST hosts, such as the JUCE C++ libraries (www.rawmaterialsoftware.com). The VST host will need a
couple of simple configuration screens for setting the audio preferences, selecting output formats, and
possibly allowing the attachment of external MIDI control surfaces such as fader boxes to control the
sample player.
The main work of the PC is running the drum sampler software that’s plugged in to the VST host. These
packages allow the user to configure a virtual drum set (i.e., “play this sampled sound when I hit this trigger” or “assign a Ludwig maple 16-by-16-inch tom-tom to trigger 11”); these configurations can be stored
and recalled, e.g., to switch between two drum sets in an instant. Most of the sophisticated drum sample
players incorporate multiple microphones as separate tracks (the best offer 8 tracks per samples sound), as
well as supporting various post-processing effects such as equalization and reverberation. See the Appendix for screen shots of the BFD drum sampler from Fxpansion (www.fxpansion.com). As described
above; drum sample players are either stand-alone programs or use a generic sample player such as KontaktPlayer. It is our (initial) plan to make a deal with a single drum sample player supplier (such as Fxpansion) to port their system to the DrumHead, but we will certainly investigate supporting other solutions as
well.
Output mixing
For use in live performance, we must provide a simplified (but user-configurable) GUI screen for output management, channel mapping, mixing levels, and effects settings.
4. Mock-up
The figure below shows the main DrumHead components as they would fit in an enclosure that measures 11” W * 11” D * 4” H. Shown are the main PC motherboard (with its CPU and RAM installed but
not shown), the associated hard disk, the analog trigger processing module, the rear-panel input jack
boards, the top-mounted LCD touchscreen, and the front-panel headphone output. the power supply and
cooling systems are not shown. The rear panel of this enclosure was shown in the mock-up on the previous page, with the trigger inputs, PC rear panel, and power supply input and cooling.
4
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
5. Components Cost
We have put together an initial estimate of the parts cost for DrumHead as shown in the spreadsheet on
the right, which reflects retail prices
for the individual components.
Thus, $1100 is the raw cost of a
unit that replaces a system that lists
for $4500 ($2400 for the sound module, $1500 for a mid-range lap-top
PC, and $600 for the sampling software).
6. Development Plan
We plan to proceed in several
stages, the first of which is the construction of a working proof-ofconcept prototype based on the components listed above.
Once the hardware is integrated,
we will select the host’s embedded
real-time operating system (Linux or
MS-Windows are the candidates),
and VST host program (probably
based on open-source software).
After this stage, we can start to
develop the custom management
screens to configure the trigger processor, and port the selected drum sampler software (probably BFD or
KontaktPlayer) to the host platform.
5
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Appendix 1: Example Drum Sampler GUI Screens
1. BFD 2.0 by Fxpansion
The following screens are taken from the BFD software, which runs on Mac and MS-Windows platforms as a stand-alone program of a VST plug-in within digital mixers such as Cubase and Logic.
Main drum kit configuration screen
Drum kit preset management
Mixer screen
6
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Effects plug-ins
Microphone placement editor
Groove editor
7
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
2. MegaDrum Configuration Tool
The screen below shows the freeware configuration tool used to control the internal mappings of the
MegaDrum do-it-yourself trigger processor.
3. Edrum Monitor Application GUI
This program is used to configure the mapping of the MIDI signals coming from a kit trigger processor
such as eDrum or MegaDrum.
8
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
9
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Appendix 2: Open-source Hardware Trigger Processors
Megadrum all-in-one trigger processor: circuit diagram and PC board photo
USB plug
Input connector
USB driver
Multiplexors
Atmel microcontroller
10
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Appendix 3: Competitive Analysis
1. Drum Sound Modules
Roland TD-20 (TopOfTheLine)
16 dual-trigger inputs
“COSM” physical modeling synthesis
8-fader mixer with bank switch
Primitive user interface
Large increment/decrement buttons
MIDI I/O
8-channel analog output
S/P-DIF stereo digital audio output
Built-in “patterns” to practice with
Trigger config. mode
Drum select/edit mode
Drum set edit mode
Storage to MIDI SysEx or flash card
Stand-mount module
Headphone output on front panel
$2400 list price
Yamaha DTExpress
List: $540
Fewer inputs (8)
Cheesy sounds
Worse user interface
Stereo analog output
11
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Alesis DM5 (mid-fi)
List: $500
12 inputs
MIDI I/O
500 stereo samples
4-channel analog output
Poor user interface
1-unit rack mount
2. Drum Trigger-to-MIDI Interfaces
Roland TMC-6
List: $400
5 inputs
MIDI output only
Miserable user interface
Alesis TriggerIO
List: $300
10 inputs
MIDI & USB output
12
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
MegaDrum Kits (assembly examples)
Support up to 16 inputs
Basic kit: $135 (without enclosure and IO plugs)
EDrum kits
PIC microcontroller-based
Separate analog signal conditioning
EDrum PCBs
13
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Appendix 4: VST Hosts
Muse Receptor
Can be used as a stand-alone effects processor of VST-instrument, or as a GigabitEthernet-connected
VST accelerator for a host-based app.
Receptor 2Pro = $2600 (4GB RAM, 500GB disk),
ProMax (4GB RAM, 1TB disk) = $3200,
with NI Komplete software = $3700
14
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Manifold Labs (Eventide) Plugzilla (RIP)
Predecessor to Muse, pro-level
Dual VST GUIs
8-in/8-out via XLR connections (professional)
FireWire & AES/EBU IO
SMPro Audio V-Machines
System overview of V-Machine in use (below)
shows host computer used for down-loading VST
packages to run-time system, MIDI control of VST
player, and analog output to speakers.
Signal routing within VST player shows several
VST instances with audio routing and MIDI control, and final output mixing and global effects and
control
15
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
V-Machine mixer GUI
16
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Appendix 5: Summer 2009 Prototype
Components
Outline
•
•
•
•
•
PC mother board/sound card
SATA disk
Touchscreen
Sensor input & processing
Power supply
Details
• Intel DG45FC mother board
• DualCore Pentium IV @ 2.5 GHz (sse3 instructions)
• 4 GB RAM (max 8 GB)
• 1000BaseT, USB, e/SATA...
• VGA/HDMI graphics
• Asus Xonar sound card (7.1-ch + optical)
• 500 GB WesternDigital (reliable) SATA disk
• Sparkle 270W power supply
• HEMI 800 * 600 pixel LCD touchscreen
17
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Rear Panel
Audio I/O
Out 1-6
In 1-6
Fan
In 7-12
In 13-18
AC Power
Analog sensor input board (48 ch)
Sensor processor board (analog multiplexors & ATMega processor)
Audio I/O board (balanced line drivers & headphone amps)
Rear panel photo
Top-row analog I/O & headphone/mix-in
volume knobs; 2nd-4th rows: trigger
inputs; MIDI I/O, TOSLINK digital
audio out; USB (for ext. CD-ROM or
keyboard/mouse; GigabitEthernet network
Components assembled first time
L-to-R: LCD touchscreen (showing BFD drum kit editor),
hard disk, power supply,
mother-board, cooling fan
18
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Sensor processor prototype
18 dual-trigger inputs std.
6 more with expander break-out
Support for multiple kicks, multiple hi-hats,
and foot switch(es), and re-mappable
toms/cymbals
Pieces in place
L-to-R: input processor, terminal,
main unit, LCD touchscreen
Main unit detail
Bottom-layer: power supply, hard
drive; top-layer: motherboard, CPU,
cooling, RAM, sound card; front
(right) LCD touchscreen
19
March/July 2009 -- DRAFT
FASTLab “DrumHead” Project Overview
Appendix 6: Software
Sensor processor
• Custom kernel with “MegaDrum” sensor mapping library
• Configured/controlled by HeadMonitor software
Main PC CPU
•
•
•
•
•
20
Real-time Ubuntu Studio Linux release
WINE Windows emulation
JUCE-based VST host to run drum sampler (BFD, Kontakt-based, etc.)
HeadMonitor GUI for sensor settings (eDrumMonitor/MegaDrumConfigTool port)
JUCE-based GUI for output mapping
March/July 2009 -- DRAFT