Skip to content
OnSeriousPublic

About

Unofficial free open-source macOS driver for the Rane SL1 (Serato Scratch Live) on Apple Silicon – timecode vinyl with Mixxx, sound card in VirtualDJ. Not affiliated with Rane/Serato.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

30 Commits

Folders and files

Repository files navigation

🎛️ OpenSL1 – Unofficial Rane SL1 (Serato Scratch Live) driver for macOS

Free, open-source, unofficial macOS audio driver for the Rane SL1

Use your Rane SL1 (the Serato Scratch Live interface) on Apple Silicon Macs again – scratch Serato timecode vinyl in Mixxx, or use the SL1 as a sound card in VirtualDJ.

macOS 12+ Apple Silicon native CoreAudio driver Works with Mixxx

Latest release Build License GPL-3.0-or-later Downloads

Support me on Ko-fi

🇺🇸 English | 🇩🇪 Deutsch


📑 Contents

💡 Why OpenSL1?

Note

Which box is this? The original Rane interface for Serato Scratch Live from 2004 – a small box with Input 1/2, Thru and Line jacks for two decks. It just said “Serato Scratch Live” on it; the name SL1 only came later, when the SL2 and SL3 appeared. On USB it reports itself as Serato Scratch LIVE(c)2004 (13e5:0001).

Your SL1 still works. The software behind it doesn't: Serato Scratch Live is 32-bit Intel software, and Apple Silicon Macs can't run it – not even through Rosetta. Serato DJ never supported the SL1 at all.

OpenSL1 is a native macOS audio driver for the SL1. Install it, plug in the box, and it shows up as a regular sound card called “Rane SL1” – ready for Mixxx, the free DJ software that reads Serato control vinyl.

Note

OpenSL1 is an independent open-source project. It is not made, endorsed or supported by Rane, Serato or inMusic, and it contains no code from them.

🧩 Which DJ software works with the SL1 on macOS?

You need the OpenSL1 driver for all of them – it is what makes macOS see the SL1 as a sound card. The DJ software on top is your choice:

Software With the SL1 on macOS
Mixxx (free, open source) ✅ Works – timecode on both decks, tested with Serato CV02 vinyl
VirtualDJ 🟡 Opens the SL1 as a sound card and plays to Line 1 (tested) – see VirtualDJ setup. Timecode (DVS) needs a paid VirtualDJ licence and has not been tested. VirtualDJ has its own control vinyl and, according to community reports, also reads Serato CV02 – unverified here.
Serato Scratch Live ❌ Legacy 32-bit Intel software – it does not run on Apple Silicon, not even through Rosetta
Serato DJ Lite / Pro ❌ Does not accept the SL1. Only Serato could change that – OpenSL1 will never present the SL1 as another device

✨ Features

🎧 Plug & play “Rane SL1” with 4 inputs (Input 1/2) and 4 outputs (Line 1/2) at 44.1 kHz
💿 Timecode on both decks Serato CV02 control vinyl in Mixxx, tested with real turntables and a DJ mixer
🔌 Built for accidents Cable pulled mid-set? Plug it back into any port – the music returns on its own
🧷 Never loses your setup “Rane SL1” stays available even when the box is unplugged – start Mixxx first, plug in later
😴 Sleep-proof Close the lid, open it again – sound is back 45 ms after wake
⚡ Fast hardware path 2.9 ms through USB and converters
🩺 Gig diagnostics Levels, gaps, USB errors and power events in the macOS log – see what happened during your set
🛡️ Safe by design No kernel extension; runs inside Apple's audio-server sandbox and never becomes your system output
🍏 Universal One installer for Apple Silicon and Intel, macOS 12 Monterey and later

🔊 How it works

graph LR
    A["💿 Turntables"] -->|timecode| B["Rane SL1"]
    B -->|USB| C["OpenSL1 driver"]
    C <-->|CoreAudio| D["🎛️ Mixxx"]
    C -->|USB| B
    B -->|Line 1 + 2| E["🎚️ DJ mixer"]
Loading

The SL1 is a USB audio interface underneath: OpenSL1 streams its inputs and outputs directly over USB and presents them to macOS as a CoreAudio device. The audio clock comes from the SL1 itself, so nothing drifts.

📋 Requirements

