Skip to content

Release reawarp: audio warping (beat detection, warp, tempo map, groove match, quantize) v1.0.5 - #1764

Open
gabrielschuck wants to merge 3 commits into
ReaTeam:masterfrom
gabrielschuck:reawarp
Open

gabrielschuck wants to merge 3 commits into
ReaTeam:masterfrom
gabrielschuck:reawarp

Conversation

@gabrielschuck

Copy link
Copy Markdown

Hi! This is my first submission to ReaTeam. reawarp is an audio warping script for REAPER, in the spirit of Ableton Live's Warp. It detects the beats of a song, including songs whose tempo drifts or changes, and then:

  • Warp: fits the item to the project tempo (stretch markers on the beats);
  • Tempo map: makes the project follow the song (tempo markers on the beats);
  • Groove Match: makes other items follow the beats of a reference item (contributed by Gianluca Apollaro);
  • Multitrack follower sync: items grouped with the one being warped follow it;
  • Audio quantize via MIDI: moves the attacks of the audio onto the notes of a MIDI item.

It is fully keyboard-accessible: native menus and dialogs only, with results spoken through OSARA. Without OSARA, they are shown in dialogs and tooltips. Messages are in English, Portuguese and Spanish.

Files: the main script is Stretch Markers/GabrielSchuck_reawarp.lua. The other files are in Stretch Markers/GabrielSchuck_reawarp/:

  • actions/: 21 small action files ([main]), one per action, so each can get its own shortcut. Each one only runs the main script.
  • backend/: the Beat This! backend. It has the Python detector script, plus an installer for Windows (.bat) and one for macOS/Linux (.sh).

About the external download (please let me know if this is acceptable): beat detection uses the neural network detector Beat This! (CPJKU, MIT license). The package itself contains no binaries. The first time, reawarp asks the user and then runs the installer. The installer uses uv to download its own Python, the Beat This! package and its model (about 350 MB downloaded, 800 MB on disk; more for the optional NVIDIA GPU version, which is offered only when such a GPU is found). Everything goes inside the script's backend/ folder, and nothing is installed system-wide. It can be removed from the reawarp menu (Uninstall the Beat This! detector). Nothing is downloaded without the user's confirmation.

reawarp is GPL-3.0-or-later. It is also distributed from its own repository, https://github.com/gabrielschuck/reawarp, which has the full documentation and a test suite. I'll keep both in sync.

Thank you for reviewing!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant