Add an SFZ Builder, target architecture, and CI - #13
Merged
Merged
Conversation
rreichenbach
approved these changes
Sep 17, 2026
rreichenbach
left a comment
Collaborator
There was a problem hiding this comment.
Cool stuff. Can't justify reviewing the actual code, but looks like it should be safe to merge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR does a lot, so appreciate your patience. Three things:
SFZ builder
Built to create sampler banks for pads, which are generally wired as contiguous blocks of MIDI notes. Allows drag-and-drop from the device's audio files / audio files on an inserted USB. SFZ banks are saved in the appropriate device folder (File Manager), with samples copied in so that banks can be shared by simply copying the whole folder.
Uses sane SFZ defaults (one shot / unity gain / no time shifting), which probably needs some tweaking.
Target architecture
Purely vibe-coded rules to try to make it easier to build self-contained "apps" with modern Javascript. The implicit decision here is that we're not trying to upstream our changes, which I think is worth a conversation to make sure we're on the same page.