Code Monkey home page Code Monkey logo

scratcher's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.