DNB COLLEGE

Drum & Bass Ableton Live 12 Tutorials

LESSON DETAIL

Retro Rave sub distort deep dive with chopped-vinyl character in Ableton Live 12 for jungle oldskool DnB vibes (Intermediate)

An AI-generated intermediate Ableton lesson focused on Retro Rave sub distort deep dive with chopped-vinyl character in Ableton Live 12 for jungle oldskool DnB vibes in the DJ Tools area of drum and bass production.

Back to lessons
Retro Rave sub distort deep dive with chopped-vinyl character in Ableton Live 12 for jungle oldskool DnB vibes (Intermediate) cover image

Narrated lesson audio

The voice track includes the tutorial plus extra teacher commentary.

Open audio file

Main tutorial

Retro Rave Sub-Distort Deep Dive (Chopped-Vinyl Character) in Ableton Live 12

Intermediate • DJ Tools • Jungle / Oldskool DnB vibes 🔊🌀

---

1. Lesson overview

This lesson is about building a retro rave-style sub bass that stays deep, stable, and club-safe, while adding distortion + “chopped-vinyl” movement—that crunchy, slightly unstable, sampled feel you hear in classic jungle/early DnB.

We’ll do it in Ableton Live 12 using mostly stock devices, and we’ll set it up like a proper DJ tool: consistent level, mono-compatible low end, and easy macro control for live tweaking.

---

2. What you will build

