jrosener / digitalscratch

Vinyl turntable emulation software
http://www.digital-scratch.org
Other
22 stars 3 forks source link

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

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 10 (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 24.04)

sudo apt install build-essential \
  qtmultimedia5-dev libqt5multimedia5-plugins qtbase5-dev qtbase5-dev-tools \
  libjack-jackd2-dev libasound2-dev \
  libsamplerate0-dev \
  libfftw3-dev cmake \
  libavformat-dev libavcodec-dev libavutil-dev libswresample-dev

Install build tools (Debian 10), 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 git \
  qt5-default qtmultimedia5-dev \
  libjack-jackd2-dev libasound2-dev \
  libsamplerate0-dev \
  libkeyfinder-dev \
  libavformat-dev libavcodec-dev libavutil-dev libswresample-dev

Compile and install libkeyfinder

git clone https://github.com/mixxxdj/libkeyfinder.git
cd libkeyfinder
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -S . -B build
cmake --build build
sudo cmake --install build

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 (not supported anymore)

Install build environment

Compile libdigitalscratch and digitalscratch player

License

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