💻 Mac Apple Silicon (M1 and later) or Intel
🍏 macOS 12 Monterey or later
🎛️ Interface Rane SL1
🎚️ DJ software Mixxx (free, tested) – or VirtualDJ as a sound card
💿 Control vinyl Serato CV02 (Side A, 33⅓ RPM) – tested; other timecode vinyl is up to your DJ software and untested

📦 Installation

  1. Download OpenSL1-0.1.3.pkg from the latest release.
  2. Double-click it and follow the installer.
  3. Plug in the SL1 – done. It appears as “Rane SL1” in Audio MIDI Setup and in Mixxx.

Important

The installer is not “notarized” by Apple: Apple has not checked it, because that requires a paid developer account (a free hobby project has none). That is why macOS shows a warning at first. If macOS refuses to open it, go to System Settings → Privacy & Security and click Open Anyway.

🗑️ Uninstall

Open OpenSL1-Uninstall-0.1.3.pkg from the same release. That's it.

Mixxx setup

Where Setting
macOS asks “Mixxx would like to access the microphone” Allow – otherwise no timecode reaches Mixxx
Preferences → Sound Hardware CoreAudio, 44100 Hz, buffer 5.8 ms (2.9 ms possible, see below)
Output: Deck 1 / Deck 2 “Rane SL1” channels 1–2 / 3–4
Output: Main, Headphones None – your DJ mixer does that
Input: Vinyl Control 1 / 2 “Rane SL1” channels 1–2 / 3–4
Preferences → Vinyl Control Serato CV02 Vinyl, Side A, 33⅓ RPM, mode REL
Vinyl Control → filter Alpha-beta for scratching

Tip

Buffer: 5.8 ms is the safe default. 2.9 ms ran without a single error on a MacBook Air M4 (455 258 packets, 0 late accesses), but with a much smaller safety margin. Other Macs, heavy CPU load or other Mixxx versions may crackle at 2.9 ms – test it before a gig.

Tip

Alpha-beta beats Kalman for scratching. With the Kalman filter the track keeps running in slow motion for a moment after you stop the record with your hand. Alpha-beta stops instantly – only the tempo display wiggles a bit, you won't hear it.

Warning

Use the SL1 as your only sound card in Mixxx. If Main or Headphones go to the Mac's speakers or another interface, Mixxx has to sync two clocks – that can cause crackles and skips.

📸 Screenshots: my Mixxx settings with the Rane SL1

Mixxx 2.6.0-beta on a MacBook Air M4. The buffer here is 2.9 ms – it works on this Mac, but 5.8 ms is the safe default (see above).

Mixxx Sound Hardware outputs: Deck 1 to Rane SL1 channels 1-2, Deck 2 to channels 3-4, Main and Headphones none

Mixxx Sound Hardware inputs: Core Audio, 44100 Hz, Vinyl Control 1 and 2 on Rane SL1 channels 1-2 and 3-4

Mixxx Vinyl Control: Serato CV02 Vinyl Side A, 33.3 RPM, lead-in 28 s, Alpha-Beta filter on decks 1 and 2

VirtualDJ setup

Note

Sound card: works. Timecode: not tested yet – only because VirtualDJ needs a paid licence (subscription) for timecode/DVS, and we don't have one. VirtualDJ accepts the settings below; whether the timecode then runs is still open. If you have a VirtualDJ licence, please report back in an issue!

Where Setting
Settings → Audio → Outputs Separate decks: deck 1 → “Rane SL1” chan 1 & 2, deck 2 → chan 3 & 4
Settings → Audio → Inputs Timecode signal: timecode 1 → “Rane SL1” chan 1 & 2, timecode 2 → chan 3 & 4
Settings → Timecode Mode relative, Record Serato side A (CV02) – or VirtualDJ's own control vinyl
VirtualDJ (macOS, v2026) Status
Finds and opens “Rane SL1” ✅ tested
Music on Line 1 ✅ tested
Changing the audio settings (6×) ✅ tested – no hangs, no USB errors
Music on Line 2 ❔ not tested yet
Timecode / DVS ❔ not tested – needs a paid VirtualDJ licence (shows “Timecode: License needed”)
Serato CV02 vinyl in VirtualDJ ❔ according to community reports yes – not verified here
📸 Screenshots: the Rane SL1 in VirtualDJ

VirtualDJ Audio Settings: separate decks, deck 1 and 2 on Rane SL1 chan 1 & 2 and 3 & 4, timecode inputs on the same channels

VirtualDJ Timecode Settings: relative mode, Serato side A selected for timecode 1 and 2

