I’m really enjoying this, thanks a lot Brian!!!
How can I run this without an internet connection? I downloaded the project from github and adding samples does nothing. Is there a file missing somewhere? This is what I have, to which I added main.min.js
, since it showed up in the Firefox inspector:
CNAME
LICENSE
changelog.md
index.html
keyboard-shortcuts.md
lib.css
main.css
main.js
package.json
resources.js
I’m guessing it must be open this one in a browser ? Can’t see it being anything else.
Of course I tried that. The interface loads, but it doesn’t work.
It needs to be served by a web server (online or locally installed on your computer) to be able to access the web filesystem api. So you will need to set that up to run it locally, you can probably download VSCode, then open it as a project and serve with its builtin developer web server?
May I ask why you’d prefer to run locally?
Also, master branch may be broken at any point while I’m working on stuff, best to grab from the release downloads on GitHub to get the code base at a point where it’s working as expected.
On my to-do list is adding the requirements to be a progressive web app, so it will continue to load in the browser even if offline.
Another update on development - it’s been a busy few days with family and work, so I’ve not had as much time to work on it as I had planned, but progress has been made on a few things, more UI changes, plus some basic per-sample editing.
And pitched up exports for the joined sample chain files
The UI changes are cleanup, plus the indicator of where a chain ends based on the selections in the list (the green line on the bottom of a row)
I still want to add several more things, and I have a few small bugs to squash before this goes live - but it should be up way before the weekend.
Thanks!
Unreal. Thx so much for this
This is sooo useful. Thank you!
Dev update::
As I had done the pitching up/down of joined file exports, and it is similar code - I added half-speed and double-speed destructive edits per sample to the edit panel.

I also had a stab at transient detection on the per sample slice panel - I’ve limited it to operating on samples of under ~128 seconds (based on a buffer length, but it’s about 128s in mono) as its an FFT operation, it’s compute intensive and gets sluggish when there are too many chunks to compare, so on those longer samples, the button is removed from the UI).
And lastly, I added zip file exports, so if you are downloading all the samples in the list (e.g. using this to convert from the input to the chosen sample rate/bit depth), all the files selected will be packed into one zip file for download rather than getting x number of download pop-ups.
Zip files will be the default for multi-file and joined file(s) downloads, but that can be toggled in the settings panel.
I have 3 more items on my to-do list for the 1.3 version before it goes live, which will probably be tomorrow (if I don’t find any other bugs to fix!), as I’m taking the kids to watch the new Mario movie after school today.
This is amazing! Somebody tap Mr Tinez on the shoulder
Think out loud: I wonder if leaving the button there but disabling with a message (‘File too long !!’) might be better ? Not sure TBH
can this be used to pitch up a bunch of samples for use in the model samples?
Hey, yes - it sure can! Here’s a demo with the free Bonus_Level soundpack from the Elektron support page.
When master repitch is turned on, all file export operations are affected, so even clicking on a single file name in the list to download, will get the new pitch value, as do the ‘download all’ files.
And with the added default export to zip file, your input folder structure will be retained in the output file
This also helps if you want to do batch conversion for the OT, set the context to 44.1 (16 or 24) stereo and all the files will come out in 44.1 at the chosen bit depth (mono files will stay mono though unless it has been resampled in a stereo context).
this is the business. I’ll have to try this when I get a chance, was just thinking I wanted to lo-fi some existing samples. man I missed a lot here, again great work man
I haven’t rolled out 1.3 yet - still a few things to get in there before it goes live, but its real close!
This is just amazing.
I’ve just pushed out v1.3 - and there’s quite a lot in this one…
Changes
- Importing of folders - recursive search for wav/syx files (be careful with filesize/depth of folders with this!).
- OT slices import from accompanying .ot file.
- Show source folder path on list, filenames will now include this path in their name if present - joined files with have the path of the first item in the chain in its name.
- Moved the UI around again, added the ability to hide the top buttons panel (which are now fixed).
- Multi-file/joined downloads will now be downloaded as a single zip file (can be put back to multi-single file prompts in the settings panel).
- Grid-view mode for those who dislike tables. (Shift+G)
- Swapped Shift/Ctrl coloring, added css transition on toggle.
- Added slice-count to end of chain filenames.
- Changed ‘sort by selected icon’ to a text value.
- Added sort by slice# to make building mega-break chains easier.
- Indicator on row/grid of end of joined chain based on slice-grid selection.
- Waveform and slice marker visual preview before slicing a file from the list into new samples.
- Basic transient detection on the slice grid panel (for samples less than ~128 seconds).
- Edit panel with file name/path editing, waveform view, play/stop controls.
- Normalize, trim right, reverse, half-speed, and double-speed (destructive) sample edit operations.
- Allow dropping of wav url links to be fetched (works with domains that allow CORS).
- Export settings panel with pitch up export setting (1, 2, or 3 octaves) and the zip file on/off toggle.
- Added offline support and install as app from the browser.
Updated Keyboard Shortcuts
- Up / Down Arrow Keys: when a sample row is highlighted, this changes the highlighted sample.
- P : plays the currently highlighted sample in the list.
- I : inverts the selected items in the list.
- Escape : closes any open dialog windows and stops all sample playback.
- Enter / Return : toggles the selection of the currently highlighted sample in the list.
- L / S / R : changes the channel for stereo files being processed to mono.
Shift + Click / Shift + Key
- Up / Down Keys : moves the highlighted sample up or down in the list.
- P : plays the currently highlighted sample looped.
- Waveform View : plays the sample looped, click again to go back to one-shot.
- Slice Grid Number & Off Buttons : changes the slice grid size, but keeps the selected samples in the list.
- Duplicate Icon : puts the duplicated file at the end of the sample list.
- Move Up Icon : moves directly to the top of the sample list.
- Move Down Icon : moved directly to the end of the sample list.
- L S R Options : sets all stereo samples method for mono conversion (take left, right, or sum to mono).
- Download All : processed files will be have the imported folder structure flattened into their file names (all files will be at the root level of the zip file).
- Joined / Joined Spaced : audio will be resampled internally back to the list instead of prompting to save as a file (clicking the filename in the list will still allow the wav download).
- H : Toggles showing/hiding the top buttons panel, to give more space for the grid.
- Slice Sample Options: Will put the slices in the list directly below the source sample.
- G : Toggles grid-view/list-view (grid-view is now the default for narrow screen width devices like phones).
Ctrl + Click
- Slice Grid Number Buttons : prompts to enter a custom value for the slice grid.
- Slice Grid Off Button : restores the default slice grid options.