DJing

From Things and Stuff Wiki
Revision as of 20:54, 1 April 2024 by Milk (talk | contribs) (→‎Stems)
Jump to navigation Jump to search


General



Tutorials

ellaskins playlists:




Phrase matching

Harmonic matching



Software

Mixxx




--settingsPath PATH



Skins

/usr/share/mixxx/skins/NewSkin


  • https://github.com/timewasternl/Pioneered - Pioneer inspired theme for smaller screen resolutions. It has been designed to 'extend' a MIDI controller. Designed for use with the DDJ-400 with Raspberry Pi standalone mod (link).






  • https://github.com/timewasternl/Pioneered - Pioneer inspired theme for smaller screen resolutions. It has been designed to 'extend' a MIDI controller. Designed for use with the DDJ-400 with Raspberry Pi standalone mod (link).

Controller scripting


[Master]maximize_library




  • mixco - based on the NodeJS JavaScript development environment, a series of factory controller scripts, a framework for creating hardware controller scripts for the amazing Mixxx DJ software. It makes the process easier and faster, and resulting scripts are often more robust, ready to be rock big parties. Mixco comes with a series of factory controller scripts for Novation Twitch, Korg Nanokontrol 2, M-Audio Xponent. They are well documented and their code serves as good tutorial on how to use the framework.






Library helpers


  • https://github.com/TriWitch/mixxx-helpers - Some helper libraries for managing the mixxxx library (the os DJ tool), such as batch playlist import/export, copying the library from one device to another etc.



  • https://github.com/FrankwaP/mixxx-utils - fix_track_paths is a Python tool to fix the tracks paths, using the informations from your music player database. It is usefull when the file has been renamed or if the track is now in another format (for example you wanted a better quality format and went from a mp3 to a flac file). It works with Clementine's database so far, but it won't be hard to add other players' databases. mixxx_to_rekordbox_xml - export your Mixxx library into the Rekorbox XML format and YES IT EXPORTS THE PLAYLISTS, HOT CUES AND BEATGRIDS :-, then you can import the XML file in Rekordbox to prepare a USB key (Rekorbox is free for this use, and can probably run on Wine).


Importing


Exporting





  • https://github.com/faithvoid/MixxxUtilities - m3ustrip removes all folder information from .m3u/.m3u8 files. Useful for carrying your sets (including hotcues, BPM, etc, on a USB if you combine it with the "Write Serato Metadata" function in Mixxx, as importing them without folder data will have the playlist default to the same folder the playlist file is in. My use case for this is I keep all my Mixxx sets in subfolders in a folder labelled "Mixxx" on my USB drive. I'll export my a new set into a new folder in the "Mixxx" set folder, import it into m3ustrip, export the result in the "Mixxx" set folder, and then my set is ready to be imported into another installation of Mixxx on a seperate computer from any directory (either directly from the USB or any folder on the new system)! setlistbackup.py - Generates an .XLS spreadsheet file inside all subfolders the script is run in, which backs up ID3 metadata of artists/songs/albums and genres contained in the subfolder.


Translating



Rekordbox
  • https://github.com/Feelisreal/MIXXX2Rekordbox - small Python script that exports a MIXXX Library (From the SQLite DB) to an XML File that can be imported in Rekordbox. It is intended for Djays that use MIXXX as their main Djaying tool at home and want a quick and simple way to export their Library (including hotcues, Colorcoding, Playlists and Crates) to Pioneer Rekordbox so they can take all their work from MIXXX to the big stage and use it in Clubs and Venues on Pioneer Equipment.


  • https://github.com/kimtore/rex - rekordbox exporter for Mixxx. Open source mixing or library software should be able to create Rekordbox compatible export files, so that they can be played on Pioneer equipment in venues all over the world. This project is my attempt at getting closer to this goal, and leans heavily on the work done by others.



Serato


Playback helpers







  • https://github.com/carlesfelix/2mixxx - allows you to request songs to the DJ (guest user) or moderate song requests (DJ user). This application also allows DJs to have full control over the songs that can be requested by importing their iTunes libraries into the application.




Other helpers





Standalone hardware


  • https://github.com/LorenzoBalducci96/custom-cdj - A raspberry-pi Cdj project realized with the usage of mixxx for the audio software and Arduino Leonardo for input reading. The MIDI protocol is used for the communication between Arduino and the Raspberry.












Development



