A vinyl scratch instrument for your phone. Pull in college radio, your own files, or the mic, then scratch it like wax. Velocity-based platter physics, lock-free C++ DSP, optional Griffin PowerMate knob.
SwiftUI on iOS, Compose on Android, the same C++ engine running underneath.
Touch-controlled vinyl. Sub-5ms total path.
Streams, files, samples, or the mic.
Open the drawer for full controls. Close it when you don't need them.
One-time purchase. No subscriptions.
Telemetry opt-out is right there in Settings.
The buffer fills as you scratch.
College and indie streams, station presets baked in. Add any HTTP/Icecast URL. Cleartext-allowed for the stations that haven't moved to TLS yet.
Drop in your own audio. Eight bundled scratch samples, ready to launch. Custom sample pads on Pro.
Scratch your own voice. Mic feeds the buffer in real time with a level meter and zero perceptible delay.
Long-press to capture a frozen loop into a pad. Build your own kit, scratch it back.
Circular gesture control with sliding-window velocity estimation. Disc responds like wax under your finger.
Drag for chirps, flares, transforms. Stamp a cue point and snap back to it.
Scratching backward feeds the buffer back into itself. Builds and decays.
Hide it for a minimal UI. Open it when you need the full controls.
Mark in/out, lock the segment, keep scratching while the stream buffers ahead.
Automated rhythmic patterns you can layer and shape.
Capture performances. Export, share, sample back into the buffer.
Filter, delay, bitcrusher post-scratch. Real-time, tweakable.
Adjustable inertia. Light 7-inch to heavy 12-inch wax.
Crackle, hiss, and rumble at adjustable levels.
Save frozen loops as WAV samples. Reload them as pads.
LED state machine: pulse to BPM, dim on cue, flash on freeze.
USB HID over OTG. Spin to scratch, click to cue, hold to cut. The LED ring syncs to scratch velocity. Weighted aluminum, zero latency.
Brightness pulses to your scratch envelope. Cue state dims the ring; freeze-loop flashes; record arms it solid red. Full state machine ships in Pro.
Anonymous performance traces help us tune the engine. The opt-out lives in Settings, not four menus deep. No accounts and no third-party trackers.
Open the app, scratch, close it. That's the whole loop. Pro is a one-time purchase tied to your store account, not ours.
Native SwiftUI on top of the same C++ DSP core that ships on Android. An AUv3 Audio Unit plugin is in beta, so you can host the scratch engine inside GarageBand, Logic Pro, AUM, or any AUv3 host.
Add any Icecast or Shoutcast stream URL. Unlimited presets on Pro.
Live mic, freeze loop, WAV recording, LFO auto-scratch, FX chain, platter weight, vinyl noise, loop capture, full PowerMate LED state machine. One purchase, restored to any device on the same store account.
// scratch_engine.cpp ExoPlayer / AVAudioEngine → PcmBridgeProcessor // mono → stereo, intercept → nativeWritePcm() // JNI / ObjC++ bridge → SPSC ring buffer // 2^21 frames, lock-free → ScratchEngine::tick() // Oboe / AU callback @ 44.1kHz variable-rate playback // linear interp velocity estimation // 8-sample sliding window crossfader · reverse echo · LFO modulation → device output // sub-5ms total path