DNB COLLEGE

Drum & Bass Ableton Live 12 Tutorials

LESSON DETAIL

Sampler rack in Ableton Live 12: blend it for 90s-inspired darkness for jungle oldskool DnB vibes (Advanced)

An AI-generated advanced Ableton lesson focused on Sampler rack in Ableton Live 12: blend it for 90s-inspired darkness for jungle oldskool DnB vibes in the Risers area of drum and bass production.

Back to lessons
Sampler rack in Ableton Live 12: blend it for 90s-inspired darkness for jungle oldskool DnB vibes (Advanced) cover image

Narrated lesson audio

The voice track includes the tutorial plus extra teacher commentary.

Open audio file

Main tutorial

Sampler Rack in Ableton Live 12: Blending It for 90s-Inspired Darkness

Jungle / Oldskool DnB Risers Tutorial 🌑🥁

1. Lesson overview

In this lesson, you’ll build a dark, atmospheric riser rack in Ableton Live 12 using Sampler, then blend layers into a single expressive instrument that feels right at home in 90s jungle / oldskool DnB.

We’re not making a glossy festival riser here. We’re going for:

  • murky vinyl-era tension
  • swelling filtered noise
  • pitch-leaning drones
  • subtle detune and tape-like instability
  • a rise that supports breaks, drops, and arrangement transitions
  • This approach is ideal for:

  • 8-bar and 16-bar build-ups
  • breakdown-to-drop transitions
  • switch-ups before a half-time section
  • intro tension for darker rolling basslines
  • The focus is on Sampler rack blending: layering multiple sample sources inside an Instrument Rack, then shaping them so they feel like one cohesive, menacing motion.

    ---

    2. What you will build

    You’ll build a 3-layer riser rack with:

    1. Noise layer

    - for hiss, air, and upward movement

    2. Dark tonal layer

    - a pitched drone or chord fragment with jungle-era mood

    3. Texture layer

    - vinyl crackle, reverse hit, broken amen ambience, or Foley grit

    Then you’ll combine them with:

  • Instrument Rack Macros
  • Sampler filtering / envelopes
  • slow modulation
  • reverb and delay
  • automated tension shaping
  • optional resampling for a more vintage, unified sound
  • By the end, you’ll have a rack you can drop into any DnB project and automate into a proper oldskool-style build.

    ---

    3. Step-by-step walkthrough

    Step 1: Choose source material with the right darkness

    Start by collecting 3 categories of samples:

    A. Noise source

    Pick one of these:

  • white noise
  • vinyl hiss
  • tape hiss
  • a reversed cymbal wash
  • room tone / field recording with high-frequency air
  • B. Tonal source

    Pick one of these:

  • a sustained minor chord
  • a single note drone
  • a detuned synth pad
  • a Reese-like harmonic layer rendered to audio
  • a sampled stab from a classic-inspired synth patch
  • For jungle/oldskool darkness, aim for:

  • minor 7
  • minor 9
  • diminished flavor
  • detuned semitone motion
  • low-mid harmonic dirt
  • C. Texture source

    Pick one of these:

  • vinyl crackle loop
  • reverse impact
  • broken break fragment
  • metallic hit tail
  • short ambience sample from a drum break or field recording
  • Tip: If your tonal sample already sounds “too modern,” resample it through saturation, a low-pass filter, or even a cheap-sounding plugin chain before loading into Sampler.

    ---

    Step 2: Create an Instrument Rack with 3 Sampler chains

    In Ableton Live 12:

    1. Drag an Instrument Rack onto a MIDI track.

    2. Create 3 chains inside it:

    - `Noise`

    - `Tone`

    - `Texture`

    3. Drag a Sampler into each chain.

    4. Load one sample per Sampler.

    This is important: we want each layer to be independently controlled, but still perform like one instrument.

    ---

    Step 3: Set up the Noise Sampler

    Open the `Noise` Sampler.

    Basic playback settings

  • Mode: Classic
  • Warp: Off if it’s one-shot/noise loop; On only if needed
  • Voices: 1
  • Envelope

    Use a long swell:

  • Attack: 1.5–4.0 s
  • Decay: 0
  • Sustain: 0 dB or slightly below
  • Release: 1.0–3.0 s
  • If it’s a looped noise source:

  • enable looping and set loop points so there are no clicks
  • use a very slow fade if needed
  • Filter

    Use a darker filter shape:

  • Type: Low-Pass 24 dB
  • Cutoff: start around 2–6 kHz
  • Resonance: 10–20%
  • Drive: a little if the noise feels thin
  • LFO / modulation

    If the sample is static, add movement:

  • assign LFO to cutoff or volume
  • Rate: 1/2 bar to 4 bars
  • Amount: small to moderate
  • The goal is subtle motion, not obvious wobble. Think “fog rolling in,” not EDM sweep.

    ---

    Step 4: Set up the Tonal Sampler

    Open the `Tone` Sampler.

    This is the emotional core of the riser.

    Pitch

    Set root key correctly, then create pitch movement:

  • transpose it to sit in the track key
  • if it’s a chord, simplify it if necessary
  • if it’s a single note, try -12, -7, or +7 semitone layering later
  • Envelope

    For a rise:

  • Attack: 500 ms to 2 s
  • Decay: 0
  • Sustain: 0 to -6 dB
  • Release: 2–5 s
  • Filter

    This is where darkness lives:

  • Type: Low-Pass 12 or 24 dB
  • Cutoff: start around 300 Hz–1.5 kHz, depending on the sample
  • automate cutoff upward for the build
  • add a touch of resonance for tension, but don’t whistle
  • Pitch modulation

    For classic jungle tension:

  • map a Macro to Transpose or Fine
  • automate a slow upward pitch rise of +2 to +7 semitones
  • or use very subtle detune drift via LFO
  • A powerful oldskool trick is to make the tonal layer feel unstable:

  • tiny pitch drift
  • slight filter opening
  • delayed reverb bloom
  • That instability makes it feel more tape-era and less polished.

    ---

    Step 5: Set up the Texture Sampler

    Open the `Texture` Sampler.

    This layer gives the riser a gritty “sampled from somewhere” feeling.

    Good texture options

  • reverse hit
  • break fragment
  • metallic scrape
  • vinyl crackle
  • noisy ambience
  • short reese tail or pad fragment
  • Shape it

    Use a shorter, more percussive envelope:

  • Attack: 50–300 ms
  • Decay: 0
  • Sustain: low
  • Release: 500 ms–2 s
  • Filter it

  • Low-pass if it’s too bright
  • or band-pass if you want that narrow, haunting midrange character
  • automate cutoff to open slightly toward the drop
  • Add randomness if needed

    If the texture feels too clean:

  • add Random or Velocity modulation where relevant
  • slightly offset start position
  • use a little start-point variation for repeated triggers
  • This layer should feel like ghostly debris from the break itself.

    ---

    Step 6: Blend the three chains inside the Rack

    Now use the Instrument Rack chain controls.

    Suggested starting balances

  • Noise: -10 to -14 dB
  • Tone: -8 to -12 dB
  • Texture: -14 to -18 dB
  • Usually:

  • noise provides motion
  • tone provides emotional lift
  • texture adds identity
  • If the riser feels too modern and glossy, reduce the tonal layer and emphasize texture plus filtered noise.

    Macro assignments

    Map these to 4–6 Macros:

    1. Rise

    - cutoff up across all chains

    - pitch rise on tonal layer

    - maybe reverb send increase

    2. Darkness

    - global low-pass amount / filter cutoff down

    - or reduce high end across the rack

    3. Grit

    - saturation drive

    - sampler output gain

    - texture chain gain

    4. Space

    - reverb dry/wet

    - delay feedback

    - reverb size

    5. Instability

    - tiny pitch modulation depth

    - filter resonance

    - start offset variation

    6. Blend

    - chain volumes for balancing the layers

    This gives you performance control during arrangement and automation.

    ---

    Step 7: Add stock Ableton devices after the Rack

    After the Instrument Rack, build a darker riser processing chain.

    Suggested chain

    1. EQ Eight

    2. Saturator

    3. Echo or Delay

    4. Hybrid Reverb or Reverb

    5. Utility

    1) EQ Eight

    Use EQ Eight to tame harshness and push the mood:

  • high-pass around 80–150 Hz if the riser clutters the sub space
  • dip 2–5 kHz if it’s piercing
  • gentle high shelf if you need air, but be careful for oldskool style
  • 2) Saturator

    Add tasteful grit:

  • Drive: 2–6 dB
  • Soft Clip: On
  • try Analog Clip or a mild drive curve
  • automate drive slightly in the build
  • This helps the riser feel like it belongs beside crunchy breaks and grimy bass.

    3) Echo or Delay

    For jungle tension, feedback can do a lot.

  • Delay time: sync to 1/8 or 1/4
  • Feedback: 15–35%
  • Filter: darken the repeats
  • Modulation: very subtle
  • If using Echo, try:

  • Noise and Wobble very lightly
  • Filter low-pass to keep repeats murky
  • 4) Hybrid Reverb or Reverb

    Go for shadowy space, not huge shiny ambience.

  • Decay: 2–6 s
  • Pre-delay: 10–30 ms
  • High Cut: fairly low
  • Low Cut: avoid mud buildup
  • For a jungle vibe, a darker room/plate hybrid often works better than an enormous modern hall.

    5) Utility

    Use Utility to manage stereo width:

  • keep low-mid content narrower
  • widen the top if needed
  • consider Bass Mono below where your rack overlaps with the track’s sub
  • ---

    Step 8: Program the MIDI movement

    Risers work best when the note/data movement feels intentional.

    Basic MIDI pattern

    Create a long MIDI note:

  • 8 bars for a full build
  • 4 bars for a shorter transition
  • sometimes 2 bars for a switch-up
  • Pitch strategy

    For tonal layers:

  • hold the root and automate pitch/filter
  • or create a note sequence like:
  • - root

    - minor 2nd

    - minor 3rd

    - 5th

    - octave

    For jungle tension, a very simple motif can be enough if the sound design is strong.

    Velocity

    If your setup responds to velocity:

  • increase velocity toward the end of the build
  • use it to open the filter or increase chain blend
  • Automation

    Automate these over the build:

  • rack Macro `Rise`
  • rack Macro `Space`
  • rack Macro `Grit`
  • tonal sampler cutoff
  • delay feedback slightly up
  • reverb size slightly up
  • This creates a proper “pressure builds, then release” transition.

    ---

    Step 9: Make it feel more 90s-inspired

    Here’s where you turn a clean riser into a jungle-era transition device.

    Use lo-fi character intentionally

    Try one or more:

  • resample the rack to audio
  • add Redux lightly for bit-depth grime
  • use Saturator before reverb
  • add Drum Buss with very subtle drive
  • print through an EQ with a darker top end
  • Embrace imperfect movement

    Oldskool tension often feels:

  • slightly unstable
  • a bit rough
  • not overly polished
  • alive because of imperfection
  • A little drift in pitch, cutoff, and levels makes the riser feel sampled and authentic.

    Reference classic arrangement behavior

    In 90s jungle:

  • risers were often short and functional
  • tension came from break edits, filter sweeps, reversed hits, and atmospheric beds
  • the build led into a drop that hit fast and hard
  • So don’t overdo endless cinematic swell. Think utility + vibe + menace.

    ---

    Step 10: Resample for glue

    If the rack sounds good but a little too separated, resample it.

    Why resample?

  • glues layers together
  • prints effects into one signal
  • makes the result feel more like one sample-based event
  • helps you chop or reverse it later
  • How

    1. Set your rack up.

    2. Arm an audio track.

    3. Record the riser performance.

    4. Chop the best parts.

    5. Reverse segments if needed.

    6. Re-import and fine-tune with fades.

    This is very useful for oldskool DnB because it creates a more “found sound” vibe.

    ---

    4. Common mistakes

    1) Too much brightness

    A riser that’s all top-end can sound modern and sterile.

    Fix it with:

  • low-pass filtering
  • darker reverb
  • saturation before reverb
  • EQ dips in harsh zones
  • 2) No low-mid body

    If the riser is only hiss, it may disappear in the arrangement.

    Fix it with:

  • a tonal layer around 150 Hz–1.5 kHz
  • a resonant filter sweep
  • subtle distortion to enrich harmonics
  • 3) Too many layers fighting

    Three layers is enough if they’re well chosen.

    Fix it by:

  • muting one layer at a time
  • checking whether each layer has a job
  • reducing overlap in the same frequency area
  • 4) Overly dramatic automation

    If everything rises too much, the impact gets flattened.

    Fix it by:

  • choosing 1–2 main parameters to move
  • keeping other movements subtle
  • leaving room for the drop
  • 5) Reverb washing out the rhythm

    DnB needs punch and definition.

    Fix it by:

  • high-passing the reverb return
  • shortening decay
  • automating wet only near the end of the build
  • ---

    5. Pro tips for darker/heavier DnB

    Tip 1: Use the break as a texture source

    Render a tiny piece of an amen or break and process it as a riser layer.

    A reversed break fragment can sound instantly more authentic than a generic sweep.

    Tip 2: Pitch rises work better when restrained

    A gentle +3 to +5 semitone rise often hits harder than a huge theatrical leap.

    Tip 3: Automate chain balance, not just filter cutoff

    A great trick is to slowly bring up the tone chain while reducing the noise chain.

    That creates evolving focus without sounding obvious.

    Tip 4: Print a darker version for the intro

    Make one version with:

  • lower cutoff
  • more crackle
  • less high end
  • This can sit under your intro break and create a cohesive atmosphere.

    Tip 5: Use sidechain sparingly

    If the riser overlaps with breaks or bass stabs, use mild Compressor sidechain or Track Delay to keep it out of the kick/snare punch zone.

    Tip 6: Add micro-variation between sections

    For different drops:

  • change the texture sample
  • shift the tonal source by a semitone
  • alter reverb size
  • use a different filter resonance point
  • This keeps your transitions from sounding copy-pasted.

    ---

    6. Mini practice exercise

    Build three different riser versions in one session:

    Version A: Pure dark atmosphere

  • noise + tonal drone only
  • low-pass sweep
  • long reverb
  • very little saturation
  • Version B: Gritty jungle tension

  • noise + break fragment + reverse hit
  • more saturation
  • shorter, darker delay
  • slight pitch rise
  • Version C: Aggressive drop lead-in

  • stronger tonal layer
  • more resonance
  • tighter envelope
  • resampled and clipped lightly
  • Then compare them in the arrangement:

  • one before the intro drop
  • one before a mid-track switch
  • one before the final breakdown
  • Listen for which one supports the breaks and bassline best without crowding the kick/snare impact.

    ---

    7. Recap

    You’ve now built a Sampler-based riser rack in Ableton Live 12 that blends:

  • noise for motion
  • tonal content for emotional tension
  • texture for jungle-era grit
  • The key ideas were:

  • use three Sampler chains
  • shape each layer with filter, envelope, and pitch
  • map key controls to Macros
  • process the rack with EQ Eight, Saturator, Echo, Reverb, and Utility
  • automate in a way that feels dark, restrained, and functional
  • resample if you want a more authentic oldskool glue
  • For DnB and jungle, the best risers don’t just “go up” — they pull the room darker right before the drop hits. That’s the vibe. 🔥

    If you want, I can also turn this into:

  • a follow-along Ableton rack recipe with exact Macro mappings, or
  • a matching dark jungle drop transition chain using stock Live devices.

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
Welcome back. In this lesson, we’re building a dark, atmospheric riser rack in Ableton Live 12 using Sampler, and we’re shaping it for that 90s-inspired jungle and oldskool DnB feeling. So not a shiny festival sweep, not a huge polished EDM whoosh. We want murky tension, filtered noise, tape-like instability, a little grime, a little menace, and a rise that feels like it belongs right before a break drops hard.