A reusable Retro Rave Sub Rack with:

  • A clean sub core (mono, controlled)
  • A mid layer that creates audible grit without killing the sub
  • “Chopped-vinyl” character via:
  • - wow/flutter-style pitch drift

    - grainy resampling texture

    - stutter/chop motion (tempo-synced, jungle-friendly)

  • A macro layout for quick performance: Drive, Chop, Flutter, Tone, Width, Output
  • You’ll end up with a bass that can roll under an Amen / Think break and still feel authentic and nasty.

    ---

    3. Step-by-step walkthrough

    Step 0 — Session prep (DnB context)

  • Set tempo to 165–172 BPM (start at 170).
  • Make a simple 2-step or break loop so you can mix the bass properly:
  • - Add a Drum Rack with a break (Amen/Think-style) chopped or a clean 2-step.

  • Add a sidechain trigger (optional but recommended): a ghost kick track hitting on 1 and 3.
  • ---

    Step 1 — Create the bass source (solid sub first)

    1. Create a MIDI track → name it `Rave Sub Rack`.

    2. Drop Operator (stock) on it.

    3. Operator settings (simple but effective):

    - Algorithm: `A` only (no FM yet)

    - Osc A: Sine

    - Envelope (Amp):

    - Attack: 0–5 ms

    - Decay: 300–600 ms

    - Sustain: -inf (or low, depending on your note length)

    - Release: 80–140 ms (avoid clicks)

    - Voices: 1 (mono behavior later with Glide)

    4. Add Portamento/Glide for that oldskool slide:

    - In Operator’s Global:

    - Glide: On

    - Time: 60–120 ms

    - Legato: On (only slides when notes overlap)

    DnB note tip: Write a bassline that hits root notes on 1, then syncopates around the snare. Try short notes with occasional overlaps to trigger glide.

    ---

    Step 2 — Build the rack: split into Sub + Character layers

    1. Group Operator into an Instrument Rack (`Cmd/Ctrl + G`).

    2. Create 2 chains:

    - `SUB (Clean)`

    - `MID (Character)`

    #### SUB (Clean) chain processing

    Put these devices after Operator inside SUB chain:

    1. EQ Eight

    - Enable Oversampling (if available in your Live 12 build for EQ; if not, no stress)

    - Low-pass or gentle shelf:

    - Low-pass around 90–120 Hz (12 dB/oct)

    - Optional: tiny dip at 200–300 Hz if muddy

    2. Saturator (very light, to stabilize)

    - Mode: Soft Sine or Analog Clip

    - Drive: 1.0–3.0 dB

    - Output: match level (keep consistent)

    - Goal: sub feels thicker, not distorted

    3. Utility

    - Width: 0% (mono sub)

    - Gain: set so sub is consistent when bypassing other chains

    #### MID (Character) chain processing

    Inside MID chain, we’ll generate the “heard on small speakers” aggression + vinyl chop feel.

    1. EQ Eight (pre-distortion shaping)

    - High-pass: 100–140 Hz (24 dB/oct)

    This is critical—don’t distort your sub.

    - Gentle boost: 700 Hz–1.5 kHz (optional, +2–4 dB) for presence

    2. Saturator (primary grit)

    - Mode: Analog Clip or Hard Curve

    - Drive: 6–12 dB

    - Turn on Soft Clip

    - Output: compensate so it doesn’t jump louder

    3. Redux (for crunchy sampler vibe)

    - Bit Reduction: 6–10 bits

    - Sample Rate: 10–18 kHz

    - Dry/Wet: 10–35%

    - This gives you that older digital / resampled edge.

    4. Auto Filter (movement + tone)

    - Filter: LP12 or MS2 (for a more “hardware” bite)

    - Frequency: start 1.5–4 kHz

    - Resonance: 10–25%

    - Envelope: tiny (optional)

    - Add subtle LFO:

    - Amount: 5–12%

    - Rate: 1/8 or 1/16 (sync)

    - This adds rolling motion without turning it into wobble.

    5. Utility

    - Width: 80–120% (keep mids lively, but don’t go extreme)

    - Optional: Bass Mono if you want extra safety (Live 12 Utility offers Bass Mono control in many versions)

    ---

    Step 3 — “Chopped-vinyl” character: wow/flutter + stutter chops

    This is where we make it feel like it came off a battered dubplate or an old sampler capture. 🎛️

    #### A) Wow/Flutter (pitch instability)

    Add Shifter (stock) before distortion on the MID chain, OR on the whole rack if you want more obvious drift.

    Suggested settings (subtle!):

  • Mode: Pitch
  • Coarse: 0 st
  • Fine: start at 0
  • Modulation (LFO):
  • - Rate: 0.2–0.6 Hz (slow drift)

    - Amount: 2–6 cents (tiny)

  • Mix: 100% if only a few cents; otherwise reduce.
  • If your Shifter doesn’t expose cents modulation cleanly:

    Use Clip Envelopes to draw tiny pitch wiggles on the MID layer (or automate Shifter Fine very slightly).

    #### B) Chop/Stutter (rhythmic vinyl “cuts”)

    You want a tempo-synced “gated” vibe—like bass audio got chopped while being resampled.

    Option 1 (cleanest): Auto Pan as a Tremolo

  • Place Auto Pan on MID chain
  • Phase: (this makes it volume modulation, not stereo panning)
  • Shape: try Square or Sine
  • Rate: 1/8 or 1/16
  • Amount: 20–60% depending on how chopped you want it
  • Option 2 (more broken/jungle): Beat Repeat

  • Put Beat Repeat after Redux (MID chain)
  • Interval: 1 Bar (or 2 Bars)
  • Grid: 1/16
  • Gate: 25–45%
  • Chance: 8–20%
  • Variation: 0–15
  • This gives occasional “caught” slices—very authentic when subtle.
  • Pro workflow: Automate Beat Repeat On/Off for fills at the end of 8/16 bars.

    ---

    Step 4 — Glue it like a DJ tool: macro controls + safety

    1. Map useful parameters to Macros (Instrument Rack):

    - Macro 1: DRIVE → Saturator Drive (MID)

    - Macro 2: CHOP → Auto Pan Amount (MID) or Beat Repeat Chance

    - Macro 3: FLUTTER → Shifter LFO Amount

    - Macro 4: TONE → Auto Filter Frequency (MID)

    - Macro 5: SUB LEVEL → Utility Gain (SUB)

    - Macro 6: MID LEVEL → Utility Gain (MID)

    - Macro 7: WIDTH → Utility Width (MID)

    - Macro 8: OUTPUT → Rack chain output / final Utility gain

    2. Add a Limiter at the end of the rack (light safety):

    - Ceiling: -0.8 dB

    - Don’t slam it—just catch peaks from aggressive chops.

    ---

    Step 5 — Sidechain for rolling punch (classic DnB pocket)

    On the whole rack (after layers combine), add Compressor:

  • Sidechain: from your ghost kick (or actual kick)
  • Ratio: 2:1–4:1
  • Attack: 5–15 ms
  • Release: 80–160 ms (tune to tempo)
  • Gain reduction: 2–5 dB on kick hits
  • This makes the bass sit under breaks without fighting the transient.

    ---

    Step 6 — Arrangement ideas (oldskool jungle phrasing)

    Use your macros like performance moves across 16s:

  • Bars 1–8 (intro roll):
  • - Lower DRIVE

    - Low CHOP (subtle)

    - Filter slightly closed (darker)

  • Bars 9–16 (energy lift):
  • - Open TONE slightly

    - Increase DRIVE 10–20%

    - Add tiny FLUTTER

  • End of 16 (fill):
  • - Turn Beat Repeat on for 1 bar

    - Or automate CHOP high for last 2 beats

  • Drop:
  • - CHOP reduced (let bass be steady)

    - DRIVE up

    - Keep SUB consistent/mono

    This keeps it musical and DJ-friendly—movement where it counts, stability where it matters.

    ---

    4. Common mistakes

    1. Distorting the sub frequencies

    If your distortion is hitting 30–90 Hz heavily, the bass will turn to mush and vanish on big systems. High-pass the MID chain before distortion.

    2. Too much pitch wobble

    Wow/flutter should be felt, not heard as “out of tune.” Keep it to a few cents.

    3. Chops that kill groove

    Over-gating at 1/16 with high depth can make the bass feel like it’s tripping over the break. Use CHOP more as texture than a constant effect.

    4. Stereo sub

    Wide low end = phase problems and weak mono translation. Keep SUB mono using Utility.

    5. Not level-matching

    Distortion tricks you into thinking it’s “better” because it’s louder. Match outputs when A/B testing.

    ---

    5. Pro tips for darker/heavier DnB

  • Add controlled upper harmonics (without fizz):
  • On MID chain, after Saturator, add Roar (if you want extra modern control) with a band-split feel. Keep it subtle and focused around 200–2k.

  • Reese-adjacent thickness (still oldskool):
  • Duplicate Operator inside MID chain and use a second oscillator:

    - Osc: Saw

    - Detune slightly

    - High-pass it aggressively

    This creates reese attitude while your SUB stays pure.

  • Darker tone shaping:
  • Use Auto Filter MS2 with resonance, then tame harshness with EQ Eight:

    - Small dip at 3–5 kHz if it gets too fizzy.

  • “Dubplate air” without ruining mono:
  • Add Echo on MID only:

    - Time: 1/8 or 1/16

    - Feedback: 10–20%

    - Filter it dark (low-pass around 1–2 kHz)

    - Dry/Wet: 5–12%

  • Make it slam with breaks:
  • Sidechain to the break’s kick transient (or a ghost kick). Jungle is about interlock, not just loudness.

    ---

    6. Mini practice exercise (15–25 minutes)

    1. Write a 2-bar bassline at 170 BPM with:

    - 1–2 overlapping notes (for glide)

    - Space around the snare (beat 2 and 4)

    2. Build the rack exactly as above, then:

    - Set SUB chain to feel strong at -12 to -9 LUFS short-term in context (don’t overthink; just keep headroom)

    - Bring MID chain in until the bass is audible on low volume

    3. Automate across 16 bars:

    - Bars 1–8: CHOP at 15–25%

    - Bars 9–16: CHOP at 30–45%, DRIVE +2–3 dB

    - Last bar: Beat Repeat on for 1 bar (Chance 15%)

    4. Export a quick loop and test:

    - On headphones + phone speaker

    If the bass disappears on phone: raise MID level slightly or increase harmonic drive.

    ---

    7. Recap

  • You built a two-layer bass rack: clean mono SUB + distorted textured MID.
  • You created chopped-vinyl character using:
  • - subtle wow/flutter pitch drift

    - Redux resample crunch

    - Auto Pan tremolo or Beat Repeat chop behavior

  • You wrapped it like a DJ tool with macros, level control, and sidechain pocket.
  • The end result is a deep, rolling, oldskool-friendly sub that still cuts through breaks. 🥁🔊

