DNB COLLEGE

Drum & Bass Ableton Live 12 Tutorials

LESSON DETAIL

Mid-bass texture layering: for DJ-friendly sets (Advanced)

An AI-generated advanced Ableton lesson focused on Mid-bass texture layering: for DJ-friendly sets in the Basslines area of drum and bass production.

Back to lessons
Mid-bass texture layering: for DJ-friendly sets (Advanced) cover image

Narrated lesson audio

The voice track includes the tutorial plus extra teacher commentary.

Open audio file

Main tutorial

Mid-bass Texture Layering (DJ‑friendly sets) — Advanced DnB in Ableton Live 🎛️🔊

1) Lesson overview

Mid-bass is where the personality of your bassline lives in drum & bass—especially in rolling, techy, and jungle‑influenced tunes where you want the bass to speak on club systems without fighting the sub or the break. In this lesson, you’ll build a layered mid-bass “stack” designed to be DJ‑friendly: consistent across intros/drops, easy to automate, and stable in mono.

We’ll focus on:

  • Creating multiple mid-bass textures that can be “performed” in arrangement (call/response, 16-bar evolution).
  • Keeping the sub clean and separate, while the mid layers add grit, movement, and stereo interest.
  • Making the stack behave reliably when DJs mix your track (stable low end, controlled dynamics, predictable arrangement cues).
  • ---

    2) What you will build

    A 3-layer mid-bass system + clean sub, routed into a single bass bus:

  • SUB (Mono): pure sine/triangle, controlled and consistent.
  • MID A (Core): stable mid “body” that reads clearly on small speakers.
  • MID B (Texture/Resample): gritty, animated layer (FM/wavetable + saturation + movement).
  • MID C (Air/Noise/Top): controlled fizz/edge for presence (but doesn’t mask hats/snares).
  • DJ-friendly arrangement approach:

  • Intro/tease: SUB + MID A (clean)
  • Drop: add MID B
  • Second 16 bars: introduce MID C + variations
  • Breakdowns: strip back to SUB + filtered MID A (recognizable bass identity)
  • ---

    3) Step-by-step walkthrough

    Step 0 — Session prep (so the bass behaves like a pro)

    1. Tempo: 172–176 BPM (classic rolling range).

    2. Set up groups/tracks

    - Create a Group called `BASS BUS`.

    - Inside: `SUB`, `MID A`, `MID B`, `MID C`.

    3. Create return tracks (optional but powerful)

    - `RVB Short` (tight room for top layer only)

    - `DLY Texture` (1/8 or dotted 1/8 for sparing ear candy)

    ---

    Step 1 — Build the SUB (clean, mono, “DJ proof”) 🧱

    Track: SUB

    1. Add Operator (stock).

    2. Oscillator A: Sine (or Triangle if you want more harmonics).

    3. Envelope:

    - Attack: 0–5 ms

    - Decay: 150–400 ms (depends on note length)

    - Sustain: -inf if you want plucks; ~-6 to -12 dB for held notes

    - Release: 50–120 ms (avoid clicks)

    4. Add EQ Eight

    - Low-pass gently if needed; keep it simple.

    - Cut everything above ~150–200 Hz if your sub is getting “mid” (steep slope 24–48 dB).

    5. Add Utility

    - Width: 0% (mono)

    - Gain staging: aim around -12 to -6 dB peak solo, so the bus has headroom.

    Key concept: Your SUB should not be exciting—it should be reliable.

    ---

    Step 2 — MID A (core mid “body” that translates) 🎯

    Track: MID A

    1. Add Wavetable (stock).

    2. Osc 1: pick a stable wavetable like Basic Shapes (saw-ish) or something with a clear fundamental.

    3. Unison: Off or very low (this layer should stay solid).

    4. Filter:

    - Use LP24 or MS2 type

    - Set cutoff around 200–600 Hz (depends on vibe)

    - Add a little drive if needed.

    5. Add Saturator

    - Mode: Analog Clip

    - Drive: 2–6 dB

    - Turn on Soft Clip

    6. Add EQ Eight

    - High-pass around 120–180 Hz (leave room for sub)

    - Gentle dip around 250–400 Hz if it gets boxy

    7. Add Compressor

    - Light control: Ratio 2:1, Attack 10–30 ms, Release 60–120 ms

    - You’re aiming for 1–3 dB GR on peaks.

    Why this layer matters: MID A is your “bass identity” on phone speakers and during DJ blends.

    ---

    Step 3 — MID B (movement + grit via resample-friendly chain) ⚙️

    Track: MID B

    This is your animated layer. It should feel alive without trashing the mix.

    1. Add Operator or Wavetable

    - Operator tip: use simple FM for bite.

    - Operator setup example:

    - Osc A: Sine

    - Osc B: Sine, turn up Level, set B as modulator (via algorithm)

    - Increase B→A FM amount until you get a growl (don’t go full laser unless that’s the tune).

    2. Add Auto Filter

    - Filter type: BP (Band-pass) or LP

    - Map cutoff to a Macro later.

    - Add subtle LFO:

    - Rate: 1/8 or 1/4

    - Amount: small (you want groove, not wobble parody)

    3. Add Roar (if you have Live 12 Suite) or Pedal/Saturator

    - Roar: start with a mild drive + tone shaping; keep low end controlled.

    - Pedal: try OD mode, Drive 10–25%, Tone to taste.

    4. Add Redux (sparingly)

    - Bit reduction just a touch for texture.

    - Example: Bits 10–12, Downsample 1.5–2.5

    5. Add EQ Eight

    - High-pass 150–250 Hz

    - Notch any nasty resonances (often around 700–1.2k)

    6. Add Utility

    - Width 80–120% (careful!)

    - If it smears in mono, reduce width or do M/S EQ on the bus.

    Resampling workflow (highly recommended):

  • Create an audio track `MID B RESAMPLE`.
  • Set Audio From: `MID B` (post-FX).
  • Record 8–16 bars of riffs.
  • Now slice/edit the audio: reverse bits, fade tails, create fills at bar 8/16. This is very DnB.
  • ---

    Step 4 — MID C (air/top layer for presence without harshness) 🌫️

    Track: MID C

    1. Source:

    - White noise from Operator (Noise) or Wavetable noise, or

    - A very bright distorted reese top.

    2. Add Auto Filter

    - High-pass around 1–3 kHz

    - Optional: slight LFO to animate.

    3. Add Saturator (light)

    - Drive 1–3 dB

    4. Add Gate (classic trick!)

    - Sidechain from your drums (or just set threshold so it pulses)

    - This makes the top layer rhythmically “breathe” with the groove.

    5. Add EQ Eight

    - Tame harshness around 4–8 kHz if it bites.

    6. (Optional) Reverb very short

    - Decay 0.3–0.7s, low cut high (so it’s not muddy)

    - Use this only if you want space—don’t wash it out.

    ---

    Step 5 — Route and glue: the BASS BUS chain 🧩

    On the BASS BUS group, add:

    1. EQ Eight (cleanup)

    - Optional tiny dip where it fights snare fundamental (often 180–220 Hz, depends on your snare).

    2. Glue Compressor

    - Attack 10 ms, Release Auto, Ratio 2:1

    - Aim 1–2 dB GR on drop sections. Don’t overglue (you’ll kill punch).

    3. Saturator or Soft Clip

    - Saturator: Soft Clip ON, Drive 1–4 dB

    - This helps bass sit “forward” consistently for DJ mixes.

    4. Utility

    - Use Bass Mono trick manually: keep SUB track mono, and avoid widening anything under ~150 Hz.

    - Gain stage: keep the bus peaking around -6 dB pre-master (varies, but don’t slam).

    ---

    Step 6 — Make it DJ-friendly: arrangement + automation strategy 🎚️

    A DJ-friendly DnB bass is recognizable early and evolves in predictable 16-bar language.

    Arrangement template (example):

  • Intro (16–32 bars): SUB + MID A only, filtered
  • - Automate MID A filter cutoff slowly rising (e.g., 250 → 600 Hz)

  • Drop (first 16): add MID B (main riff)
  • - Keep the core rhythm stable so DJs can blend and listeners lock in

  • Drop (second 16): introduce MID C + resample variations
  • - Change texture, not the entire bass rhythm (DJ friendliness = continuity)

  • Bar 15/16 fill: quick “earcatch”
  • - 1/2-bar resample stutter or band-pass sweep on MID B

  • Breakdown: reduce to SUB + filtered MID A (identity remains)
  • Macro mapping (make it playable):

    Create an Audio Effect Rack on each mid layer (or the bus) and map:

  • Macro 1: MID B Filter Cutoff
  • Macro 2: Distortion Drive (Roar/Pedal/Saturator)
  • Macro 3: Redux Amount (subtle range)
  • Macro 4: MID C Gate Threshold (tightness)
  • Macro 5: “DJ Blend” = reduces MID B/C by -2 to -6 dB while keeping MID A stable (great for intros)
  • ---

    Step 7 — Phase/mono checks (non-negotiable) ✅

    1. Add Utility on the master temporarily:

    - Width 0% to check mono compatibility.

    2. If the bass loses power in mono:

    - Reduce width on MID B/C

    - Avoid unison/chorus that affects low mids

    - Check any time-based effects (micro-delays can wreck mono)

    ---

    4) Common mistakes

  • Letting mid layers leak into sub range: If MID A/B have tons of 80–150 Hz, your sub will feel inconsistent and DJ mixes will sound flabby.
  • Over-widening the reese: Stereo bass feels huge in headphones but collapses in mono on big rigs.
  • Too much movement, not enough motif: If the bass changes every 2 bars, it’s harder to mix and less hooky.
  • Over-saturation on the bus: You’ll lose transient contrast in drums and make the drop feel “flat.”
  • No resampling discipline: Endless synth tweaking instead of committing. DnB thrives on decisive resample edits.
  • ---

    5) Pro tips for darker/heavier DnB 🖤

  • Use controlled dissonance: Slight FM or detune on MID B, but keep MID A stable so the riff remains readable.
  • Band-pass brutality: A tight band-pass sweep (Auto Filter BP) on MID B for 1/2 bar at the end of 16s = instant menace.
  • Dynamic notch for harsh resonances: If a frequency screams only sometimes, try Multiband Dynamics gently or automate an EQ notch.
  • Call/response via layers, not notes: Keep the MIDI the same, but swap texture:
  • - Bar 1–2: MID A + B

    - Bar 3–4: MID A + C (B muted)

  • Sub discipline in breakdowns: Keep sub present but lighter (velocity or gain automation). DJs love when the low end doesn’t disappear entirely.
  • ---

    6) Mini practice exercise (30–45 minutes) ⏱️

    1. Program a 2-bar bass MIDI loop (rolling syncopation, lots of offbeats).

    2. Duplicate the MIDI to SUB, MID A, MID B.

    3. Build:

    - SUB = Operator sine, mono

    - MID A = Wavetable + Saturator, stable

    - MID B = Operator FM + Auto Filter LFO + distortion

    4. Resample MID B for 8 bars and create:

    - 1 variation every 4 bars

    - A fill at bar 8

    5. Arrange a 32-bar drop:

    - Bars 1–16: MID A + B

    - Bars 17–32: add MID C + one resample switchup

    6. Mono check: master Utility width 0%. Fix until bass still hits.

    Deliverable: a 32-bar drop that feels consistent, heavy, and mixable.

    ---

    7) Recap

  • Separate SUB from mid textures to stay club-solid and DJ-friendly.
  • Build MID A as the translation layer, MID B as movement/grit, MID C as controlled air.
  • Use Ableton stock devices (Wavetable/Operator, EQ Eight, Saturator, Auto Filter, Glue, Utility, Gate) to shape a professional bass stack.
  • Make it DJ-friendly by evolving the bass in 16-bar blocks, keeping a recognizable motif, and resampling for controlled variation. 🎚️

