feat(plugin): Pitch Shift #3291
No reviewers
Labels
No labels
awaiting-reply
breaking changes
bug
cannot-reproduce
dependencies
documentation
duplicate
electron-issue
enhancement
fix-available
good first issue
help wanted
invalid
javascript
need more information
need rebase
official-youtube-music-issue
plugin request
question
release
security
stale
Status: blocked
typo
wontfix
ytmd-issue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: YTMD/youtube-music#3291
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "kimjammer/pitch-shift"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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:
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.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 💀. 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!
How can i easily download and install it right now? And will it work on the current version v3.9.0 ?
@Glebsin This PR was last updated just after 3.9.0 released, so if you go to this branch on my fork, download, and build the project you could use it right now. But if you're not already a developer this is not worth the hassle of doing imo. So probably just wait until this is merged... eventually.
Since Rubberband uses GPL 2.0, we cannot merge this PR. Please use another library
For tracking purposes, all libraries that have been tested/attempted in order of quality:
The library has been switched to use SoundTouchJS, which has slightly inferior audio quality but is "good enough". SoundTouch is LGPL, but I believe that this usage follows the spirit of LGPL, as youtube-music connects with SoundTouch as a library and no modifications to the SoundTouch code have been made. If this is still a problem, you could theoretically just download the worker file from a web url at first launch or fetch the file from a web url every time to follow the letter of the license.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.