The whole idea here is to blend multiple sample layers inside an Instrument Rack until they feel like one expressive instrument. We’re going to use three Sampler chains: one for noise, one for tone, and one for texture. Then we’ll control the whole thing with Macros, add some post-processing, and make it feel like it was pulled from a dusty 90s sample library, not dropped in from a modern cinematic pack.

First, let’s think about source material. This part matters a lot, because the character of the riser starts with the sample choice. For the noise layer, grab something like white noise, tape hiss, vinyl hiss, a reversed cymbal wash, or even a bit of room tone or field recording with some airy top end. For the tonal layer, look for a sustained minor chord, a single-note drone, a detuned pad, a Reese-style harmonic layer rendered to audio, or a stab that already has that oldskool darkness. Minor 7ths, minor 9ths, diminished flavors, and slightly detuned movement are all your friends here. For the texture layer, you want something that feels like sampled debris: vinyl crackle, a reverse hit, a chopped break fragment, a metallic tail, or even a short ambience sample from a drum break.

If one of your tonal samples sounds too clean or too modern, don’t be afraid to rough it up before it even gets into Sampler. A bit of saturation, a low-pass filter, or a quick resample through a gritty chain can instantly make it sit more in the jungle world.

Now let’s build the rack. On a MIDI track, drop in an Instrument Rack. Inside that rack, create three chains and name them Noise, Tone, and Texture. Then put one Sampler in each chain and load your chosen sample into each one. This gives us independent control over each layer, but the whole thing still behaves like one playable instrument.

Start with the Noise chain. Open the Sampler and keep it simple. Use Classic mode, turn Warp off if the sample works as a one-shot or a loop without stretching, and set voices to one. For the amplitude envelope, use a long attack, somewhere around one and a half to four seconds, no decay, little or no sustain, and a release that fades out naturally. You want this layer to swell in, not pop in. If it’s a looped noise source, make sure the loop points are clean and click-free.

For the filter, go darker rather than brighter. A low-pass 24 dB filter works well here, with the cutoff starting somewhere around two to six kilohertz depending on the sample, a touch of resonance, and a little drive if the noise feels too thin. If the noise is too static, add some subtle modulation. A slow LFO moving the cutoff or volume over one to four bars can create that fog-rolling-in movement. The key is subtlety. We’re aiming for unease, not an obvious wobble.

Next, open the Tone chain. This is the emotional core of the riser, because it’s the part the ear starts to latch onto. Make sure the root key is correct, then transpose it into the track’s key if needed. If the sample is a chord, simplify it if it’s too busy. If it’s a single note, we can build the rise with pitch motion later. For the amplitude envelope, use a medium attack, maybe half a second to two seconds, no decay, low sustain, and a release that lingers for two to five seconds.

Now for the filter. This is where the darkness and tension really happen. A low-pass 12 or 24 dB filter is perfect. Start the cutoff fairly low, maybe around 300 hertz to 1.5 kilohertz depending on the source, then automate it upward over the build. Add a touch of resonance, but don’t overdo it. You want pressure, not whistling. If you want that classic jungle unease, map a Macro to transpose or fine pitch and slowly bring the tone up by a few semitones over time. A rise of plus two to plus seven semitones can be enough. Sometimes just plus three to plus five sounds stronger than a huge dramatic jump. You can also let the pitch drift slightly with a tiny amount of LFO. That instability gives it a tape-era feel, a little nervous energy, which is exactly what we want.