If you want, tell me your target style (rollers, neuro-ish, jungle tech, minimal foghorn, etc.) and I’ll suggest specific oscillator/filter choices and a 16-bar automation plan that matches that subgenre.

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
Title: Mid-bass texture layering for DJ-friendly sets, advanced drum and bass in Ableton Live

Alright, welcome back. This is an advanced basslines lesson, and we’re going straight into that zone where drum and bass basslines really get their personality: the mid-bass.

The goal today is not “make the bass sound huge in solo.” The goal is “make the bass behave like a pro in a DJ set.” That means: the sub stays consistent, the mids evolve in a predictable way, and when someone blends your tune over another on a club rig, your low end doesn’t suddenly balloon or vanish. That’s the whole game.

By the end, you’ll have a clean sub plus a three-layer mid stack: MID A as the stable body, MID B as the moving gritty character, MID C as the controlled air and edge. Everything routed to one Bass Bus so it’s easy to automate and easy to mix.

Before we touch sound design, quick session prep.

Set your tempo in the classic rolling range: 172 to 176. Then make a group called BASS BUS. Inside that group, create four MIDI tracks: SUB, MID A, MID B, MID C.

Optional, but strong: create a couple return tracks. One called RVB Short, like a tiny room. Another called DLY Texture, something like an eighth note or dotted eighth delay. We’ll use these sparingly, because the moment you drown bass textures in time-based effects, mono compatibility starts getting angry.

