Skip to content
/ supbox Public

Get the currently playing track from Rekordbox v6 as Audio Hijack Shoutcast/Icecast metadata, display in your OBS video broadcast or export as JSON.

License

Notifications You must be signed in to change notification settings

gabek/supbox

Repository files navigation

This tool is for users of Pioneer's Rekordbox v6 to gain access to their currently playing track. This data can be used for any number of purposes, but a large one is online streaming of audio and video. Built-in support for OBS and Audio Hijack are included.

Currently only supported on macOS

Since I use macOS, and I have an install of Rekordbox on macOS that's what I have it working with. However, there's no reason that somebody who's using Rekordbox on Windows can't help out and make the tweaks needed to point to the file locations on a Windows install. If there's any demand maybe I'll install a VM and install Rekordbox and I'll do it myself.

Usage

  1. Download the zip file and unzip it somewhere.
  2. Open the config/config.yaml file.
  3. Make sure the application path points to your copy of Rekordbox.app (version 6) on your computer.
  4. Decide where you want the output files to go such as an "output" directory. Create this directory if needed.
  5. Decide if you are using OBS, Audio Hijack, or JSON output.
  6. You can remove any of the config file output destinations you're not using.
  7. Run ./supbox from the command line.
  8. You should see output when tracks change that looks like
2020/05/13 11:34:27 {ID:6d655f64-f2e5-4ec9-bd51-3a2c86984c8e Artist:VNV Nation Name:Retaliate ImagePath:/Users/gabek/Library/Pioneer/rekordbox/share/PIONEER/Artwork/bd3/82718-334f-482d-ad0a-82a1f8ba2507/artwork.jpg}

Note: If you run into an error from macOS running ./supbox from the command line saying it's not signed or from an unknown developer first open it directly via the finder just once, and it should be fine from then on.

Using with OBS

If you're using OBS the file path of nowplaying-obs-* would generate three files:

  • nowplaying-obs-artist.txt (just the artist name)
  • nowplaying-obs-track.txt (just the track name)
  • nowplaying-obs-track.jpg (just the track image)

Within OBS you can then point to these files and add the Metadata to your broadcast.

Here's an example setup:

You can point Audio Hijack at a specially formatted text file and the software will read it and treat it as the current Metadata. This file location is configured in the config file as audioHijack under output.

For example you can set it to output/nowplaying-audiohijack.txt and the contents of the file would look something like

Title: Retaliate
Artist: VNV Nation
Artwork: /Users/me/Library/Pioneer/rekordbox/share/PIONEER/Artwork/bd3/82718-334f-482d-ad0a-82a1f8ba2507/artwork.jpg

Here's an example setup:

Please read the details that Rogue Ameba has provided under the Metadata from a “Now Playing.txt” file section if you have questions.

JSON Output

An option to generate a JSON file with the Metadata is available for other uses. Upload it to a web server, have your text to speech engine read the current track, whatever ideas you can come up with.

{"ID":"6d655f64-f2e5-4ec9-bd51-3a2c86984c8e","artist":"VNV Nation","track":"Retaliate","imagePath":"/Users/gabek/Library/Pioneer/rekordbox/share/PIONEER/Artwork/bd3/82718-334f-482d-ad0a-82a1f8ba2507/artwork.jpg"}

A companion to this JSON output can be found with json-scrobbler, a simple tool that just monitors a JSON file and then scrobbles the track data to Last.FM. If you're a Last.FM user, here's a way to finally scrobble your DJ sets in real-time.

Disclaimers

  • This tool relies on Rekordbox marking a track as "played" before we know it's the most recently played track. I've found this currently happens one minute into playback. This is not optimal, as I'd really love to know this immediately. However, this is what Rekordbox is doing and I'll keep looking to see if there's any other way to work with this.

  • We're doing things with Recordbox that are unsupported and even likely completely unwanted by Pioneer. Things could change by them at any moment and even shut this down completely.

Thank yous

About

Get the currently playing track from Rekordbox v6 as Audio Hijack Shoutcast/Icecast metadata, display in your OBS video broadcast or export as JSON.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages