Skip to content
/ Scratcher Public

A DJ Scratching Simulator by time-domain interactive GUI editing

License

Notifications You must be signed in to change notification settings

fynv/Scratcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scratcher

Scratcher is a dedicated sound-effect generator simulating the DJ Scratching technique.

The sound-effect is generated by editing 2 curves using the UI provided by the software.

The first curve is a time-map. It controls the back and forth movement of the audio sample being scratched.

The second curve controls the volume of the sound effect.

A control points can be added to a curve by a double-click, and can be edited by dragging. The time-map curve is a Cubic Hermite Spline (C1 continuous). Therefore, a slope value can be set for each control-point in addition to its position, where a value 0 is most common. The volume curve is simpler. It is piecewise linear (C0 continuous).

Optionally, the sound-effect can be mixed with a BGM in real time.

DJ Scratching resources can be found on internet, for example: https://soundsozai.com/dj-scratch-samples/

Binary Releases

https://github.com/fynv/Scratcher/releases/

Building from Source-code

Download Dependencies

  • Qt5

For Windows:

https://www.qt.io/download

For Linux:

Install qt5-default using the system package manager, for example:

$ sudo apt install qt5-default
  • FFMpeg 4.3

For Windows:

A prebuilt package can be found at https://www.gyan.dev/ffmpeg/builds/.

For Linux:

Install ffmpeg and libavformat-dev using the system package manager, for example:

$ sudo add-apt-repository ppa:jonathonf/ffmpeg-4
$ sudo apt update
$ sudo apt install ffmpeg
$ sudo apt install libavformat-dev

Clone the repository

git clone https://github.com/fynv/Scratcher.git

Create a "build" folder and build with CMake

For Windows, the variables "FFMPEG_ROOT" and "QT_ROOT" need to be set according to where the dependencies are installed. For Linux, these are not needed if the dependencies are installed to system locations (/usr/ for example).

After "make install", the binary can be found in the "bin" folder.

License

Scratcher is licensed under GPL 2.0