Now here’s the mindset upgrade that will keep you DJ-friendly: think in mix states, not just layers.

You’re going to build a few recallable states you can flip every 8 or 16 bars.
State A is blend-safe: SUB plus MID A only.
State B is main: add MID B for energy.
State C is hype: add MID C and a little extra movement.
State D is exit: pull MID B and MID C down quickly while MID A stays, so DJs can mix out without losing the bass fingerprint.

We’ll build those states with macro controls or arrangement automation. Predictable. Repeatable. DJ-proof.

Cool. Let’s build the sub.

On the SUB track, load Operator. Set Oscillator A to a sine wave. If you want a tiny bit more audibility on small speakers you can use triangle, but start with sine so it’s disciplined.

Set the amp envelope to avoid clicks: attack around 0 to 5 milliseconds, release around 50 to 120 milliseconds. Decay depends on your note length, but think in terms of “tight and consistent,” not “bloomy.” If you’re doing plucks, sustain can be all the way down. If you’re doing held notes, set sustain somewhere like minus 6 to minus 12 dB so it’s controlled.

Add EQ Eight. The sub does not need to be clever. If you hear the sub creeping into the mid range, low-pass or just hard cut everything above about 150 to 200 hertz with a steep slope.

Then add Utility. Set width to zero percent. This is non-negotiable. Sub stays mono.

