{"id":18416834,"url":"https://github.com/fynv/scratcher","last_synced_at":"2025-04-13T03:17:59.629Z","repository":{"id":87820205,"uuid":"347576507","full_name":"fynv/Scratcher","owner":"fynv","description":"A DJ Scratching Simulator by time-domain interactive GUI editing","archived":false,"fork":false,"pushed_at":"2021-04-03T13:46:51.000Z","size":399,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T03:17:56.765Z","etag":null,"topics":["dj","mixer","scratch","soundeffects","turntable","vinyl"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fynv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-14T07:55:05.000Z","updated_at":"2022-06-29T00:35:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"4eaaa350-21f6-4772-bc5c-3ca086681491","html_url":"https://github.com/fynv/Scratcher","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fynv%2FScratcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fynv%2FScratcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fynv%2FScratcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fynv%2FScratcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fynv","download_url":"https://codeload.github.com/fynv/Scratcher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657909,"owners_count":21140846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dj","mixer","scratch","soundeffects","turntable","vinyl"],"created_at":"2024-11-06T04:07:30.113Z","updated_at":"2025-04-13T03:17:59.623Z","avatar_url":"https://github.com/fynv.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scratcher\n\n\u003cimg src=\"doc/UI.png\"\u003e\n\nScratcher is a dedicated sound-effect generator simulating the [DJ Scratching](https://en.wikipedia.org/wiki/Scratching) technique.\n\nThe sound-effect is generated by editing 2 curves using the UI provided by the software.\n\nThe first curve is a time-map. It controls the back and forth movement of the audio sample being scratched. \n\nThe second curve controls the volume of the sound effect.\n\nA 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).\n\nOptionally, the sound-effect can be mixed with a BGM in real time.\n\nDJ Scratching resources can be found on internet, for example:\n[https://soundsozai.com/dj-scratch-samples/](https://soundsozai.com/dj-scratch-samples/)\n\n\n## Binary Releases\n\n[https://github.com/fynv/Scratcher/releases/](https://github.com/fynv/Scratcher/releases/)\n\n## Building from Source-code\n\n### Download Dependencies\n\n* Qt5\n\nFor Windows:\n\n[https://www.qt.io/download](https://www.qt.io/download)\n\nFor Linux:\n\nInstall qt5-default using the system package manager, for example:\n\n```\n$ sudo apt install qt5-default\n```\n\n* FFMpeg 4.3\n\nFor Windows:\n\nA prebuilt package can be found at [https://www.gyan.dev/ffmpeg/builds/](https://www.gyan.dev/ffmpeg/builds/).\n\nFor Linux:\n\nInstall ffmpeg and libavformat-dev using the system package manager, for example:\n```\n$ sudo add-apt-repository ppa:jonathonf/ffmpeg-4\n$ sudo apt update\n$ sudo apt install ffmpeg\n$ sudo apt install libavformat-dev\n```\n\n### Clone the repository\n```\ngit clone https://github.com/fynv/Scratcher.git\n```\n\n### Create a \"build\" folder and build with CMake\n\nFor 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).\n\nAfter \"make install\", the binary can be found in the \"bin\" folder.\n\n## License\n\nScratcher is licensed under [GPL 2.0](https://github.com/fynv/Scratcher/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffynv%2Fscratcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffynv%2Fscratcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffynv%2Fscratcher/lists"}