If you want, tell me what kind of jungle angle you’re after (1993 hardcore, 94–95 darkside, or 96–98 techstep) and I’ll suggest a specific macro map + distortion/EQ targets for that era.

Ask GPT about this lesson

Chat with the lesson tutor, get follow-up help, or use quick actions.

Bigup 👽 Ask me anything about this lesson and I’ll answer in context.

Narration script

Show spoken script
Retro Rave sub distort deep dive with chopped-vinyl character in Ableton Live 12 for jungle oldskool DnB vibes, intermediate lesson narration

Alright, let’s build a proper oldskool jungle-ready sub that’s deep and stable in the club, but still has that crunchy, slightly unstable, chopped-up sampled vibe you hear in early rave and jungle records.

The big idea today is simple: we’re going to protect the true sub like it’s sacred, and we’re going to do all the nasty character work above it. That’s how you get “dirty” without turning your low end into soup.

By the end, you’ll have a reusable Retro Rave Sub Rack set up like a DJ tool, meaning consistent level, mono-safe subs, and a handful of macros you can actually perform with: Drive, Chop, Flutter, Tone, Width, and Output. You’ll be able to roll it under an Amen or Think break and it’ll feel authentic.

First, quick session prep so you’re not sound designing in a vacuum.

Set your tempo somewhere between 165 and 172 BPM. I’m going to park it at 170. Drop in a simple drum context: either a chopped Amen or Think-style break, or even just a clean two-step so you can hear what the bass is doing against a snare on 2 and 4.