And while you’re here, do some gain staging. Solo the sub and aim for something like minus 12 to minus 6 dB peak. Not because those numbers are magic, but because headroom is part of what makes a bass feel consistent once you add layers and bus processing.

Key concept: your sub should not be exciting. It should be reliable.

Now MID A. This is the translation layer. This is the layer that makes the bassline readable on phones, laptops, and during DJ blends where the low EQ might be getting manipulated. MID A is your identity.

On MID A, load Wavetable. Choose something stable, like Basic Shapes. Use a saw-ish shape or anything with a clear fundamental and not too much chaos. Keep unison off or very low. This layer should not smear.

Add a filter. LP24 is fine, MS2 can be vibey. Put the cutoff somewhere like 200 to 600 hertz depending on the tone you want. You’re shaping “body,” not “air.”

Then add Saturator. Analog Clip mode. Drive around 2 to 6 dB. Turn on Soft Clip. You’re trying to thicken and stabilize, not destroy.

Now EQ Eight again. High-pass somewhere like 120 to 180 hertz to make room for the sub. Here’s a teacher tip: protect the mixing band around 120 to 250 hertz. Club rigs exaggerate that area, and DJs often mix with low EQ and faders, so if your mid layers pile up there, blends get swampy fast. MID A can keep a little warmth there, but keep it intentional. If it gets boxy, try a gentle dip around 250 to 400.

Add a compressor, light control. Ratio 2 to 1, attack 10 to 30 milliseconds, release 60 to 120. Aim for 1 to 3 dB of gain reduction on peaks. If you’re pinning it, you’re flattening the groove.

At this point, SUB plus MID A should already sound like a bassline, even without the hype textures. If it doesn’t, fix that now. Don’t rely on MID B to “rescue” a weak core.

Now MID B. This is your movement and grit layer. It should feel alive without trashing the mix.

On MID B, load Operator or Wavetable. I’ll give you a classic Operator FM approach.

Osc A as sine. Osc B as sine, and use an algorithm where B modulates A. Bring up the B level and increase the FM amount until you get a growl. The sweet spot is where it starts to speak and rasp, but it still feels musical. If you push it too far you’ll get laser territory, which is fine if that’s the tune, but the point today is DJ-friendly rolling power.

