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