Optional but recommended: make a ghost kick track that hits on 1 and 3. You won’t hear it in the mix, it’s just there to trigger sidechain so the bass breathes in the pocket like classic DnB.

Now, create a new MIDI track and name it “Rave Sub Rack.” Load Operator.

We’re starting with a dead simple sub core: in Operator, pick the algorithm that’s just Oscillator A, no FM. Oscillator A is a sine wave.

Set your amp envelope so it hits clean but doesn’t click. Attack basically at zero, maybe 0 to 5 milliseconds. Decay somewhere around 300 to 600 milliseconds depending on how long your notes are. Sustain can be all the way down if you’re writing shorter notes, and then give it a release around 80 to 140 milliseconds so it tails off smoothly.

Now for the oldskool slide: go to Operator’s global settings and turn Glide on. Set the time around 60 to 120 milliseconds, and set Legato on so it only slides when notes overlap. That’s important. You don’t want every note smearing, you want intentional overlaps that give you that classic pitch swoop.

Quick writing tip while you’re here: hit a root note on the 1, then syncopate around the snare. Leave air around beats 2 and 4. And deliberately overlap one or two notes in the bar so you can hear the glide do its thing.

Cool. Now we’re going to turn this into a rack and split it into two worlds: the clean sub, and the character layer.

Group Operator into an Instrument Rack. Inside the rack, create two chains. Name one “SUB Clean” and the other “MID Character.”

Let’s do the SUB chain first. This is your protected zone.

On the SUB chain, add EQ Eight. The idea is not to butcher it, just to keep it focused. You can low-pass around 90 to 120 hertz with a 12 dB slope. If you’ve got mud, you can do a tiny dip around 200 to 300 hertz, but keep it gentle. This chain should feel like the foundation.

After EQ, add Saturator, very light. Think stabilization, not distortion. Mode like Soft Sine or Analog Clip. Drive around 1 to 3 dB. Then level-match with the output so you’re not tricking yourself with loudness.

Then add Utility. Set Width to 0 percent. That’s your mono sub guarantee. If you do nothing else today, do that. Wide sub equals phase problems, weak translation, and a sad face in mono.

Now the MID Character chain. This is where the bass becomes audible on small speakers and gets that nasty rave attitude, but we’re going to be disciplined about it.

First device on MID: EQ Eight, and this one is critical. High-pass it before distortion. Set a high-pass around 100 to 140 hertz, and use a steep slope, 24 dB is a good start, and honestly, don’t be afraid to go steeper if needed. Coach note here: keep the “vinyl behavior” out of the true sub. Anything below about 90 hertz is a protected zone. Your ear will still perceive movement from the harmonics above.

If you want presence, you can add a gentle boost somewhere around 700 hertz to 1.5k, two to four dB, but only if it needs it.

After that, add Saturator as your main grit. Analog Clip or Hard Curve works great. Drive somewhere like 6 to 12 dB. Turn on Soft Clip. And again, compensate the output so it doesn’t just get louder and seem “better.”

Next, add Redux. This is your crunchy sampler edge. Set bit reduction around 6 to 10 bits. Sample rate around 10 to 18 kHz. Then bring Dry/Wet in gently, like 10 to 35 percent. You’re going for “resampled,” not “destroyed.”

