Vinyl turntable emulation software
C++ CSS C QMake Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
digitalscratch
libdigitalscratch
tools
windows
.gitignore
.travis.yml
LICENSE.md
README.md

README.md

Digital-Scratch

A vinyl turntable emulation software for DJ

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

In other words: with Digital-Scratch you can mix your digital music track collection with regular vinyl turntables.

Requirements

  • Up to 3 timecoded vinyl disc, (Serato Scratch Live, Final Scratch,...)
  • Up to 3 vinyl turntables and a mixer
  • A GNU/Linux or MS Windows computer
  • A sound card driven by JACK a stereo input/output for each turntable
  • An optionnal external Novation Dicer controller

Software architecture

The core motion detection is done by an SDK built as a shared library: libdigitalscratch. It can be integrated with various kind of controlable software player.

There is also a player which uses the library: digitalscratch. This player is able to play one or two tracks. The playback parameters (speed and direction) could be changed in real time. It also provides a file explorer for music track management.

Software dependencies

libdigitalscratch (motion detection) is based on:

digitalscratch (audio player) is based on:

Install

Ubuntu

sudo add-apt-repository ppa:julien-rosener/digitalscratch
sudo apt-get update
sudo apt-get install digitalscratch

Debian 8 (as root)

apt-get install software-properties-common
wget -qO - http://www.digital-scratch.org/debian/julien.rosener@digital-scratch.org.gpg.key | apt-key add -
add-apt-repository "deb http://www.digital-scratch.org/debian/ stable main"
apt-get update
apt-get install digitalscratch

MS Windows

Go to the download page: http://www.digital-scratch.org/download.html

Build

GNU/Linux

Install build tools (Ubuntu 17.04)

sudo apt-add-repository ppa:julien-rosener/digitalscratch
sudo apt-get update
sudo apt-get install build-essential qt5-default libjack-jackd2-dev libsamplerate0-dev libkeyfinder-dev libavformat-dev libavcodec-dev libavutil-dev qtmultimedia5-dev libqt5multimedia5-plugins libasound2-dev

Install build tools (Debian 8 - Jessie), as root

apt-get install software-properties-common
wget -qO - http://www.digital-scratch.org/debian/julien.rosener@digital-scratch.org.gpg.key | apt-key add -
add-apt-repository "deb http://www.digital-scratch.org/debian/ stable main"
apt-get update
apt-get install build-essential qt5-default libjack-jackd2-dev libsamplerate0-dev libkeyfinder-dev libavformat-dev libavcodec-dev libavutil-dev qtmultimedia5-dev libasound2-dev

Compile and install libdigitalscratch

cd libdigitalscratch
qmake
make
sudo make install

Compile and install digitalscratch player

cd ../digitalscratch
qmake
make
sudo make install

MS Windows

Install build environment

Compile libdigitalscratch and digitalscratch player

  • Start Qt Creator.
  • Load project libdigitalscratch.pro and digitalscratch.pro.
  • For each projects, use the build kit which uses the compiler from Visual Studio 2013 Community.
  • For libdigitalscratch set the output directory to libdigitalscratch\ (Debug and Release build configuration).
  • For digitalscratch set the output directory to digitalscratch\ (Debug and Release build configuration).
  • For both projects (starting from libdigitalscratch), right click on the project name, then "Run qmake", then "Build".

License

Digital-Scratch player and library are released under GNU GPL license.