Add Auto Filter. Choose band-pass or low-pass depending on the character. Now set up a subtle LFO. Rate at an eighth note or quarter note. Keep the amount small. You want groove. You do not want novelty wobble that makes the bassline feel like it’s doing a magic trick every bar.

Now distortion. If you have Live 12 Suite, Roar is perfect for this. Keep it mild and tone-shaped. If not, use Pedal in overdrive mode, drive around 10 to 25 percent, tone to taste. Or use Saturator again. The teacher mindset here: distortion is not just “more.” It’s a way to create harmonics so the bass reads at lower playback volumes and on smaller systems.

Add Redux sparingly. Think of it as seasoning. Bits around 10 to 12, downsample maybe 1.5 to 2.5. If the bass turns to sand, you went too far.

Now EQ Eight. High-pass this layer more than you think. Often 200 to 300 hertz is the right move for DJ-friendly mixes, because it keeps MID B from stepping on the sub and the low-mid punch zone. If there’s an ugly resonance, it’s commonly somewhere around 700 to 1.2k. Notch it gently. Don’t carve the life out of it.

Then Utility. You can give MID B some width, maybe 80 to 120 percent, but be careful. The rule is: make mono the default, then add stereo on top. Anything that creates width should mostly live above 300 to 500 hertz. If your width is coming from low mids, it will collapse in mono and feel hollow on big systems.

Now, the big DnB move: resampling.

Create a new audio track called MID B RESAMPLE. Set Audio From to MID B, post-FX. Record 8 to 16 bars of riffs. And this is where you stop endlessly tweaking synth knobs and start committing like a real drum and bass producer.

Once you have audio, slice and edit. Reverse little bits. Fade tails. Make a stutter fill in the last half bar of bar 8 or 16. Build a tiny library of “yelps” and “zaps” you can drop in as micro-fills without rewriting the whole bassline. That gives you evolution while keeping the grid predictable for DJs.

Now MID C. This is the air and edge layer. It’s presence without harshness, and it should not mask your hats and snare.

For the source, you can use white noise from Operator’s noise section, or a bright wavetable, or even a very bright reese top. The key is that it’s mostly high frequency content.

Add Auto Filter and high-pass around 1 to 3 kHz. Optionally add a tiny LFO for movement, but keep it subtle.

Add Saturator lightly, like 1 to 3 dB drive.

Then add a Gate. This is a classic trick. Either sidechain it from your drums, or just set the threshold so the layer pulses rhythmically. The point is the top texture breathes with the groove instead of sitting there like constant hiss.

EQ Eight to tame harshness. If it bites, it’s often in the 4 to 8 kHz range. Don’t be afraid to notch a bit, because harshness will feel louder than it measures.

If you want space, use a very short reverb, like 0.3 to 0.7 seconds, with a high low-cut so it doesn’t mud up the mix. And keep it subtle. Space is cool. Wash is not.

Now route and glue everything on the Bass Bus.

On the BASS BUS group, start with EQ Eight for cleanup. Here’s a practical trick: if your snare is losing authority, don’t just boost the snare. Instead, do a tiny dip on the bass bus where the snare body lives, often around 180 to 220 hertz, but it depends on your snare. Even better, make that dip dynamic so it happens only when the snare hits, but keep it subtle.

Add Glue Compressor. Attack around 10 milliseconds, release on Auto, ratio 2 to 1. Aim for 1 to 2 dB of gain reduction in the drop. If you’re seeing 5 dB constantly, you’re overgluing and you’ll kill punch.

Add a Saturator or soft clip stage. Soft Clip on, drive 1 to 4 dB. This helps the bass sit forward consistently, which is part of that “DJ headroom contract.” Meaning: when you toggle from intro state to drop state, the sub energy should not jump wildly. You’re mostly adding harmonics and motion, not doubling the low-end power.

Then Utility, mainly for gain staging and sanity checks. Keep the bus peaking around minus 6 dB pre-master as a general target. Again, not a law, but a useful discipline.

If you want a really clean stereo strategy on the bus, use EQ Eight in M/S mode. High-pass the Sides around 250 to 400 hertz. That keeps stereo sparkle from creeping into the punch zone. It’s one of the cleanest ways to get width without risking the low end.

