2142

Introducing Pro Punk Drums, an audio plugin that delivers authentic, energetic drum kit sounds to your digital workspace. This plugin is a result of an extensive process where every percussive instrument in my studio was refitted with new heads or other hardware, and then carefully sampled, edited, and integrated into a comprehensive digital instrument. It’s available now for download and compatible with most major DAWs. I’ll detail some of the behind-the-scenes creation process and features of the plugin here.

Recording and Editing

To create Pro Punk Drums, I meticulously recorded every drum and cymbal from my drum kit, employing a range of articulations, intensities, variations, and microphones to capture the full dynamic range and unique character of each instrument. Take, for example, the bass and snare drums—key elements in the kit. Each of these was captured with two microphones, across three different intensities, and five variations for each intensity. To preserve the authentic stereo image and acoustic qualities of the drum room, these instruments were recorded in their natural positions within the full setup. However, to ensure the purity of the sound, each was recorded individually, eliminating resonance and bleed from other instruments.

The instruments captured are:

  • Acoustic bass drum
  • Side stick
  • Acoustic snare
  • Hand clap
  • Closed Hi-Hat
  • High Floor Tom
  • Pedal Hi-Hat
  • Open Hi-Hat
  • Crash Cymbal 1
  • High Tom
  • Ride Cymbal 1
  • Chinese Cymbal
  • Ride Bell
  • Tambourine
  • Splash Cymbal
  • Cowbell
  • Crash Cymbal 2
  • Maraca
  • Mute Triangle
  • Open Triangle
Recording a snare drum

After the recording phase, each sample was subjected to precise editing to maximize clarity and usability. For every recorded element—across all microphones, intensities, articulations, and variations—I ensured that the first peak of its soundwave was precisely positioned at three milliseconds from the start of the sample. I chose this particular time because it’s the low end of the perceivable time differences, and allows for a reasonable fade-in time for the samples to prevent any clicks or pops because of sudden amplitude changes. This was particularly crucial for instruments recorded with both overhead and direct microphones. In these cases, I edited the samples with a focus on the direct microphone, ensuring its first wave peak was at three milliseconds. Then, I adjusted the overhead microphone samples accordingly, aligning them relative to the direct microphone samples. This method preserved the natural timing differences between the direct and overhead microphones, maintaining the authenticity of the sound while ensuring tight synchronization.

Implementation

After editing the drum samples, they were encoded as binary data and integrated into a JUCE project, a well-regarded framework for audio application development. Within JUCE, I built a plugin that responds to the samples provided to it. The method I employed for organizing the samples in the JUCE synthesizer involves naming them according to their corresponding General MIDI (GM) Percussion names, iterating over them to map each to specific MIDI notes.

Deviating from the plugin itself briefly, what sets this implementation apart is its flexibility; users can replace the existing samples and modify their variation, intensity, and microphone settings. Granted, the implementation requires that the user re-compile it, but it is released under the GPL-3.0 license, available here. This feature opens up possibilities for creating a completely customized instrument. Although each drum set and player brings unique qualities to a recording, necessitating some fine-tuning to achieve a polished mix, the foundation is there for anyone to adapt the plugin. By following a naming convention that combines the GM Percussion name in camel case with metadata indicating intensity, variation, and microphone position, one can generate an entirely new plugin.

For instance, the file name ‘closed_hi_hat_1_3_left.wav‘ tells the system that this is a ‘Closed Hi-Hat’ with the lowest intensity (index 1), it is one variation among several (index 3), and it was captured with the ‘left’ microphone. The plugin intuitively sets default panning based on microphone IDs like ‘left’ and ‘right’ and inverts the phase for a ‘bottom’ microphone. However, these defaults can be customized if necessary.

Default JUCE UI

You might wonder about the visual aspect of the plugin and whether the Pro Punk Drums aesthetic would limit your own branding. Rest assured, the plugin’s appearance is fully governed by JUCE’s LookAndFeel classes, which provide deep control over the UI design. Simply by omitting the line of code that applies the Pro Punk Drums styling, you can see the significant impact these classes have, offering a blank canvas for any desired visual theme.

MIDI Map

Pro Punk Drums aligns with the General Midi Percussion standard, a decision driven by the desire to avoid further fragmentation in the already complex world of MIDI. This adherence ensures that the plugin integrates smoothly with various MIDI setups, such as directly importing rhythms from GarageBand’s ‘Drummer’ feature without losing the original beat and rhythm.

However, adhering to this standard presents certain challenges, especially in terms of compatibility with other products like ToonTrack’s EZDrummer. For example, while the General Midi standard differentiates only between ‘open’ and ‘closed’ high hats, EZDrummer offers a more nuanced range including ‘tight’ and ‘loose’, ‘edge’ and ‘tip’ variations. To accommodate this within the GM framework, Pro Punk Drums cleverly utilizes the 127 MIDI velocity values. It subdivides these values to represent different intensities and articulations; for instance, the range for ‘closed high hat’ spans from ‘tight tip’ to ‘tight edge’, while ‘open high hat’ encompasses everything from ‘closed tip’ to ‘open 3’. This approach allows Pro Punk Drums to maintain compatibility with the GM standard while still capturing the depth of articulations found in more detailed MIDI mapping systems.

Furthermore, in simulating a realistic drum kit, the interplay between different drum elements was a critical aspect to address. Consider again the high hat; when a drummer transitions from an open to a closed high hat, the open high hat’s resonance ceases. This interaction is mirrored in the plugin: triggering a closed high hat sample automatically stops any open high hat samples from ringing. The same principle applies to the triangle; playing a muted triangle sample will silence any ongoing open triangle sound. Such attention to detail ensures that the MIDI triggering within the plugin reflects the nuanced behavior of actual drum playing.