BpmDj

  • BpmDj - Free DJ tools contains an automatic & accurate BPM counter. Determines sound color, rythm & echo. The player provides measurejumps, persistent cue's and beatgraphs. The program requires multiple dsp's or computers. http://bpmdj.yellowcouch.org/

Data Jockey

  • Data Jockey - largely centered around a database of music and information about this music. The music is provided by the user. The information about the music is gathered from audio file meta data (information from id3 tags), computed through feature extraction techniques, and also provided directly by the user. Numerical data items, usually computed, are referred to as 'descriptors'. Textual data items, usually provided by the user, are referred to as 'tags'. Tags allow users to provide their own organization schemes.


qmake
make

deps:


ncmixer

DJPlay

  • DJPlay - aims to be a high class live DJing application for Linux. old.

olaboola

  • olaboola - cyber-shamanic noise-maker. oolaboola is a digital DJ tool. It allows you to mix .wav files in real-time modifying their rate of play, levels etc. Various facets of its behavior can be controlled via an rc file, environment variables, and command-line options. Settings provided by more than one of those override each other in that same order.

Development died in 2000

CatDeck

DJUCED

  • DJUCED - This advanced, high-performance solution for DJs allows you to mix, remix and host parties with ease. Designed for experienced DJs, DJUCED nonetheless offers an ergonomic interface, performance assistance features and scalable content, ensuring a quick start-up and limitless creativity. DJUCED allows you to perform classic two-deck mixes, or to select a four-deck remix display, dedicated to performance.

Moire


Pioneer / Rekordbox




  • https://github.com/gabek/supbox - 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.


  • https://github.com/grufkork/rkbx_osc - A tiny tool for sending Rekordbox timing information to visualizers etc. over OSC. Currently an MVP, with future functions including sending more information and better UX.



  • https://github.com/rzuppur/rekordfix - Small utility to add workarounds for missing Rekordbox features. Tested and developed on Windows, in theory should work on other platforms as well




  • https://github.com/Deep-Symmetry/beat-link-trigger - An integration environment for DJ performances focused on bridging Pioneer DJ professional equipment to lighting, video, laser, and digital audio workstation software. Created as a way to trigger MIDI events when CDJs start playing tracks, play certain kinds of phrase, reach particular beats, etc., it has grown in many interesting directions thanks to requests from touring artists who wanted to do new and interesting things in their shows. Built using beat-link.





  • https://github.com/flesniak/python-prodj-link - a set of python scripts to participate in a Pioneer ProDJ Link system. It is particularly useful to monitor whats happening on the players, but can also help by syncing other devices using midi clock. The code to detect your own mac and ip addresses is os dependant, but thanks to the netifaces it should also work on platforms other than linux (testing required).

The Qt GUI is useful to perform light shows and react to events in the music.


  • prolink tools - built by a DJ, for DJs. prolink tools is a hand-built collection of tools to hook into real-time performance data to enhance your sets.


  • Cardinia Electronics - converts Pioneer DJ Touch Preview and Link Cue audio signals to work with any mixer, letting you get on with the mix.


  • https://github.com/Holzhaus/rekordcrate - library to parse device exports for the CDJ/XDJ series players (usually exported from the Pioneer Rekordbox DJ software), written in Rust. Note: This library is currently still under heavy development and might have breaking API changes in the future.






Serato


Traktor


Stemgen

  • Stemgen - a Stem file generator. Convert any track into a Stem and have fun with Traktor. A Stem file is an open, multi-channel audio file that contains a track split into four musical elements – bass, drums, vocals, and melody, for example. With each element available independently, you have more control over the music you play. Stemgen uses demucs to separate the 4 stems and ni-stem to create the Stem file.

remote-decks

Vinyl


xwax

  • xwax - an open-source Digital Vinyl System (DVS) for Linux. It allows DJs and turntablists to playback digital audio files (MP3, Ogg Vorbis, FLAC, AAC and more), controlled using a normal pair of turntables via timecoded vinyls. It's designed for both beat mixing and scratch mixing. Needle drops, pitch changes, scratching, spinbacks and rewinds are all supported, and feel just like the audio is pressed onto the vinyl itself. The focus is on an accurate vinyl feel which is efficient, stable and fast.

Digital-Scratch

  • Digital-Scratch - a software that analyzes motions (rotation speed and direction) of a vinyl disc played by a turntable. It also provides a nice and simple player that play your favorite tracks allowing you to mix as you would do it with regular records.