🎤 Gig checklist

  • Plug the Mac's charger in before the set – and don't touch it during the set
  • Main and Headphones set to None, buffer 5.8 ms, 44.1 kHz
  • After plugging in or starting Mixxx, give the SL1 a second or two before you drop the needle
  • Don't change sound settings mid-set
  • Cable came out? Keep Mixxx running and plug the SL1 back in – any port

📊 Performance

Measured on a MacBook Air M4 with real timecode:

⚡ Hardware loop (USB + converters) 2.9 ms – identical in every run
🎚️ Record → line out (5.8 ms buffer) ≈ 35 ms
🔇 Signal-to-noise on the inputs ≈ 41 dB (timecode −47 dBFS, noise floor −88 dBFS)
✅ 15 min of timecode on both decks 917 434 packets per input, 0 errors
🔌 Replug during playback sound back 0.3 s after macOS sees the SL1
😴 Wake from sleep sound back 45 ms after wake

❓ FAQ

Is there a Rane SL1 driver for macOS and Apple Silicon?

Yes – OpenSL1 is a free, open-source CoreAudio driver for the Rane SL1 (Serato Scratch Live) on Apple Silicon Macs with macOS 12 or later (the installer is universal, so Intel should work too – untested). Download the installer from the latest release, plug in the box, and it appears as the sound card “Rane SL1”.

Does Serato Scratch Live still work on a modern Mac?

No. Serato Scratch Live is legacy 32-bit Intel software, so it does not run on Apple Silicon – not even through Rosetta. OpenSL1 replaces the missing driver; for the DJ software use Mixxx (free) or VirtualDJ.

Which timecode vinyl can I use with the SL1?

Serato CV02 (Side A, 33⅓ RPM) is tested with Mixxx. VirtualDJ comes with its own control vinyl and, according to community reports, also reads Serato CV02; Mixxx lists further timecode types in its vinyl-control settings. Those are untested here: OpenSL1 only delivers the audio signal, decoding the timecode is up to your DJ software.

Does this make the SL1 work with Serato DJ Lite or Pro?

No. Serato DJ never supported the SL1 and does not accept it, and only Serato could change that. OpenSL1 will never pretend the SL1 is a different device. Use Mixxx, or VirtualDJ with a paid licence.

Can I use it with other apps?

Yes – the SL1 is a normal CoreAudio device, so any app can use it as a sound card. For VirtualDJ see VirtualDJ setup. Timecode control is tested with Mixxx.

Does it work on Intel Macs?

The installer contains a universal driver (Apple Silicon + Intel). It has been tested on Apple Silicon only – reports from Intel Macs are welcome.

Is it safe?

OpenSL1 is a user-space audio plug-in, not a kernel extension. It runs inside macOS's sandboxed audio service with access to the SL1 only – no files, no network. The full source is in this repository.

What about the microphone input?

Not supported yet.

I'm on Linux.

You don't need OpenSL1 – Linux supports the SL1 out of the box. See docs/DEVELOPMENT.md.

🔧 Troubleshooting

No “Rane SL1” device

Check the cable, then restart the audio service in Terminal: sudo killall coreaudiod.

Sound drops when I plug the Mac's charger in or out

The SL1 gets its power over USB and can briefly drop off when the Mac switches between charger and battery. The driver usually recovers within about 3 seconds. Occasionally the SL1 hangs – unplug it and plug it back in, Mixxx can keep running. Best practice: plug the charger in before the set. Ideas that might help, all untested and without promise: the SL1's optional 9 V power-supply jack (the box would then not depend on the Mac's USB power – probably helps, but we can't promise it), a direct USB-C to USB-B cable instead of an adapter, or a powered USB hub. A macOS power setting might play a role too – not checked. Details in docs/MACOS.md.

I started Mixxx before plugging in the SL1

No problem since 0.1.1: “Rane SL1” stays available even when the box is unplugged, so Mixxx keeps its setup and starts normally (silent). Plug in the SL1 – the sound comes within a second, no click needed.

Mixxx 2.6 beta freezes when I apply sound settings

