Software · macOS

El Eje Player

The music player built for tango, by Abbas Kazemipour, PhD.

El Eje Player is a native macOS app that organizes, understands, and plays Golden-Age tango the way a DJ actually works a milonga. It reads the music, key, tempo, lyrics, orchestra, handles fragile 1940s transfers next to modern stereo without flinching, and keeps everything offline on your own Mac. It's also where you learn the music, tango terminology, orchestra and singer history, and ear-training all live in the same app. Not a club player with a tango skin: a tool shaped around the floor.

📘 Read the step-by-step User Guide →

A library that thinks in tango

Organized the way you program a night, not an alphabetical dump of files.

🗂️

Orchestra & singer aware

Music, Cortinas, Tandas, and Playlists, your collection grouped by orchestra in canonical order, with singers and cortinas kept where they belong.

Best version, automatically

Five transfers of the same recording? El Eje groups them and surfaces the best one, so your tandas stay clean and consistent.

🔎

Search that knows Spanish

Accent- and case-insensitive search folds D'Arienzo, Pugliese, and every name in between, type it however you like and still find it.

⚙️

Smart Playlists

Stack a few rules, orchestra, singer, year, lyric theme, contributor, and El Eje builds a playlist that fills itself from your library and stays current as it grows.

Built for the booth

The controls you reach for mid-tanda, where reliability matters most.

🎧

Separate cue & master

Pre-listen in your headphones while the room hears the master, route cue and main output to different audio devices.

🎚️

Pitch-preserving tempo

Nudge tempo in 1% steps (0.7–1.3×) without changing pitch. Cue points and markers stay frame-accurate at any speed.

🎛️

Per-track EQ + presets

Shape each transfer for the room and save the EQ with the song, reach for a preset or dial it in by hand.

📍

Cue points & timeline

Set cues and timeline markers; the waveform shows exactly where the music turns, so entrances and finales land every time.

🔇

Even tanda gaps, automatically

Old transfers carry wildly different amounts of silence. El Eje finds each track's real first and last sound, so the pause between songs in a tanda stays even, no dead air, no clipped endings.

🎙️

Mono & modern, side by side

Plays fragile 1940s mono transfers and modern stereo seamlessly in the same set, no format crashes, no surprises.

✏️

Full metadata editing

Fix titles, orchestras, singers, years, and artwork in place, changes propagate across every version of a recording.

It knows the music

Analysis tuned for tango, running locally on your Mac.

🔑

Musical key detection

Native key detection tuned for tango, shown in Open Key notation. Detect a whole playlist at once; imported keys are never overwritten.

⏱️

BPM detection

Automatic BPM for every track, in bulk or one at a time, so energy and tanda pacing are always in view.

🧩

Tanda builder

Drag tracks into tandas and get a warning the moment an orchestra, era, or genre doesn't belong, build the arc of a night with confidence.

A tango learning suite, built in

Words, history, and ear-training in the same app, one place to go deeper into the music, not a pile of separate tools or browser tabs.

📜

Synced lyrics + translation

Full lyrics that scroll with the music, with the original Spanish and a line-by-line translation side by side.

📖

Lunfardo thesaurus

A built-in tango/lunfardo dictionary, open a word to see its sense and literal meaning, and truly know what you're playing.

📚

An illustrated tango encyclopedia

Hundreds of illustrated articles, orchestras, singers, poets & composers, instrumentalists and dancers, plus tango archetypes, films, and a year-by-year timeline, with bios, key facts, and photos. Click an orchestra or singer name anywhere in the app to jump straight to its article.

🎓

Ear-training flashcards

Spaced-repetition decks for the orchestras and singers, built from reference scholarship, recall the sound, then reveal.

Going further

The deeper, more experimental tools that make El Eje one of a kind.

🧪

Singer voice models experimental

An on-device engine that can restore or transform vocals on degraded 1940s recordings using per-singer AI voice models (so-vits-svc / kNN-VC), trained from your own library.

🎬

Performance video sync

Attach and align a performance video to a track, so you can study how a recording actually moves dancers on the floor.

🖥️

Project to a second screen

Pop the lyrics or a performance video out into its own window and send it to a second display or projector, for the room to read along at a milonga or a class.

🔁

Import your DJ library

Bring your collection across from VirtualDJ, Traktor, or iTunes / Apple Music, tags, BPM, cue & fade points, and your playlists. El Eje fills in the blanks and never changes your files.