Now move to the Texture chain. This layer is there to give the riser a sense of age and identity. A reverse hit, a break fragment, a metallic scrape, crackle, noisy ambience, or a short reese tail all work well. Shape it with a shorter envelope: quick attack, no decay, low sustain, and a release that tails off somewhere around half a second to two seconds. Use a low-pass filter if it’s too bright, or a band-pass if you want a more haunted midrange character. If the texture feels too clean or too static, introduce a bit of randomness. A small start-point variation or subtle parameter movement can make repeated triggers feel more organic and sampled.

Now let’s blend the layers inside the rack. This part is where the sound starts to become one instrument instead of three separate samples. As a starting point, keep the Noise chain a little lower, the Tone chain a bit more present, and the Texture chain tucked underneath. In other words, noise provides motion, tone provides emotional lift, and texture provides character. If the whole thing starts sounding too glossy or modern, pull the tonal layer back a little and lean more on the texture and filtered noise.

This is also where Macro controls become super useful. Map a Macro called Rise to the main cutoff changes and maybe the pitch movement on the tonal layer. Map another Macro called Darkness to the overall high-end reduction or filter cutoff. Grit can control saturation or chain gain. Space can control reverb and delay amount. Instability can handle tiny pitch variation, resonance, or start-point offset. And Blend can control the chain volumes so you can performance-balance the layers in real time. Once these are mapped, you can automate the whole rack in a really musical way instead of fiddling with every parameter separately.

