flecs icon indicating copy to clipboard operation
flecs copied to clipboard

feat(plugin): Pitch Shift

Open kimjammer opened this issue 8 months ago • 0 comments

Pitch Shift

Implements shifting the pitch of the current song, like the Transpose extension.

I did what I could with my limited experience in this codebase, and the plugin is technically complete. But...

Help Wanted:

  1. Better UI: Currently the slider is implemented like playback-speed, but it would probably be beneficial to have a bigger slider since it's kinda hard right now to go up/down 1 semitone.
  2. ~~Cent-wise control: Currently you can make sub-semitone changes with the scroll wheel that moves in increments of 0.01, but you might want that to move in units of cents instead.~~ Probably not needed.
  3. Unified audio pipeline control: As currently implemented, you probably cannot have pitch-shift and the equalizer #2831 active at the same time (cuz I stole code from that pr).
  4. Per-song memory of pitch adjustment.

Related: #2005 #2186 #3168

Off-topic: This took me waaaaay too long to implement, because I just could not find a good library for this until I used chatgpt deep research to find this port of rubberband with 33 weekly downloads :skull:. And then it took me another eternity trying to get the renderer to load the script locally and not from the internet. But it's done and it works!

kimjammer avatar Apr 26 '25 04:04 kimjammer