Now let’s make it DJ-friendly in arrangement.

A DJ-friendly DnB bass is recognizable early and evolves in 16-bar language.

Here’s a template you can copy.

Intro, 16 to 32 bars: State A. SUB plus MID A only. Filter MID A so it slowly rises, say from 250 to 600 over time. You can even do a telephone-style band-pass for 8 bars, like 250 Hz to 2 kHz, so the bass identity is teased without giving away full weight. That makes your tune easier to cue and remember.

Drop, first 16: State B. Add MID B. Keep the core rhythm stable. This is important: DJ friendliness comes from continuity. If you change the bass rhythm every two bars, it’s harder to mix and less hooky, even if it’s “cooler” on paper.

Drop, second 16: State C. Introduce MID C and one resample switch-up, or slightly increase the movement depth, or increase a parallel texture lane by one or two dB. Texture changes read like energy changes without wrecking the groove.

End-of-phrase cues: at bar 15 or 16, do a micro-fill. Half bar max. A band-pass pinch on MID B, a quick stutter from your resampled audio, or one reversed hit. This tells DJs, “phrase boundary here,” without needing a huge volume change.

Breakdown: strip back to SUB plus filtered MID A. The identity stays, the energy resets, and it stays mixable.

Now, performance control. This is where you stop drawing a million automation lines and start playing the mix.

Put an Audio Effect Rack on your mid layers or on the bus and map macros. Here are great macro choices:
One macro for MID B filter cutoff.
One macro for distortion drive, like Roar or Pedal or Saturator.
One macro for Redux amount, but keep the range subtle.
One macro for MID C gate threshold, so you can tighten or loosen the pulse.
And a really useful one: a “DJ Blend” macro that pulls MID B and MID C down by 2 to 6 dB while keeping MID A stable. That gives you instant blend-safe sections without changing the MIDI.

If you want an advanced add-on, create a parallel texture lane. Duplicate MID B into a MID B PAR track. High-pass it hard, like 300 to 600 hertz, then go aggressive with distortion, redux, comb filtering, frequency shifting. Blend it quietly under the main stack. That way you can push grime without destabilizing the foundation.

Another advanced trick: call and response using envelopes, not notes. Keep identical MIDI, but alternate the amp envelope. Two bars snappy pluck, two bars longer release. It feels like conversation without rewriting the riff, which again keeps it DJ-friendly.

Now, mono and phase checks. Non-negotiable.

Temporarily put Utility on the master and set width to zero percent. Listen. If the bass loses power in mono, reduce width on MID B and MID C, avoid chorus or unison that touches the low mids, and be careful with micro-delays. Time-based width tricks can sound insane in headphones and totally disappear on a club system.

If it feels hollow in mono, don’t panic. Just move stereo upward. Use EQ splits so widening only affects higher bands, and keep the punch zone solid.

Let’s wrap with a short practice plan you can actually do today.

Program a two-bar rolling bass MIDI loop with syncopation and offbeats. Duplicate it to SUB, MID A, and MID B. Build the three layers exactly as we covered. Then resample MID B for 8 bars and create one variation every 4 bars, plus a fill at bar 8.

Arrange a 32-bar drop. Bars 1 to 16: MID A plus MID B. Bars 17 to 32: add MID C and one resample switch-up.

Then do the mono check. Fix until the bass still hits when summed to mono.

If you want to level up, do the homework challenge: build four recallable states A, B, C, D using macros, make a resample pack of ten one-shots from MID B, and arrange a 64-bar structure: 16-bar intro on A, 32-bar drop with B then C, 16-bar outro on D, with exactly two micro-fills at bar 16 and bar 48.

Final recap to lock it in.

Keep the sub clean, mono, and boring in the best way. MID A is your translation and identity layer. MID B is movement and grit, ideally resampled so you commit and edit like DnB is supposed to be done. MID C is controlled air that breathes with the groove. Build predictable 16-bar evolution and macro-controlled mix states so your bassline is performable, mixable, and stable for DJs.

If you tell me what substyle you’re aiming for, like roller, techstep, neuro, jungle-tech, minimal foghorn, I can suggest specific macro ranges for cutoff, drive, and LFO rates that match that aesthetic without wrecking mono.

mickeybeam

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

Generating PDF preview…