We Put an LA-2A and 1176 Inside Your iPhone

1Take v1.5.0 ships with custom DSP compressors modeled after two of the most recorded-through pieces of hardware in music history. Here's what they are, why they matter, and how we got them running on an iPhone.

The Problem With "LA-2A Style"

Until now, 1Take's presets said "Studio (LA-2A style)" and "Studio+ (1176 style)" on the label, but under the hood it was Apple's generic DynamicsProcessor audio unit. You could dial in similar threshold and ratio numbers, sure. But the sound of an LA-2A doesn't come from its threshold setting. It comes from the way the hardware responds to the signal—non-linearly, inconsistently, musically.

We decided to fix that.

What Is the LA-2A?

The Teletronix LA-2A is an opto-compressor from the early 1960s. Inside it, there's a light-dependent resistor (photocell) and an electroluminescent panel. When the signal gets louder, the panel glows brighter, and the photocell's resistance drops, reducing the signal level.

The magic is in how the photocell recovers. When compression is light, it lets go quickly. When compression is deep, it holds on much longer. This non-linear release is what makes the LA-2A sound "musical"—it automatically adapts to the dynamics of whatever you feed it.

On top of that, the entire signal path runs through vacuum tubes, which add even-order harmonics. That's the "warmth" people talk about.

Vocals, acoustic guitar, bass—anything where you want the level to stay consistent without sounding squeezed. That's LA-2A territory.

What Is the 1176?

The UREI 1176 (1967) is the opposite personality. It uses a field-effect transistor (FET) instead of a photocell, and it's fast. Attack times down to 20 microseconds. The harder you hit it, the faster it grabs.

Where the LA-2A smooths things out gently, the 1176 clamps down on transients with authority. Snare drums get punchy. Electric guitars get tight. The FET circuit adds odd-order harmonics—a grittier, more aggressive color than the LA-2A's warmth.

The famous "All Buttons In" trick (pressing all four ratio buttons simultaneously) produces a unique, heavily compressed sound with a distinctive distortion character. Drum room mics through an 1176 with all buttons in is one of the most recognizable sounds in rock recording.

How We Modeled Them

We wrote a custom AUAudioUnit subclass that processes audio sample-by-sample at 48kHz. Three things make it sound different from a generic compressor:

1. Non-linear release (LA-2A model)

The release time coefficient changes based on how much gain reduction is happening. Deeper compression = slower release. This single behavior accounts for most of what people mean when they say the LA-2A sounds "smooth."

2. Soft-knee compression

Instead of compression switching on abruptly at the threshold, a quadratic curve gradually transitions into full compression over a configurable knee width. The Studio preset uses a 24dB knee—so gentle you barely notice it engaging.

3. Harmonic saturation

The LA-2A model applies tanh waveshaping (soft saturation, like tubes). The 1176 model uses polynomial waveshaping (x + 0.1x² - 0.01x³) for the grittier FET character. These are subtle—you feel them more than hear them.

Two-Stage Compression

1Take runs two compressors in series:

Input → Gate → EQ → Comp 1 → Comp 2 → Saturation → M/S → Maximizer

Comp 1 (Transparent Compressor) tames the dynamics. Comp 2 (the character model) shapes the tone. This "level first, color second" approach is standard in professional studios.

Real-Time Audio on iPhone

The entire DSP chain runs in the audio render callback—a real-time thread where you can't allocate memory, acquire locks, or do anything that might block. We learned this the hard way when our first implementation used an NSLock to protect shared state and produced audible glitches under load.

The fix: store compressor settings as Swift value types and let the render thread read a snapshot without any synchronization. On arm64, struct assignment is atomic, so the render thread never sees a half-written state.

CPU cost: under 1% on A15 and newer chips. iPhone has more than enough horsepower for this.

Parameter Guide

Every slider now has a hint label underneath explaining what it does. Here's the quick version:

ParameterWhat it doesStarting point
ThresholdLevel where compression begins-24dB, adjust until GR meter shows 2-3dB
RatioHow much compression3:1-4:1 for LA-2A feel, 8:1-12:1 for 1176
KneeHow compression transitions in24 = smooth, 0 = aggressive
AttackHow fast it grabsSlower = more transient punch
ReleaseHow fast it lets goLA-2A model adjusts this automatically
Makeup GainCompensate for volume lossMatch the average GR reading

What Else Is in v1.5.0

  • Parameter hint text on every effect slider
  • Saturation help topic added to in-app help
  • Expanded compressor and preset help with DSP details
  • English-standardized effect labels across all settings
  • A/B test paywall variants with Firebase Analytics
  • Security hardening (log privacy, API key management)
  • No Audio Input detection with retry