After the rack, add some stock Ableton devices to shape the final character. Start with EQ Eight. Use it to high-pass the low end if the riser is cluttering the sub space, and be careful with the upper mids if the sound gets piercing. A small dip in the harsh range can make a big difference. Then add Saturator for a little grime. A few decibels of drive, soft clip on, maybe a mild analog-style curve, and the sound starts to feel like it belongs next to crunchy breaks and rough bass. If you want even more oldskool bite, automate the drive slightly as the build progresses.

Next, add Echo or Delay. For jungle-style tension, short synced delays can add a lot without sounding huge. Try one-eighth or one-quarter sync, with moderate feedback and a dark filter so the repeats stay murky. If you use Echo, keep the modulation subtle and don’t overdo the noise or wobble features. Just a little movement is enough. After that, put on a darker Reverb or Hybrid Reverb. Keep the decay moderate, the pre-delay short, and roll off the top end so the space feels smoky rather than shiny. Finally, use Utility to manage width. Keep the low-mid content under control, widen only if needed, and avoid spreading the whole thing too much if it starts to fight the drum impact.

Now let’s talk MIDI and automation. A riser usually works best with a long note or a sustained phrase, often over four, eight, or sixteen bars depending on the transition. For a full build, eight bars is a strong starting point. For a quicker switch-up, four bars can work. For a tiny lift before a drop, even two bars can be enough. On the tonal layer, you can hold one note and automate the pitch and filter, or you can create a simple motif that moves through the root, the minor second, the minor third, the fifth, and the octave. In this style, a small melodic idea can be more powerful than a giant cinematic gesture.

Automate the Rack Macros gradually. Bring Rise up over time. Let Space bloom toward the end. Add a little Grit as the build gets more intense. Open the tonal filter slowly. Increase delay feedback slightly. Make the whole thing feel like pressure is building, and then let the drop answer it. That’s the important mindset here. The riser should not become the drop. It should open the door for the drop.

To make it feel more 90s-inspired, lean into lo-fi character on purpose. Resample the rack to audio if you want the layers glued together. Add a touch of Redux if you want bit-depth grime. Use a little Drum Buss or Saturator before the reverb. Print a darker version for the intro if you want something that sits under the breaks and creates a more cohesive atmosphere. A bit of imperfection goes a long way. Tiny pitch drift, slight cutoff movement, and subtle level changes can feel more dangerous than big dramatic sweeps.

If the rack sounds good but still feels a little separate, resample it. Arm an audio track, record the performance, then chop out the best parts. You can reverse a segment, add fades, or re-import the audio and process it again. Resampling is a huge part of getting that sampled, found-sound vibe that sits naturally in jungle and oldskool DnB.

A few common mistakes to watch out for. One, too much brightness. If your riser is all top end, it’ll sound modern and sterile. Two, no midrange body. Noise alone can disappear in a busy arrangement, so keep some tonal content in there. Three, too many layers fighting each other. Three layers is enough if each one has a job. Four, overblown automation. If everything rises too much, nothing feels special. Keep a few key movements strong and let the rest stay subtle. And five, reverb washing out the rhythm. DnB needs punch, so keep the space controlled and the decay sensible.

Here’s a really useful mindset shift: in oldskool DnB, the best risers are less about being huge and more about controlled unease. Make the listener feel the build before they consciously register it. Let one layer be emotionally dominant. Think in frequency roles. Noise handles the upper motion. Tone handles the midrange tension. Texture handles age and character. Build contrast too. If the section before the riser is dry, narrow, and stable, the riser will hit much harder. And always remember: the drop is the answer. Don’t make the riser so massive that it competes with what comes next.

As a final creative exercise, try making three versions of the same rack. First, a minimal dread version with only two active chains, no delay, and a very restrained pitch rise. Second, a grit-heavy break version with a break-derived texture, saturation, and filtering doing most of the work. Third, a wide collapse version where the stereo image opens up only at the end and the final moment has a strong contrast shift. Listen to which one feels the most authentic, which one supports the drums and bass best, and which layer is actually doing the heavy lifting.

So that’s the process. You’ve built a Sampler-based riser rack in Ableton Live 12 that blends noise for motion, tone for tension, and texture for jungle-era grit. You’ve shaped it with filters, envelopes, pitch movement, Macros, and post-processing. And most importantly, you’ve learned how to make a riser that doesn’t just go up, but pulls the whole room darker right before the drop hits. That’s the vibe.

mickeybeam

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

Generating PDF preview…