Now add Auto Filter for tone and movement. Try LP12 for smoother, or MS2 if you want more of that hardware bite. Start the frequency somewhere like 1.5 to 4 kHz. Resonance 10 to 25 percent. Then add a subtle LFO, synced. Try rate at 1/8 or 1/16, with a small amount like 5 to 12 percent. This should feel like rolling motion, not a wobble bass.

Then add Utility on the MID chain. Set width around 80 to 120 percent. Keep it lively, but don’t go extreme. If your Utility has Bass Mono controls, you can use that too, but since we already high-passed the MID chain, the main thing is: don’t accidentally reintroduce low end width.

At this point you should have a bass that’s deep from the SUB chain, and audible and nasty from the MID chain. Now we’re going to add the “chopped-vinyl” illusion: wow and flutter, plus chopping.

First: wow and flutter, meaning tiny pitch instability. Important word: tiny. If it sounds out of tune, you’ve gone too far.

Add Shifter on the MID chain, ideally before the heavy distortion so the movement becomes part of the texture. Set it to Pitch mode. Coarse at zero. Fine at zero. Then use its LFO modulation: rate around 0.2 to 0.6 hertz, slow drift. Amount just a few cents, like 2 to 6 cents. If it’s subtle, you can keep mix at 100 percent. If it becomes obvious, back off.

If you ever feel like the sub is getting seasick, that’s your cue you’re modulating too much or too low. Keep the drift living in the mids.

Now the chop. We want tempo-synced cuts like the bass has been edited and resampled, not like modern EDM tremolo.

The cleanest method is Auto Pan used as tremolo. Put Auto Pan on the MID chain. Set Phase to 0 degrees. That turns panning into pure volume modulation. Choose a square or sine shape. Square is more “cut,” sine is more “roll.” Set the rate to 1/8 or 1/16, depending on how busy you want it. Then amount anywhere from 20 to 60 percent.

Teacher note: if square sounds too perfect and robotic, you can round it off slightly. A little smoothing makes it feel like actual edits instead of hard digital gating. And if your chop feels too metronomic, add a tiny bit of rate wobble, even one or two percent, just to humanize it.

If you want the more broken, caught-slice jungle behavior, use Beat Repeat instead, or in addition, but subtle. Put Beat Repeat after Redux on the MID chain. Set interval to 1 bar or 2 bars. Grid at 1/16. Gate around 25 to 45 percent. Chance around 8 to 20 percent. Variation 0 to 15. The key is: it should surprise you occasionally, not constantly dominate.

A super practical workflow move: automate Beat Repeat on for one bar at the end of an 8 or 16 bar phrase. That gives you fills without ruining the groove.

Now we’re going to make this a DJ tool by setting up macros, level safety, and consistent behavior.

Open the Instrument Rack’s macro panel. Map a few parameters that matter.

Macro 1, Drive: map it to the MID Saturator Drive. Bonus pro trick: also map the Saturator Output to the same macro in the opposite direction. So when you drive harder, the output comes down. Example: Drive goes from 0 to plus 10 dB, while Output goes from 0 down to minus 8 dB. That way you’re judging tone, not loudness.

Macro 2, Chop: map it to Auto Pan Amount, or if you’re using Beat Repeat, map it to Chance.

Macro 3, Flutter: map it to Shifter LFO amount.

Macro 4, Tone: map it to Auto Filter frequency.

Macro 5, Sub Level: map it to the Utility gain on the SUB chain.

Macro 6, Mid Level: map it to the Utility gain on the MID chain.

Macro 7, Width: map it to the Utility width on the MID chain.

Macro 8, Output: map it to a final Utility gain at the end of the rack, or the rack volume, wherever you prefer controlling final level.

Now add a Limiter at the very end of the rack. This is not for loudness. This is for “oops protection” when you get excited with Drive and Chop. Set ceiling around minus 0.8 dB, and don’t slam it. It should only catch occasional peaks.

Next: sidechain for that rolling punch.

After the rack layers combine, add a Compressor. Turn on sidechain and select your ghost kick track. Ratio around 2:1 to 4:1. Attack 5 to 15 milliseconds so you don’t completely erase the front. Release around 80 to 160 milliseconds; tweak it until the bass breathes with the tempo. Aim for 2 to 5 dB of gain reduction on the kick hits. That’s usually enough to make it sit under breaks without feeling like it’s pumping like house music.

