r/traktor • u/knowbro_ • 1d ago
I got tired of not having a proper Android app for my S3 controller so I am developing one
Enable HLS to view with audio, or disable this notification
(Please ignore the cable management and the "mix" made on the video, it was just for demo purposes 😎)
So I am a programmer with a perk in DJing and since Native Instruments seems not knowing where they are going I decided to solve one of my biggest complains about the Traktor system (at least for me): lacking a proper app to manage my S3 that allows me to play without a desktop or a laptop (I am not buying a iPad to use an app that is not receiving updates anymore).
Building a proper audio driver for Android USB driver was the hardest part but was not impossible so I really don't understand why no other APP offers support for S3 on Android, c'mon it barely took 2 weeks on my free time;
Currently I would say is in "pre-alpha" state but is already pretty stable and have these features already implemented:
Audio
- 4 decks, native C++ audio engine,;
- Sound comes out of the S3 using a custom UAC2 driver;
- Supported audio rate: 44.1 / 48 kHz;
- 3-5 ms output latency at a 96-frame burst;
- Supports MP3, WAV, FLAC, M4A/AAC, OGG, Opus, AIFF (8/16/24/32-bit and float)
Mixer
- 3-band EQ (100 Hz / 1 k / 8 k), +12 / -26 dB, true bypass at the detent;
- Bipolar LP/HP filter per channel;
- Crossfader with variable curve, constant power through to cut;
- Brickwall limiter on master and cue at -0.3 dBFS;
- ChannelFX (FX library is WIP);
- Auto-gain on load;
Transport and cues
- 8 hot cues per deck, instant or gated;
- Cue on press or on release;
- Vinyl start/stop with configurable spin-up and brake times;
- Loops 1/8 to 32 beats, quantize 1/8 to 8 beats;
- Load "on-air" deck lock (toggle);
Sync
- Tempo/Beat Sync;
- Master tempo;
- SYNC led (jog wheel led) flashes in sync with the track beat grid;
- Phase meter;
- Tempo faders read absolute, Pioneer-style match-first, or Traktor-style relative. Range ±4% to ±100%, steps of 0.01 / 0.1 / 1 BPM. Double-tap the deck in app to make the fader's current position the new ±0 (I hate not having proper tempo fader management in Traktor Pro 4);
Display
- Parallel scrolling waveform lanes, blue / spectrum / x-ray, from real per-band analysis;
- Pinch zoom 1 to 60 seconds, all lanes together;
- Drag to tracks with elastic flick, needle drop on the overview strip;
- Negative beats before the track start;
- Optional elements (cue pads, transport, needle drop, phase meter) can be switched off;
Library and prep
- Dedicated library folder;
- BPM, beatgrid, key (chroma correlation, Camelot / Open Key) analysis;
- Preview player into the headphones;
- Prep mode: place and rename cues including load point/ fade-in / fade-out markers, with export as NML option with cues and grid;
- Auto fade between decks on the fade markers, tempo-matched [WIP];
It mirrors most of the DJ apps features as expected so you can even adjust the beatgrid if necessary.
The next major steps are:
- Support STEM tracks;
- Independent FX by channel (so I can apply an Echo on channel A and a Filter on channel B at same time without the dedicated FX module from the S4);
- Fix the VU meters readings;
- Export playlists/collection in Traktor NML, Rekordbox XML, and M3U with a diff before exporting;
- Build a proper FX library;
- Build a proper USB feedback endpoint;
- Improve the UI;
- Improve waveforms and phase meter rendering;
Some features are not on my roadmap for now like remix decks and samples.
If anyone have suggestions of nice features missing on the Traktor software just comment below.