AI Drum Pattern Generator — MIDI & Audio In, Groove Out
Two neural networks working together: a Transformer transcribes your audio drum loops into MIDI, then an encoder-decoder LSTM generates intelligent continuations.
Let your imagination fly. Draw a beat from scratch, drop a MIDI file, or throw in a WAV/FLAC drum loop and we'll transcribe it to a grid of 16th-notes. Then extend it in any direction — add a thundering fill, a rolling hi-hat pattern, or a funky house groove. Blend DnB breakbeats with jazzy syncopation. Layer claps over jungle breaks. The neural network follows your lead and takes it somewhere new.
Hover to play demo
Audio or MIDI Input
Drop a WAV, FLAC, or AIFF drum loop and the built-in DrumTranscriber v2 Transformer turns it into a 16th-note grid automatically — kick, snare, hi-hats, toms, cymbals, the lot. MIDI files work too. No DAW required to get started. How transcription works ↓
Intelligent Generation
An encoder-decoder LSTM model trained on thousands of drum patterns generates musically coherent continuations from whatever you feed it. Control temperature, density, and velocity to shape the output across 11 drum classes.
Draw, Edit & Style
Click to draw directly on the grid, or pick from 10 Drum & Bass, 10 House, and 10 Rock sub-styles. Groove templates (MPC swing, TR-808 shuffle, DnB feels) add timing character. Undo/redo and row locking keep editing non-destructive. Learn how style influence works ↓
What is CedarGrooveNET?
CedarGrooveNET is an AI-powered drum pattern tool that takes either a MIDI file or an audio drum loop (WAV, FLAC, AIFF) and extends it into a new pattern you can drag straight into your DAW. Rather than producing random beats or relying on simple algorithmic rules, it pairs two neural networks trained on thousands of real drum recordings.
If you start from audio, the DrumTranscriber v2 — a Transformer encoder-decoder that emits MIDI-style tokens — listens to the loop and writes out what each drum is playing, step by step. If you start from MIDI, it skips straight to the second stage. Either way, you end up with a 16th-note grid that's ready to edit, extend, or regenerate.
The generation stage is an encoder-decoder LSTM (Long Short-Term Memory) network. The encoder reads your input pattern and compresses it into a latent representation that captures the rhythmic essence — the groove, the feel, the dynamics. The decoder then unfolds that representation into new steps that continue where your pattern left off, producing output that sounds like a natural extension of what you started with.
The model supports 11 drum classes: Kick, Snare, Closed Hi-Hat, Open Hi-Hat, Low Tom, Mid Tom, High Tom, Crash Cymbal, Ride Cymbal, Clap, and Rimshot. This comprehensive instrument set covers the full palette of modern drum programming, from four-on-the-floor house kicks to intricate jungle breakbeats.
What makes CedarGrooveNET different from a simple random pattern generator is that the model understands musical structure. It has learned that kicks anchor the downbeat, snares land on the backbeat, hi-hats provide rhythmic texture and motion, and toms and crashes are used for fills and transitions. It knows that a sparse, open pattern calls for a different continuation than a dense, driving groove. It understands velocity dynamics -- that ghost notes on the snare create a different feel than full-velocity rimshots.
The generation is not just random -- the model has learned the statistical relationships between drum instruments across thousands of patterns. When it sees a two-step kick pattern, it knows that certain snare placements are more likely than others. When it detects a syncopated hi-hat rhythm, it adjusts the generated continuation to maintain that syncopation rather than defaulting to straight 16ths.
How to Use CedarGrooveNET — Complete Drum Pattern Generator Manual
Getting Started
When you open CedarGrooveNET, you see an empty 16-step grid with the message "Click to load MIDI, WAV, AIFF, or FLAC file." The grid is your primary workspace — each row represents a drum instrument and each column is a 16th-note step. You have three ways to get a starting pattern:
- Draw it — click cells directly to build a beat from scratch.
- Drop a MIDI file — existing MIDI is parsed, quantized, and mapped to the 11 drum classes.
- Drop an audio file — WAV/FLAC/AIFF drum loops are automatically transcribed to MIDI by the DrumTranscriber v2 model, then land on the grid the same way. Aim for clean drum stems and 2–4 bars (max 30 s).
Drawing Patterns
- Click any cell in the grid to toggle a drum hit on or off. Active cells light up in the theme's accent color (cyan/blue for input, pink/coral for generated).
- Each row is labeled with its drum instrument name (Kick, Snare, CHH, OHH, LTom, MTom, HTom, Crash, Ride, Clap, Rim).
- Each column represents one 16th-note step. Four columns make up one beat, and 16 columns make up one bar.
- Click and drag across multiple cells to draw or erase several hits at once.
- Hold Alt and drag vertically on an active cell to adjust its velocity. The cell's brightness changes to reflect the velocity value.
Grid Row Management
The grid starts with the most commonly used drums visible. You can customize which rows are shown and how they're arranged:
- Add rows: Click the + button at the bottom of the grid to add additional drum instruments that aren't currently visible (e.g., toms, crash, ride).
- Reorder rows: Click and drag any drum label (Kick, Snare, etc.) up or down to rearrange the row order to your preference. A floating preview shows the row being moved.
- Mute / Solo: Each row has small M (mute) and S (solo) buttons on the left side. Mute silences a drum during preview playback; Solo isolates it so only that drum plays. Muted rows appear dimmed in the grid.
- Right-click context menu: Right-click any drum label to open a context menu with options to regenerate just that single row (keeping all others unchanged) or clear it entirely.
- Row locking: Lock a row to protect it during generation — locked rows keep their pattern while all other rows are regenerated. Useful when you have a perfect kick pattern and want to regenerate only the snare and hi-hats.
Loading MIDI or Audio Files
CedarGrooveNET accepts both MIDI (.mid, .midi) and audio (.wav, .wave, .aif, .aiff, .flac) — the file extension is detected automatically and routed to the right pipeline.
- Drag and drop a file anywhere on the page, or click the drop zone below the grid to open a file picker.
- MIDI files are parsed server-side, quantized to a 16th-note grid, and mapped to the 11 standard drum classes using General MIDI note mappings. BPM comes from the MIDI tempo track.
- Audio files are passed to the DrumTranscriber v2 Transformer, which computes a mel spectrogram and autoregressively emits drum event tokens (time, instrument, velocity). Events are then quantized to the 16th-note grid just like MIDI.
- BPM for audio is parsed from the filename if present (e.g.
Drum_Loop_BPM174.wavor90bpm.wav), otherwise it defaults to 120. You can override it at any time with the BPM control after loading. - Audio longer than 30 seconds is rejected. For best results, use clean drum-only stems — mixed audio with melodic content can confuse the transcriber.
Generating Continuations
- Once you have an input pattern (drawn, loaded from MIDI, or transcribed from audio), click "Generate Groove" to run the LSTM generator.
- The model analyzes your input and generates a continuation that respects the rhythmic feel, dynamics, and instrument balance of your original pattern.
- Generated steps appear in a different color (pink/coral) next to your input steps (blue/cyan), making it easy to distinguish what you wrote from what the AI created.
- Use the "Bar Length" control to set how many bars to generate, from 1 to 16. Longer generations give the model more room to develop ideas, while shorter ones keep things tight.
Parameters (Knobs)
Five knobs control how the model generates and how the output sounds:
- Temperature (0.5 - 1.2): Controls the randomness of the generation. Lower values produce more predictable patterns that stay close to the training data. Higher values introduce more creativity and variation. The default of 0.85 provides a good balance between coherence and surprise.
- Density (0.0 - 1.0): Scales the probability of hits in the generated pattern. Lower values produce sparser patterns with more space. A value of 1.0 gives you the full density output from the model. Use lower density for ambient or minimal styles, higher for busy breakbeats.
- Velocity (0.1 - 2.0): Scales the velocity (loudness) of generated hits. Values above 1.0 boost velocities for a harder, more aggressive feel. Values below 1.0 soften the output for more delicate dynamics.
- Humanize (0.0 - 1.0): Adds subtle timing and velocity variation to the generated pattern, making it sound more natural and less mechanical. Higher values introduce more variation. Even small amounts (0.1 - 0.3) can make a noticeable difference in feel.
- Volume (-60 to +6 dB): Master output volume for the Web Audio preview engine. This controls only the preview playback level, not the generated pattern data.
Groove Templates
Groove templates apply timing offsets to the playback, giving your pattern swing, shuffle, or genre-specific timing feels. Select a template from the Groove dropdown and use the Amount knob to control how strongly the groove is applied (0 - 100%).
Available groove templates fall into several categories:
- Straight -- No groove applied. Perfectly quantized 16th-note playback.
- MPC Swing -- Five levels of swing inspired by the Akai MPC's iconic timing feel, from subtle 54% to heavy 71%.
- Roland TR-808 Shuffle -- The classic shuffle feel from the legendary drum machine.
- Logic Funk -- A funky groove template with characteristic off-beat emphasis.
- DnB Grooves -- Five drum-and-bass-specific timing templates:
- Liquid -- Smooth, flowing timing for liquid DnB
- Neurofunk -- Precise, tight timing for neurofunk
- Jungle -- Loose, breakbeat-inspired timing
- Half-time -- Half-time DnB groove feel
- Roller -- Rolling, driving timing for roller-style DnB
Reference Genre & Style Influence
The style system uses influence, not presets. Unlike traditional presets that rigidly dictate a pattern, style influences are soft constraints that guide the model's generation toward a particular rhythmic feel. The model still generates original patterns — the influence just steers the probabilities, making certain kick placements, snare positions, and rhythmic structures more likely without forcing them. This means every generation is unique, even with the same style selected.
The Reference Genre dropdown selects a genre to constrain the generation process. When a genre is selected, the model's output is modulated by genre-specific kick and snare pattern templates derived from real music. Drum & Bass, House, and Rock are all fully implemented; each comes with 10 sub-style presets that appear in the Style Preset dropdown once the parent genre is selected.
Drum & Bass Sub-Styles (10)
29 kick/snare pattern templates plus 10 artist-inspired style influences. BPM range typically 160–180.
- Atmospheric Jungle — Spacious, rolling breaks with room to breathe
- Jazz Funk — Syncopated, jazzy patterns with complex rhythmic interplay
- Jump-Up — Energetic, dancefloor-ready patterns with punchy kicks
- Stadium Rock — Powerful, anthemic breaks with driving energy
- Ragga Jungle — Chopped breakbeats with reggae-influenced rhythmic sensibility
- Energetic Dancefloor — Driving, peak-time patterns for the dancefloor
- Liquid Soul — Smooth, flowing rhythms with melodic sensibility
- Dark Techstep — Heavy, industrial patterns with mechanical precision
- Neurofunk — Precise, technical rhythms with tight syncopation
- Pop Crossover — Accessible, melodic DnB with pop-friendly patterns
House Sub-Styles (10)
47 pattern templates plus 10 style influences spanning the full house family tree, from the Chicago roots to modern variants. BPM range typically 118–128.
- Classic Chicago — Four-on-the-floor kicks, offbeat open hats, claps on 2 and 4. The original house template.
- Deep House — Softer groove with syncopated percussion, not always hard four-on-the-floor. Warm, late-night feel.
- Tech House — Tight, punchy four-on-the-floor with minimal percussion layers and techy hat patterns.
- Afro House — Polyrhythmic percussion, heavy tom work, conga-style grooves over a house backbone.
- Disco / Funky House — Live-feel disco claps and ride-heavy patterns with off-beat cymbal work.
- Acid House — Raw, looping kicks with repetitive hi-hat patterns and sparse clap placement. 303-era energy.
- Garage / UK House — Shuffled, swung hi-hats and syncopated snare placement. Not always four-on-the-floor.
- Progressive House — Big-room dynamics with extended builds, snare rolls, and clean four-on-the-floor drive.
- Minimal House — Stripped-back, hypnotic patterns with sparse percussion and negative-space phrasing.
- Electro House — Hard-hitting kicks, aggressive hi-hats, and big claps. Festival-scale energy.
Rock Sub-Styles (10)
10 artist-inspired style influences with hand-authored 16-step pattern variations per sub-style. BPM ranges span 70–200, from Blues Rock shuffles in the 70s up through Punk peaks at 200. All Rock presets leave clap and rim at zero velocity — if your grid hides empty rows by default, that's expected.
- Classic Rock — Steady backbeat with kick on 1 and 3, snare on 2 and 4, driving eighth-note hats. The '70s template.
- Pop Rock — Modern pop-rock backbeat with cleaner kick placement and tighter snare timing for radio-ready hooks.
- Hard Rock / Arena — Heavy, deliberate kicks with strong snare backbeats and crash accents. Built for big rooms.
- Punk — Fast and aggressive: driving eighth-note kicks, snare on every backbeat, eighth-note hats. BPM up to 200.
- Indie / Alternative — Looser, more syncopated grooves with off-kilter snare placement and varied hat patterns.
- Blues Rock (Shuffle) — Triplet shuffle feel with swung hats and a relaxed BPM in the 70–110 range.
- Funk Rock — Syncopated kicks, ghost-note snare interplay, and busy hi-hat work. Tight pocket grooves.
- Grunge — Half-time feel, slower tempo, heavy snare emphasis. Sludgy, deliberate weight.
- Progressive Rock — Complex patterns with technical fills and odd metric phrasing. The drummer's-drummer style.
- Stadium / Anthem Rock — Big, anthemic backbeat with strong snare and crash accents on the one. Fist-in-the-air energy.
The Influence knob controls how strongly the selected style shapes the generation. At 0, the style has no effect and the model generates freely. At 1.0, the style strongly constrains the output toward its characteristic patterns — but even at maximum influence, the model retains creative variation. Think of it as a dial between "free generation" and "style-guided generation."
Genre-specific post-processing rules kick in on top of the preset. For House, the engine enforces four-on-the-floor kicks on beats 1–4 (unless the sub-style is Deep House or Garage, where this is relaxed), protects clap/snare backbeats at steps 5 and 13, and keeps offbeat hi-hats consistent with the selected sub-style. For DnB, the engine snaps snares to the classic 5/13 backbeat and suppresses kicks at low-affinity positions. Rock generation runs on the same continuation model as DnB and House — no special weights or new drum classes; the 10 sub-style presets do all the steering through hand-authored patterns and BPM hints.
Preview Playback
- Click "Preview" to hear your pattern played back through the built-in Web Audio drum synthesizer. The synthesizer generates 11 distinct drum voices entirely in the browser -- no samples or external audio files needed.
- The BPM control sets the playback tempo. Click the number to type an exact value, use the +/- buttons to adjust (hold Shift for steps of 10), or scroll the mouse wheel for fine adjustments.
- Press Space to toggle playback on and off.
- Click on the marker strip above the grid to seek the playhead to a specific position.
Exporting & MIDI File Format
- Click the MIDI button to download your pattern as a standard
.midfile. - The exported MIDI includes both your input steps and the generated continuation steps.
- If a groove template is active, its timing offsets are baked into the exported MIDI for authentic feel.
- Files are named sequentially:
{original_name}_CedarGrooveNET_001.mid, incrementing with each export. Loading a new MIDI file resets the counter.
MIDI Encoding Details
Exported MIDI files follow the General MIDI (GM) Drum Map standard. All drum notes are output on MIDI Channel 10 (the standard GM percussion channel), so they will be automatically routed to drum instruments in any DAW or GM-compatible synthesizer.
Each of the 11 drum classes maps to a standard GM drum note number:
The exported file is a Type 0 (single-track) Standard MIDI File with a tempo meta-event at the beginning matching your BPM setting. Note velocities are preserved from the grid (0-127 range), so dynamics you set via velocity editing carry through to the export. The file uses 480 ticks per quarter note for high timing resolution.
Other Controls
- Undo / Redo: Use the arrow buttons in the controls bar, or press Cmd+Z to undo and Cmd+Shift+Z to redo. Every grid edit, generation, and parameter change is tracked in the undo history.
- Clear: Removes all patterns from the grid, giving you a blank slate.
- Fill: Generates a fill pattern -- a short, rhythmically interesting passage suitable for transitions.
- Pattern Slots (A/B/C/D): Save and recall up to 4 different patterns. Click a slot button to switch to it. Your current pattern is automatically saved when you switch away.
- Row controls: Right-click a drum label to open a context menu where you can regenerate or clear just that single row. Drag drum labels up and down to reorder rows to your preference.
Keyboard Shortcuts
DrumTranscriber v2 — Audio to MIDI
DrumTranscriber v2 is the first of the two neural networks in the CedarGrooveNET pipeline. Its job: listen to a drum recording and write out what it hears as MIDI-style drum events. It's an encoder-decoder Transformer with ~12.6M parameters, split into separate ONNX encoder and decoder graphs (~54 MB total) so the encoder can run once per clip while the decoder generates tokens autoregressively.
How It Works
- Audio preprocessing: The uploaded file is decoded to mono float32, resampled to 22,050 Hz, and normalized to −23 LUFS using EBU R128 loudness measurement — the same target loudness the model was trained on. Without this step the transcriber misses quiet kicks and over-triggers on loud cymbals.
- Mel spectrogram: A 128-bin log-mel spectrogram is computed (2048-point FFT, 256-sample hop, Hann window, reflect padding, Slaney-normalized librosa filterbank). This gives the Transformer a time-frequency image of the audio with 256 time frames.
- Bar windowing: The model works best on focused, short context, so audio is split into one-bar windows based on the detected BPM (or 120 if no BPM hint is provided). Each bar gets its own forward pass and its events are offset by the window start time.
- Encoder pass: The encoder ingests the mel spectrogram and produces a memory tensor (one per window).
- Autoregressive decoding: Starting from a BOS token, the decoder predicts the next token one at a time. Tokens are grouped in triplets of
(time, instrument, velocity), drawn from a 302-token vocabulary (256 time tokens at 10 ms resolution, 11 instrument tokens, 32 velocity bins, plus BOS/EOS/PAD). Decoding stops at EOS or after 128 tokens. - Quantization: Events are snapped to the 16th-note grid based on the target BPM and routed to the 11 drum classes shared with the generator. The last event of each bar is dropped to avoid the model predicting the next bar's downbeat before it has heard it.
What It's Good & Not So Good At
- Works well on: clean drum-only stems, drum loops under 30 seconds, common kit layouts (kick, snare, hi-hats, toms, cymbals, claps).
- Struggles with: mixed bass + drums, heavy distortion, uncommon percussion, very fast fills (sub-32nd-note rolls).
- Limitation: no demucs-style drum-stem separation yet, so feeding a full mix will get you partial results at best.
Why transcribe to MIDI at all? Because MIDI is editable. Once your loop is on the grid you can nudge ghost notes, swap kicks, lock the hi-hats, regenerate individual rows — and export the result to your DAW as MIDI that triggers your own samples. The audio you dropped is just the seed.
The Generation Model — Encoder-Decoder LSTM
Architecture
Once your pattern is on the grid (either drawn, MIDI-loaded, or transcribed from audio), the generator takes over. It uses an encoder-decoder architecture built with 2-layer LSTM (Long Short-Term Memory) networks. LSTMs are a type of recurrent neural network specifically designed to learn long-range dependencies in sequential data -- making them ideal for understanding rhythmic patterns that unfold over time.
- The encoder processes your input pattern (up to 32 steps) and compresses it into a hidden state -- a compact numerical representation that captures the rhythmic essence of what you played. This hidden state encodes information about which drums are active, their velocity relationships, the density and syncopation of the pattern, and its overall feel.
- The decoder takes this hidden state and generates new steps (up to 16 at a time), unfolding the compressed representation back into a full drum pattern that continues naturally from your input.
- Each step is represented as 24 features: 11 hit presence flags (one per drum class), 11 velocity values (normalized 0-1), and 2 positional encodings (bar position and beat index) that help the model understand where it is in the musical measure.
- The output is 22 values per step: 11 hit probabilities (the likelihood of each drum triggering) and 11 velocity predictions (how hard each drum should be hit).
Training
The model was trained on thousands of drum patterns spanning multiple genres and styles. During training, it learned the statistical relationships between instruments -- how kick patterns relate to snare placement, how hi-hat density affects the overall groove feel, how toms and crashes are used to create fills and signal transitions between sections.
The model uses the ONNX (Open Neural Network Exchange) format for efficient cross-platform inference. At only 6.3 MB, the model is small enough for real-time generation with near-instantaneous response times.
Post-Processing Pipeline
The raw model output goes through a sophisticated multi-stage post-processing pipeline before becoming the final pattern you see on the grid:
- Temperature Sampling: Each drum class has its own temperature preset tuned for musical results. For example, kicks and snares are more constrained (0.75) to maintain solid rhythmic foundations, while hi-hats are more free (0.90) to allow textural variation. The global temperature knob scales all of these proportionally.
- Density Scaling: Hit probabilities are scaled by the density parameter, giving you direct control over how busy or sparse the generated pattern is.
- Anchor Strength: The model reinforces drums that were present in your input pattern and suppresses those that were not. This prevents the model from "hallucinating" instruments you did not include -- if your input only uses kick, snare, and hi-hat, the continuation will respect that palette.
- Input Class Filtering: Any drum class not present in your input is completely filtered out of the generation, ensuring clean, focused output.
- Genre Constraints: When a genre is selected, step-weight arrays derived from real drum patterns modulate the hit probabilities. These arrays encode where kicks and snares typically fall in that genre's patterns.
- Artist Preset Blending: Selected style presets inject characteristic pattern tendencies and velocity ranges from specific sub-styles, guiding the generation toward a particular sound.
- Humanize: Random timing and velocity jitter is applied to the final output for a more natural, human feel. The amount is controllable from subtle to pronounced.
Inference
Inference runs on ONNX Runtime, the industry-standard engine for deploying machine learning models. The session is configured for single-threaded execution for consistent, predictable performance. Tensor shapes are discovered dynamically from the model at load time, meaning the system automatically adapts to future model upgrades without code changes.
Generation is near-instantaneous -- typically completing in under 100 milliseconds. This makes it practical to experiment freely, generating and regenerating patterns until you find the perfect groove.
Supported Drum Genres — DnB, House, Rock, and More
Currently Available
Drum & Bass — Full support with 29 kick/snare pattern templates and 10 artist-inspired style presets. The model excels at DnB patterns including amen breaks, two-step, neurofunk, jungle, liquid, halftime, and roller styles. BPM range typically 160–180.
House — Full support with 47 kick/snare pattern templates and 10 sub-style presets covering the family tree: Classic Chicago, Deep, Tech, Afro, Disco/Funky, Acid, Garage/UK, Progressive, Minimal, and Electro House. BPM range typically 118–128. Genre-specific post-processing enforces four-on-the-floor kicks (relaxed for Deep House and Garage) and protects backbeat clap/snare placement.
Rock — Full support with 10 hand-authored sub-style presets: Classic Rock, Pop Rock, Hard Rock / Arena, Punk, Indie / Alternative, Blues Rock (Shuffle), Funk Rock, Grunge, Progressive Rock, and Stadium / Anthem Rock. BPM range spans 70–200 across sub-styles — Blues Rock and Grunge sit in the slower 70–110 pocket; Punk peaks at 200. All Rock presets leave clap and rim at zero velocity, so the generated patterns sit on a traditional kit (kick, snare, hats, toms, crash, ride).
All three genres use a two-stage approach: first, the selected preset seeds your input pattern with genre-appropriate kick and snare placement (controlled by the Influence knob); then, post-processing constrains the model's output to match the style's characteristic rhythmic patterns. This produces results that are authentically DnB, House, or Rock rather than generic.
Coming Soon
The following genres are shown in the Reference Genre dropdown but are not yet active. Future updates will add genre-specific pattern templates and style presets for each:
- Hip Hop — Boom-bap, trap-influenced, lo-fi grooves
- Techno — Driving, industrial, minimal techno rhythms
- Jazz — Swing patterns, brushwork, ride cymbal grooves
- Afrobeat — Polyrhythmic patterns, cross-rhythms
- Reggaeton — Dembow rhythms, reggaeton variations
- Trap — Hi-hat rolls, 808 patterns, trap fills
Technology Stack — ONNX Runtime, Transformer, LSTM
- Audio-to-MIDI model: DrumTranscriber v2 — encoder-decoder Transformer (~12.6M params, ~54 MB split ONNX).
- Generation model: Encoder-decoder 2-layer LSTM (~6.3 MB ONNX), executed via ONNX Runtime for fast, portable inference.
- Audio DSP (backend): NumPy + SciPy (resampling), pyloudnorm (EBU R128), librosa-compatible mel filterbank.
- Preview engine (browser): Web Audio API with 11 synthesized drum voices generated entirely in the browser — no sample libraries required.
- Backend: FastAPI + ONNX Runtime, single-threaded sessions for consistent latency.
- No external dependencies: Everything runs locally on your machine. No cloud services, no account required, no data leaves your browser (except MIDI/audio files sent to the local backend for parsing and transcription).
Research — Papers Behind the Neural Drum Generation
CedarGrooveNET's architecture draws on cutting-edge research in neural drum generation. Here are the key papers that informed my ncoder-decoder LSTM approach.
About the Creator
Hi, I'm Paul -- a Master's degree student in Electrical Engineering. I've always loved electronic music -- especially DnB, hence it's the first genre supported 😊. And I love building digital and analog tools!
CedarGrooveNET started as a deep learning side project exploring whether an LSTM network could learn the rhythmic DNA of drum patterns and generate musically convincing continuations. The initial inspiration came from Google's Magenta project, which demonstrated that neural networks could generate drum sequences -- but I wanted to take it much further: genre-aware constraints, artist style presets, groove templates, a full real-time MIDI engine, and a native macOS app you can actually produce with. What began as a Jupyter notebook experiment quickly turned into a full-blown native app with real-time MIDI output, a WebView UI, and now this web version.
When I'm not training models or soldering circuits, I'm probably digging through record crates for obscure jungle breaks or tweaking synth patches. This project sits right at the intersection of everything I care about -- signal processing, machine learning, and music production.
More genres and features are on the way. If you have ideas or feedback, I'd love to hear from you!
Frequently Asked Questions
14 common questions about CedarGrooveNET, with concrete answers. Each entry is mirrored in the page's FAQPage structured data so search engines and AI assistants can cite the answer text directly.
What is CedarGrooveNET?
CedarGrooveNET is a free AI drum pattern generator. It pairs two neural networks: a Transformer that transcribes audio drum loops into MIDI, and an encoder-decoder LSTM that continues the pattern with musically coherent new bars. Runs locally via ONNX Runtime.
Does CedarGrooveNET convert WAV audio to MIDI?
Yes. Drop a WAV, FLAC, or AIFF drum loop (up to 30 seconds) on the page and the built-in DrumTranscriber v2 Transformer will extract drum events and place them on a 16th-note grid. The result is editable MIDI you can drag straight into your DAW.
How does the AI generate drum continuations?
An encoder-decoder 2-layer LSTM network reads your input pattern, compresses it into a latent representation that captures the groove, then unfolds that representation into new 16th-note steps. Post-processing applies temperature sampling, input-class filtering, genre constraints, and humanize for a musical result.
What genres are supported?
Drum & Bass (10 sub-styles: Atmospheric Jungle, Jazz Funk, Jump-Up, Stadium Rock, Ragga Jungle, Energetic Dancefloor, Liquid Soul, Dark Techstep, Neurofunk, Pop Crossover), House (10 sub-styles including Classic Chicago, Deep House, Tech House, Afro House), and Rock (10 sub-styles including Classic Rock, Punk, Grunge, Funk Rock, Stadium / Anthem Rock). More genres are on the roadmap.
Is CedarGrooveNET free?
Yes. CedarGrooveNET is free to use on the web and to download as a native macOS standalone app. All inference runs locally on your machine — no cloud services, no account required.
What audio formats can I import?
WAV (.wav, .wave), AIFF (.aif, .aiff), and FLAC (.flac) for audio, plus standard MIDI (.mid, .midi). Audio files are resampled to 22,050 Hz mono and normalized to -23 LUFS before transcription. Keep audio under 30 seconds for best results.
How do I export the generated drum pattern?
Click the MIDI handle in the control bar to download a standard Type 0 MIDI file (.mid) using the General MIDI drum map. All 11 drum classes map to standard GM note numbers on channel 10, so the file drops into any DAW or GM-compatible sampler.
Is there a free alternative to Melodyne for drums?
If you need to convert a recorded drum performance to MIDI, CedarGrooveNET is a free alternative that targets exactly that use case — Melodyne is primarily a pitch-correction tool and treats drums as a side feature. CedarGrooveNET's DrumTranscriber v2 transcribes WAV/FLAC/AIFF drum loops into a 16th-note MIDI pattern across 11 General-MIDI drum classes, runs locally in your browser or as a macOS app, and exports a standard .mid file. It does not edit pitch — it converts drum audio to drum MIDI.
Can I extend a drum loop in Drum and Bass style with AI?
Yes. Load any 2-bar drum loop (audio or MIDI), pick one of CedarGrooveNET's 10 Drum and Bass sub-styles (Atmospheric Jungle, Jazz Funk, Jump-Up, Stadium Rock, Ragga Jungle, Energetic Dancefloor, Liquid Soul, Dark Techstep, Neurofunk, Pop Crossover), and the encoder-decoder LSTM extends the pattern by 4 bars in that style. The model was trained on DnB-specific groove templates so the continuation captures genre-typical features like ghost-snare flams, broken-beat kicks, and bar-end fills.
Does CedarGrooveNET run on Windows?
The web app runs in any modern browser on any operating system, including Windows, Linux, and ChromeOS. The standalone desktop app is a notarised macOS universal binary only — there is no Windows installer today. Browser users on Windows get the full feature set; the desktop app is a convenience for offline macOS use.
How does CedarGrooveNET compare to AnthemScore?
AnthemScore is a paid commercial transcription tool focused on pitched instruments and chord detection — it does not have built-in drum transcription. CedarGrooveNET is free, drum-specific, and adds a generative continuation step AnthemScore lacks. If you need to transcribe a drum loop to MIDI, CedarGrooveNET is purpose-built for that; AnthemScore is for transcribing melodies and chords.
How does CedarGrooveNET compare to Demucs?
Demucs and CedarGrooveNET solve different problems and are complementary, not competitive. Demucs is a source separator — it isolates the drum stem from a full mix. CedarGrooveNET takes an isolated drum stem (or a clean drum recording) and converts it to MIDI, then optionally extends the pattern. A common pipeline is Demucs first to extract drums from a song, then CedarGrooveNET to transcribe that stem to MIDI.
Can I transcribe a drum performance to MIDI without paying?
Yes. CedarGrooveNET is free for both the web app and the macOS standalone. Drop a WAV/FLAC/AIFF recording of an isolated drum performance onto the page; the DrumTranscriber v2 Transformer extracts events across 11 drum classes (kick, snare, hi-hats, toms, cymbals, clap, percussion) onto a 16th-note grid. Export as a Type 0 .mid file. No account, no API key, no subscription.
Does CedarGrooveNET work on a full mix or only isolated drums?
CedarGrooveNET is designed for isolated drum recordings — a clean drum stem, a drum loop, or a sampled break. On a full mix the transcription quality drops because the Transformer's onset detector picks up bass and other transients. The recommended pipeline for a full song is to run a stem separator (Demucs is free and works well) first, then drop the resulting drum stem into CedarGrooveNET.
Download CedarGrooveNET — Free macOS Standalone App
CedarGrooveNET for macOS
Native standalone application with the same RNN-powered generation engine. Runs without a browser or server — just launch and create. Universal binary supporting both Apple Silicon and Intel Macs.
Includes ONNX Runtime and the trained LSTM model. No additional dependencies required.
Send Feedback — Feature Requests & Bug Reports
Got ideas, bug reports, or just want to say hi? Drop me a message -- I read every one.