Now, quick quality checks, because this is where people usually wreck it.

Check one: are you distorting the sub? If the low end turns mushy or disappears on bigger systems, it’s because distortion is hitting 30 to 90 hertz. The fix is always the same: high-pass the MID chain harder, and keep the SUB chain clean.

Check two: is the pitch drift too obvious? Wow and flutter should be felt, not heard as out-of-tune notes. Back the modulation down to a few cents.

Check three: do the chops kill the groove? If your 1/16 chop is constant and deep, it can feel like the bass is tripping over the break. Use chop as texture, and save the heavier settings for fills.

Check four: stereo sub. Your SUB chain should be width zero. Always.

Check five: level matching. Distortion makes things louder. Loud sounds better. That’s why we did the macro compensation trick. Use it. Your mix will thank you.

Let’s add two quick upgrades from the “extra coach notes” section that make this translate way better.

First upgrade: Mid/Side cleanup after movement. When chop and filter movement gets aggressive, perceived width can jump in messy ways. Put an EQ Eight after the movement on the MID chain, switch it to Mid/Side mode. On the Side channel, high-pass around 180 to 300 hertz. On the Mid channel, keep the 200 to 700 range more present. This keeps your wide grit without smearing low-mids.

Second upgrade: transient smoothing on the MID layer if your chop clicks. Insert Glue Compressor on MID only, attack 3 to 10 ms, release Auto, ratio 2:1, and just tickle it, one to two dB reduction. That rounds the edges so chops feel like edits, not digital spikes.

Now, arrangement. This is where you make it feel like a record, not a loop.

Try thinking in 16s like a DJ tool.

Bars 1 through 8, intro roll: keep Drive moderate, Chop low, Flutter almost off. Filter slightly closed so it’s darker.

Bars 9 through 16, energy lift: open the Tone a bit, increase Drive just a little, and introduce a tiny touch of Flutter so it feels like it’s coming off a worn dubplate.

End of bar 16, fill: turn Beat Repeat on for one bar, or slam Chop higher just for the last two beats. Then snap back to your safe state at the drop.

On the drop: reduce Chop so the bass is steady, keep Drive up, and keep Sub consistent and mono. The break is already busy. Let the bass be the floor.

Now, a quick mini practice exercise you can do in like 20 minutes.

Write a two-bar bassline at 170 with one or two overlaps for glide. Build the rack exactly as we did. Set your SUB so it feels strong but not clipping; leave headroom. Then bring the MID chain up until you can still hear the bass line on low volume.

Automate over 16 bars: bars 1 to 8, Chop around 15 to 25 percent. Bars 9 to 16, Chop around 30 to 45 percent and add two or three dB of Drive. Last bar, Beat Repeat on for one bar with Chance around 15 percent.

Then export a quick loop and test it on headphones and your phone speaker. If the bass disappears on the phone, don’t crank the sub. Raise the MID level slightly or increase harmonic drive, because phones hear harmonics, not 40 hertz.

Before we wrap, here’s a fast advanced flavor you can try if you want even more “resampled” chew without destroying the track.

On the MID chain, add Grain Delay as a texture layer. Dry/Wet 5 to 15 percent, delay time 0.8 to 3 milliseconds, random pitch around 0.1 to 0.3, frequency around 1 to 3 kHz, feedback almost none. It adds that early digital stretch grit that screams “old sampler capture.”

Finally, do a phase sanity check. Solo both chains and hit Mono on a Utility on the full rack. If the low end hollows out, the MID chain still has too much low content or phasey resonance. Push the MID high-pass up, or reduce resonance on moving filters.

Recap time.

You built a two-layer rack: clean mono sub plus a distorted textured mid layer. You made chopped-vinyl character with subtle pitch drift, Redux crunch, and tempo-synced chopping using Auto Pan tremolo or occasional Beat Repeat. You wrapped it like a DJ tool with macros, level consistency, limiter safety, and sidechain pocket.

If you tell me which era you’re aiming for, like 93 rave hardcore, 94 to 95 darkside, or 96 to 98 techstep, I can suggest a tighter macro map and give you specific EQ and distortion targets so it lands exactly in that time period.

mickeybeam

Go to drumbasscd.com for +100 drum and bass YouTube channels all in one place - tune in!

Generating PDF preview…