https://github.com/fynv/scratcher
A DJ Scratching Simulator by time-domain interactive GUI editing
https://github.com/fynv/scratcher
dj mixer scratch soundeffects turntable vinyl
Last synced: about 1 year ago
JSON representation
A DJ Scratching Simulator by time-domain interactive GUI editing
- Host: GitHub
- URL: https://github.com/fynv/scratcher
- Owner: fynv
- License: gpl-2.0
- Created: 2021-03-14T07:55:05.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-04-03T13:46:51.000Z (about 5 years ago)
- Last Synced: 2025-04-13T03:17:56.765Z (about 1 year ago)
- Topics: dj, mixer, scratch, soundeffects, turntable, vinyl
- Language: C++
- Homepage:
- Size: 390 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Scratcher

Scratcher is a dedicated sound-effect generator simulating the [DJ Scratching](https://en.wikipedia.org/wiki/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/](https://soundsozai.com/dj-scratch-samples/)
## Binary Releases
[https://github.com/fynv/Scratcher/releases/](https://github.com/fynv/Scratcher/releases/)
## Building from Source-code
### Download Dependencies
* Qt5
For Windows:
[https://www.qt.io/download](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/](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](https://github.com/fynv/Scratcher/blob/master/LICENSE)