terminatorX

  • terminatorX - realtime audio synthesizer, allows “scratching” on digitally sampled audio data (*.wav, *.au, *.ogg, *.mp3, etc.) the way hiphop-DJs scratch on vinyl records. It features multiple turntables, realtime effects (buit-in as well as LADSPA plugin effects), a sequencer and MIDI interface – all accessible through an easy-to-use gtk+ GUI.

PiDeck

Digital-Scratch

  • Digital-Scratch - vinyl disc emulation software. analyzes motions (rotation speed and direction) of a vinyl disc played by a turntable.It also provides a nice and simple player that play your favorite tracks allowing you to mix as you would do it with regular records.Select a tune on the player and start your turntable.

Stems

  • NI: Stems - a completely new way to DJ. Stems is a new format for music that redefines creative live performance. Create spontaneous edits, a cappellas, instrumentals, and more with your tracks’ musical elements available independently.



  • Stemgem - a Stem file generator. Convert any track into a Stem and have fun with Traktor. A Stem file is an open, multi-channel audio file that contains a track split into four musical elements – bass, drums, vocals, and melody, for example. With each element available independently, you have more control over the music you play. Stemgen uses demucs to separate the 4 stems and ni-stem to create the Stem file.
  • https://github.com/axeldelafosse/stemgen


  • stempeg - a python package to read and write STEM files. Technically, stems are audio containers that combine multiple audio streams and metadata in a single audio file. This makes it ideal to playback multitrack audio, where users can select the audio sub-stream during playback (e.g. supported by VLC). Under the hood, stempeg uses ffmpeg for reading and writing multistream audio, optionally MP4Box is used to create STEM files that are compatible with Native Instruments hardware and software.


  • YouTube: Live Dub Mixes With STEMS - This playlist is a collection of clips taken from DJ sets where I perform live dub remixes playing STEMS files with NI Traktor Pro.





  • MUSDB18 | SigSep - a dataset of 150 full lengths music tracks (~10h duration) of different genres along with their isolated drums, bass, vocals and others stems. musdb18 contains two folders, a folder with a training set: "train", composed of 100 songs, and a folder with a test set: "test", composed of 50 songs. Supervised approaches should be trained on the training set and tested on both sets.
  • https://github.com/sigsep/sigsep-mus-io - The purpose of this tool is to decode and encode the sigsep mus stems dataset. By providing a docker based installation setup, we can make sure that all users deal with the same decoded PCM data and therefore foster reproducible research.

Other

DiscoDOS

  • https://github.com/JOJ0/discodos - command0line tool to help a DJ remember and analyze what they played in their sets, or what they could possibly play in the future. It's based on data pulled from a users Discogs record collection. Tracks can be organized into playlists and mix-transitions rated. Additionally the collection can be linked to the online music information services MusicBrainz and AcousticBrainz, thus further information (like musical key and BPM) is made available to the user.DiscoDOS primarily aims at the Vinyl DJ but features for "Hybrid-Vinyl-Digital-DJs" are planned

MadJACK

  • MadJACK - a MPEG Audio Deck for the Jack Audio Connection Kit with an OSC based control interface. It was written as a backend for DJ music playback and is released under the GPL license.

4deckradio

rekordcrate

FCDJ

  • https://github.com/djpd/FCDJ - script designed to detect pairs of files within a specified music library. It identifies clean and dirty versions of the same track based on user-defined conditions and can optionally remove the identified files. Parallel Processing: Utilizes multi-threading or multi-processing for efficient file processing. Configurable: Easily configurable through a dedicated configuration file (config.cfg). Logging: Provides logging functionality to record operations and results.

playlist-formatter

key-tools

Supported notations: Camelot Key, Open Key, Musical, Musical used by Beatport, Musical used by Essentia streaming extractor

Mobile apps

Speech synth

Hardware


  • https://github.com/LorenzoBalducci96/custom-cdj - A raspberry-pi Cdj project realized with the usage of mixxx for the audio software and Arduino Leonardo for input reading. The MIDI protocol is used for the communication between Arduino and the Raspberry.

SC1000

  • https://github.com/rasteri/SC1000 - portable digital scratch instrument which loads samples and beats from a USB stick. At less than the size of three stacked DVD cases, it’s probably the smallest integrated portablist solution ever. Despite this, the software and hardware have been carefully tuned and optimised, and it’s responsive enough for even the most complex scratch patterns.