Seen with Mixxx 2.6.0-beta and the SL1 (not with the Mac's built-in audio): the freeze is a deadlock between two Mixxx threads while it stops the stream; the driver keeps running. We are still narrowing down the trigger. Until then: force-quit and restart Mixxx, and set up sound before your set.

Something stopped working after a macOS update

OpenSL1 is an audio plug-in, not a kernel extension, so a driver problem normally means “Rane SL1” disappears or audio drops out – not that the Mac fails to boot. We cannot promise that every future macOS version works. If it breaks:

  1. Unplug the SL1.
  2. Open OpenSL1-Uninstall-<version>.pkg from the release – or in Terminal: sudo rm -rf /Library/Audio/Plug-Ins/HAL/OpenSL1.driver and sudo killall coreaudiod.
  3. Check the releases for a newer version, or open an issue with your macOS version.

If a Mac ever panics or will not start normally, start it without the SL1 and remove the driver as above. In the worst case, start into macOS Recovery and delete OpenSL1.driver in Library/Audio/Plug-Ins/HAL on the system disk (exact path in Recovery not verified). Make a Time Machine backup before big macOS updates, and test before a gig.

What happened during my set?

The driver writes a short report every 30 seconds. In Terminal:

/usr/bin/log show --last 2h --predicate 'subsystem == "org.opensl1.driver"'

🧭 Roadmap

  • CoreAudio driver with timecode on both decks
  • Survive unplugging, sleep and USB drop-outs
  • Installer and uninstaller
  • Keep “Rane SL1” visible even when unplugged, so Mixxx never loses its setup
  • Report the measured latency to apps
  • Notarized installer (Apple-checked, no macOS warning)
  • Microphone input

🤝 Contributing

Tried OpenSL1 on another Mac or macOS version? Open an issue with your Mac model, macOS version and the log lines above – every report helps. Building from source, test tools and internals: docs/DEVELOPMENT.md.

OpenSL1 follows a strict clean-room rule: no code, binaries or disassembly from Rane or Serato software.

🙏 Acknowledgements

  • OpenSL3 by mrbrainz proved that this kind of driver works for Rane gear on Apple Silicon. OpenSL1 is written from scratch – no OpenSL3 code is included – but several robustness ideas come from its changelog.
  • Mixxx and its xwax-based vinyl control make all of this useful.
🧪 Tested with
Mac MacBook Air 13-inch, M4, 2025 (Mac16,12, 16 GB)
macOS 27.0.1 (26A434)
Connection passive USB-A → USB-C adapter
DJ software Mixxx 2.6.0-beta
Vinyl / mixer Serato CV02, two turntables, Pioneer mixer

📜 License & disclaimer

GPL-3.0-or-later – see LICENSE.

Warning

Use at your own risk. OpenSL1 is an unofficial, independent hobby project and is provided “as is”, without warranty of any kind. Installing and using it is entirely your own responsibility. To the extent permitted by law, the author accepts no liability for damage of any kind – to your Mac, the SL1, other equipment, data, recordings or performances (see sections 15 and 16 of the GPL).

  • Unofficial. OpenSL1 is not the original driver. It is not made, endorsed or supported by Rane, Serato or inMusic, and it contains no code, binaries or disassembly from them. The USB behaviour of the SL1 was measured on our own hardware.
  • Unsigned installer. The installer is not checked by Apple (not “notarized”). It installs an audio driver component (/Library/Audio/Plug-Ins/HAL/OpenSL1.driver) and asks for an administrator password. The full source is in this repository; compare the installer with the SHA256SUMS of the release if you want to be sure.
  • Hobby project. No guarantee of support, fixes, availability or compatibility with future macOS versions.
  • Test before you rely on it. Check your setup well before a gig and keep a backup plan for paid performances.
  • Other software and licences. Mixxx, VirtualDJ and any other software you use are subject to their own terms. OpenSL1 does not circumvent licence checks and does not make the SL1 appear as another device.
  • Privacy. The driver collects no data and has no network access.
  • Donations. Support via Ko-fi is voluntary. It is a gift, not a purchase, and gives no claim to support, features or warranty.
  • Trademarks. Rane, SL1, Serato, Scratch Live and other names are trademarks of their respective owners and are used here only to name the hardware and software this driver works with. OpenSL1 is not affiliated with, endorsed by or supported by Rane, Serato or inMusic.

Made for DJs who keep their gear alive. 🎛️💿

If OpenSL1 saved your SL1, give it a ⭐

About

Unofficial free open-source macOS driver for the Rane SL1 (Serato Scratch Live) on Apple Silicon – timecode vinyl with Mixxx, sound card in VirtualDJ. Not affiliated with Rane/Serato.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages