Home Forums The DJ Booth Principia DJ Musica

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #2575761
    Russell Armstrong
    Participant

    # Summary

    What follows is a specification for a system that allows digital DJs to port their digital music between file formats and computer operating systems without loss of sound quality or meta-data. Where possible the system uses formats and software that is open source, free (as in beer) and portable between Windows, Mac and Linux.

    # Background

    The source of a DJs music can be Analogue (such as vinyl or cassette) or Digital (such as CDs or digital files stored on an electronic device).

    DJ’ing using digital music files played through a variety of devices is now widely accepted and even the defacto method for Digital DJs to play music.

    There are a number of platforms (Pioneer DJ, Denon DJ, Serato, Traktor etc) with which a Digital DJ can play music and there are a number of digital music formats that are supported. Each format has it’s own advantages and disadvantages.

    As technology advances and computing power increases older digital music formats will become obsolete. Therefore digital DJs need a system where they can be sure that their music is portable to the technology of tomorrow.

    # Motivation

    I’ve stored my digital music as mp3 files for nearly as long as the format has been around (23 years if you are counting). As storage (hard disk, sd card etc) has become cheaper and larger I’ve migrated from small, low quality mp3 files (128kbps) in the early days to larger, higher quality mp3 files (320kbps) more recently.

    Mp3 is a lossy format. The sound information and quality that was ditched by the mp3 encoding software to reduce the file size can’t be retrieved (it’s a law of physics). Re-encoding mp3 files into higher quality mp3 files or more recent digital formats will degrade the music quality even further.

    I’ve been using Traktor Pro to play mp3 files managed by iTunes for a few years now. I would like to convert to a lossy file format of my choice but even though Traktor will play the format, iTunes doesn’t support it.

    The new (and shiny) digital media DJ equipment from Pioneer DJ and Denon DJ that can play without a laptop has got me thinking (and wanting). This equipment uses its own music library management software meaning that I can cut loose from iTunes.

    So gradually I am replacing my mp3 DJ music library with lossless digital music files. Planning this in a systematic way means that in 10 years time when Kenwood DJ launches the 2.0GTi decks and mixer that I can almost guarantee I can convert my library to the mp13 file format. It will also be possible to transfer digital music files between Mac, Windows and Linux.

    # Intent

    To maintain an archive of music and album art files that can be easily converted between formats without loss of quality or meta-data. The archive will include music and album art files. The music files must be in a lossless and open format so as to give the best chance of being able to convert to another format in years to come. The lossless format must be capable of storing meta-data to include:

    * track title
    * track artist
    * featured artist
    * remix
    * genre
    * b.p.m.
    * Camelot key
    * year of release
    * album art
    * proprietary DJ software meta-data:
    * beat grid
    * hot cues
    * loops
    * gain

    The album art files will be of a lossy and commonly adopted format.

    The meta-data should mirror the filename and vice-versa (with the exception of the DJ software meta-data) such that one could be recoverable from the other if it where corrupted.

    The archive is to be used by transcoding software to produce a library of digital music files in a given format that will play on the chosen DJ Software and is compatible with the chosen library management software.

    # The Archive

    This is the long term digital sound file storage format.

    ## Location

    music: /music/dj/archive/
    albumart: /music/dj/archive/albumart/

    ## File Format

    music files: flac
    album art: jpg

    ## Filename format

    %tracktitle% [feat. %featuredartist%] [(%remix%)] – %artist% – %genre% – %bpm%bpm – %camelotkey% – %yearofrelease%.%fileextension%

    where:
    * parameters are surrounded by % (percentage sign)
    * text and parameters surrounded by [] (square brackets) are optional
    * %tracktitle%: full track title with first letter of each word capitalized
    * %featuredartist%: featured artist with first letter of each word capitalized (optional parameter)
    * %remix%: name of the remix enclosed in parenthesis with first letter of each word capitalized (optional parameter)
    * %artist%: track artist excluding featured artists and remixers with first letter of each word capitalized
    * %genre%: name of the music genre with first letter of each word capitalized
    * %bpm%: beats per minute rounded to 1 decimal place
    * %camelotkey%: Camelot key in lower case and padded with 0 (if necessary) to produce a 3 character string e.g. 01a
    * %yearofrelease%: 4 digit year
    * %fileextension%: commonly accepted extension for the file format in lowercase
    * the values of each parameters must exclude the following characters ” * / : < > ? \ | + , . ; = [ ] to ensure portability between Windows, Mac and Linux filesystems

    example:
    * Shine On feat. Biti (12 Inch Remix) – Degree of Motion – House – 124.5bpm – 04a – 1998.flac

    ## Notes
    It is important that the Camelot key or Musical Key is tagged in the archive file and filename, therefore the key detection software must support the flac format. Key detection must also be done as a separate process before importing the files into the DJ software for DJ library management software.

    # The Library

    These are the music files that the DJ controller / software catalogs and plays.

    ## Location

    music: /music/dj/library

    ## File format

    music: whatever is compatible

    ## Filename format

    %tracktitle% [feat. %featuredartist%] [(%remix%)] – %artist% – %genre% – %bpm%bpm – %camelotkey% – %yearofrelease%.%fileextension%

    where:
    * parameters are surrounded by % (percentage sign)
    * text and parameters surrounded by [] (square brackets) are optional
    * %tracktitle%: full track title with first letter of each word capitalized
    * %featuredartist%: featured artist with first letter of each word capitalized (optional parameter)
    * %remix%: name of the remix enclosed in parenthesis with first letter of each word capitalized (optional parameter)
    * %artist%: track artist excluding featured artists and remixers with first letter of each word capitalized
    * %genre%: name of the music genre with first letter of each word capitalized
    * %bpm%: beats per minute rounded to 1 decimal place
    * %camelotkey%: Camelot key in lower case and padded with 0 (if necessary) to produce a 3 character string e.g. 01a
    * %yearofrelease%: 4 digit year
    * %fileextension%: commonly accepted extension for the file format in lowercase
    * the values of each parameters must exclude the following characters ” * / : < > ? \ | + , . ; = [ ] to ensure portability between Windows, Mac and Linux filesystems

    # Software

    ## Tagging
    * mp3tag – free and powerful tagging software available for Windows only but will run on Mac using wine (http://www.mp3tag.de/en/mac-osx.html). Powerful “actions” allow you to capitalise tags and pad the camelot key with a 0 if needed. Can rename a file from tags or populate tags from the filename. Supports album art. (http://www.mp3tag.de/en/index.html)
    * puddletag – free and powerful tagging software available for Linux. Functionally the same as mp3tag. (http://docs.puddletag.net/#)

    ## Encoding / Transcoding
    * dbPoweramp – Purchase for Mac and Windows. Simple and fast conversion utility that converts as many files in parallel as you have cpu cores in you system (https://www.dbpoweramp.com/)
    * flac – Free commandline tool for encoding on Windows, Mac or Linux. GUI frontends are available (https://xiph.org/flac/download.html)

    ## Key Detection
    It’s important to note that the archive files must contain harmonic key information to preserve as much meta-data through any transcoding. Therefore the key detection software built into DJ software or Library Management Software probably won’t do.

    * Mixed in Key – Purchase for Mac and Windows. Probably need no introduction. (https://mixedinkey.com/)
    * Key Finder – Free and open source software for Mac (http://www.ibrahimshaath.co.uk/keyfinder/)

    #2575771
    Russell Armstrong
    Participant

    I wrote a lot of this guide for me as a reference as I go through the process of replacing and adding to my library. Maybe it will help someone else. It is work in progress so if you spot any errors, typos or you have any comments please reply to this post.

    I use Windows and Linux so I’m a bit sketchy on MacOS so if you have any recommendations for software please do share.

    Regards
    Russell

    #2575831
    Russell Armstrong
    Participant

    # Backup
    The main aim of Principia DJ Musica is to provide an archive of digital music that persists for many years, therefore it is critical to have a backup process in place. The backup process should be automatic and follow the 3-2-1 backup rule. That is:
    * 3 copies of the data are maintained
    * 2 copies are stored on different media
    * 1 backup copy is kept off-site
    One way to achieve this is to have a full copy of the archive and library on a laptop, a full copy of the archive and library on a NAS device on the local network and full copy of the archive and library backed up to a cloud storage provider. It must be setup so that changes to files on either the laptop or the NAS device are automatically sync’d to the other (a 2-way sync). The archive and library on the NAS device is then continuously backed up to a cloud storage provider via the internet.

    My system consists of a laptop and a NAS device on my local network that is always on. I use Resilio Sync (https://www.resilio.com/individuals/?utm_source=navbar&utm_medium=synchome) to automatically do a 2 way sync between the laptop and NAS. Resilio Sync is awesome software and is available for number of different operating systems and as plugins for a number different NAS devices including Synology, QNap and Drobo. I then have Crashplan (https://www.crashplan.com/en-us/) running on my NAS device which continuously backs-up to the Crashplan cloud storage servers.

    As a bonus feature I can use my desktop computer to access my music archive and library on the NAS share and do cpu intensive things such as key & bpm detection and format transcoding much faster than on my laptop. These changes are then automatically sync’d back to my laptop by Resilio Sync the next time it is connected to my local network.

Viewing 3 posts - 1 through 3 (of 3 total)
  • The forum ‘The DJ Booth’ is closed to new topics and replies.