Advanced Sound Processing

In addition to sample playback, Pro Punk Drums offers advanced sound processing tools. These tools allow users to shape and mold the drum sounds to fit their production needs. From adjusting the EQ to adding reverb, the plugin offers a range of options to enhance the raw samples. This level of control is crucial in audio production, where the drum sound can vary significantly from tight and punchy to loose and raw.

I chose to use a three-band EQ with a low shelf, mid peak, and high shelf because it offers the most tonal options in the fewest controls in my estimation. You can configure the quality and gain of the shelves to make them more like passes, or bump them only slightly at the very ends to make them more like peaks. When combined with the “mid” peak filter, you can configure this section to be like a band stop or just slightly accentuate a component of the kit that your production needs.

Effective drum mixing often involves parallel compression to achieve a full and powerful sound. Each channel in the plugin includes a compressor equipped with make-up gain and blend control for optimal sound shaping. Considering the transients of each sample are standardized to 3ms, you can calculate the ideal compressor settings based on the BPM of your track, using the formula: 60,000ms per minute divided by the BPM to determine the timing for each quarter note. For instance, at 120bpm, you might consider using a release time of 500ms to align with quarter notes, or 250ms to align with eighth notes, etc. Perhaps in the future, I’ll implement a “sync” button that makes these times available as notches. In any case, usually blending in 10% to 50% of the compressed signal with the original can yield a pleasant dynamic balance, maintaining the instrument’s natural dynamics while adding the desired sustain and punch.

Additionally, to replicate the natural ambiance drums acquire from their environment, a sophisticated room simulation has been integrated into the plugin. This digital ‘room’ is crafted using a series of four all-pass filters and eight parallel filtered-feedback comb-filters, commonly referred to as ‘freeverb’. Users can send each channel to this room independently, allowing for tailored sustain and presence for each instrument. Additionally, the room’s characteristics such as size, damping, and width are fully adjustable. While the default setting is a small, lively, and wide room—ideal for high-energy tracks—the controls allow for complete customization to match any production style.

All of the different variables detailed here are made available to host applications as automatable parameters. This allows for extremely sophisticated sonic processing, like for instance speeding up the release of a compressor on a dense section, or making the room bigger for artistic effect.

User Interface and Plugin Formats

Finally, and moving on from the implementation and processing, the UI of Pro Punk Drums strives to be as simple and as deep as it can be. The ‘Drums’ tab is an intuitive starting point for auditioning individual drum sounds. In the more complex ‘Samples’ tab, users can manage panning, level, and phase inversion for each mic input—key for fine-tuning sound isolation or microphonic contributions in the mix. For instance, cymbals are recorded with both direct and overhead mics; the overheads are panned hard left and right, creating a realistic stereo field. The snare drum, with top and bottom mic samples, benefits from phase inversion on the bottom mic to avoid phase cancellation and produce a richer sound.

The ‘Outputs’ tab allows for further refinement with EQ and dynamic compression, enabling producers to shape each drum’s presence and texture. The channels available are:

  • Kick
  • Snare
  • Toms
  • High hat
  • Cymbals
  • Other
  • Room
  • Output
Styled JUCE UI in Ableton on macOS

Each channel features a three-band EQ, compression with make-up gain and blend, room send, and overall gain control. The ‘Room’ tab gives control over the size, damping, and width of the room from the “freeverb” detailed above.

Pro Punk Drums efficiently sums the audio from its first seven channels—Kick, Snare, Toms, High Hat, Cymbals, Other, and Room—into a main output channel, which is equipped with its own EQ and compression controls. For users seeking more detailed control over their mix, the plugin features a ‘multi-out’ option. Activating this feature allows for the individual routing of each channel’s audio to separate tracks within the DAW. This not only offers the flexibility for custom processing of each drum component but also enables users to ‘print’ the audio. Printing can be particularly useful for visualizing waveforms, saving on computational resources, achieving finer mix control, or facilitating easier sharing with collaborators.

The Pro Punk Drums plugin not only allows users to fine-tune their settings but also offers a convenient way to save and share these configurations. Through the preset manager UI located at the top of the plugin, users can effortlessly save their custom settings, select from existing presets, or delete them as needed. These presets are stored as files on the user’s system, ensuring easy access and portability. For Windows users, these files are located at C:\Users\Public\Documents\Pro Punk DSP\Pro Punk Drums, and for macOS users, they can be found at ~/Users/Public/Documents/Pro Punk DSP/Pro Punk Drums. This feature is particularly useful for those who wish to reuse specific settings in other projects or share them with collaborators.

Conclusion

In summary, Pro Punk Drums is a digital instrument plugin that brings the raw, energetic sound of my drum kit to the digital music production space. By sampling the drums with the utmost care, editing those samples for clarity and usability, and integrating them into a sophisticated digital instrument using JUCE, this plugin offers an authentic and versatile rock drum sound. It is free, available for download, and compatible with most DAWs.

Share

2 comments

  1. January 17, 2024 at 8:27 pm
    Nel

    I heard what your plugin can do, and it sounds great! Can’t wait to hear it tested with more songs

    It’s always cool to know the finer details in its development.

  2. Trackback: Creating Real-Time Audio Applications - pauljonescodes

Post comment

Your email address will not be published. Required fields are marked *

Go top