Coming soon

Singer voice transfer

Transfer the sound of your favorite singer onto another track. Here's Aníbal Troilo's 1944 recording of Marioneta, originally sung by Floreal Ruiz, re-voiced with the sound of Alberto Marino:

20-second excerpt · experimental, runs on-device · not yet in the beta.


The design, and where it's going

For the technically curious: the ideas El Eje is built on, the community feedback loop, and the research ahead. You never need any of this to DJ.

🎧

Sound is identity

Recordings are recognised by an acoustic fingerprint of the audio itself, not filenames or tags, so a fix follows the recording across every transfer, rip, codec and small speed difference.

🛟

Augment, never overwrite

Auto-tagging only fills blanks; your edits live on a separate layer and always win. “Update metadata” is safe to re-run, and no community correction can clobber your choice.

✈️

Offline-first & native

Your library, lyrics, EQ and all analysis run on your Mac with no internet, in native SwiftUI, no Electron. Your audio files never move or change.

🎼

Tuned to tango

BPM folds to tango's danceable range so a vals or milonga reads at one tempo, and the sound tools are built for fragile Golden-Age transfers, not generic audio.

The feedback loop, your fixes become everyone's updates

El Eje's catalog is built with its DJs. You fix a title, orchestra, year, lyric or timing locally; your edits, and fingerprints, never audio, back up to El Eje, tied to your copy, so you can restore them on a new Mac. It happens automatically, roughly every minute, but only when you're not performing. When many DJs' anonymised, recording-keyed edits agree, a correction is proposed, author-vetted, and flows back to everyone in a Library updates sheet, where you accept or reject each one, and your own edits always win.

The step-by-step is in the User Guide.

Sound identity

A landmark fingerprint, the same idea as Shazam, is computed for each track; two files with the same fingerprint are the same recording, however differently they were ripped or tagged. A server acoustic match can then place a recording that isn't in the on-device catalog without downloading the whole index. It runs in the background and steps aside during a Live set.

Research direction

Where El Eje is going, AI & signal processing for the music

The frontier is putting advances in AI and signal processing in service of the music. Two directions lead: recovering lost music, restoring and enhancing degraded 1940s transfers so they can breathe again, and voice transfer, re-voicing a recording with the sound of another singer using on-device per-singer models (so-vits-svc / kNN-VC), trained from your own library. You can hear an early experiment on this page, Troilo's 1944 Marioneta, originally sung by Floreal Ruiz, re-voiced as Alberto Marino. Smaller communities especially stand to gain as these tools mature.

Experimental · runs on-device · not yet in the beta.


Private by design

Your audio never leaves your Mac, and El Eje never moves or edits your files, it reads them in place and stores its own data (lyrics, metadata, collections, EQ, cues) in your Application Support folder. Your backup is yours: it can include where your files live, so it stays private to your copy and is never part of the shared data, and Settings shows a Backup ID for deletion requests. What's shared is anonymised and tied to a recording, “this fingerprint is this orchestra, singer, year”, agreed across many DJs and vetted before it ships. Full terms are in the privacy policy.

In active development. The features above are live in the current private build; the roadmap keeps growing. Want to try it or shape what comes next? Request early access.

El Eje for Chrome companion · in development

A free browser companion that carries your tango library onto the web, fully offline, no account, nothing leaves your browser.

🔎

Reference any recording

A side panel that looks up any track, orchestra, singer, year, key, BPM, mood, and lyrics with translation, and shows other recordings of the same song. Right-click any title on the web to look it up.

▶️

Follow lyrics on YouTube

Watching a tango on YouTube? Spanish + English follow-along lyrics appear right on the page, with a “pick the right version” corrector when titles are ambiguous.

🌐

Offline & private

The whole ~20k-recording library snapshot lives inside the extension, lookup works with no internet and no account. Only anonymous contributions you opt into ever leave your browser.

Built on the same library as El Eje Player. See the full El Eje for Chrome page →

More tools for DJs

Browser-based companions you can use right now.

🧩

Tanda Builder →

Plan and audition tandas by orchestra, era, and energy.

🎚️

EQ Lab →

Hear what equalization does to a transfer before you commit.

🧰

All tools →

The full set of software and guides for tango DJs.

Try El Eje Player

Join the private beta, or tell me what would make your sets better, the roadmap is shaped by the DJs who use it.

Request early access