DigiChain - web app for making sample chains

Yep, those two file format additions are in prep for the audio recording that will be in 1.5 - 1.4 is likely going to become main tomorrow evening.

1 Like

I know I have some random phone recordings that I havenā€™t quite found a way to work with because theyā€™re m4a format so this strikes me as a particularly clever add.

1 Like

FWIW m4a opens with no issues on my iPad 16.4.1 including in the Files app, AudioShare and Koala. What OS are you on?

Is it possible to add aiff import to DigiChain? Thatā€™s one format I have the most issues with importing on my iPad. Which is weird because that used to be ā€œtheā€ Apple audio format. Thanks

1 Like

I donā€™t use any apple product.

Latest will currently only import aif files if they contain the OP-1/OP-1 Field/OP-Z metadata, I had to write the file parser for that as itā€™s not natively provided by the web audio API, so, it only supports decoding 44.1khz 16bit mono or stereo aif files. I could open that up a little to read files of that spec without the TE metadata, but there are many variations of the file spec depending on what software created them, which is why itā€™s currently so narrow on the support.

1 Like

Iā€™ve been using apple products so long I forgot there were others! :laughing:

3 Likes

If itā€™s a hassle donā€™t bother. Iā€™d always prefer to see developers work on stability and broadly useful features than some relatively obscure edge case! :+1:t3:

1 Like

Iā€™m sure others might find it useful too, but I think the majority of samples are in wav format, even on Apple. Broadening the import support is on my road map list already, but it wonā€™t ever export to aif other than the current 44.1/16 Teenage Engineering aif file exports.

1 Like

I literally just gave the app a spin, and my workflow was TR-8S into Ableton on macOS via usb, recording a live audio clip and then dragging that clip from Live onto the desktop or somewhere similar. This creates an aif file, which I tried to drag into Digichain. To no avail of course, and I quickly figured out to run a ffmpeg script to transcode the audio.
Being able to drag from Live to file system to Digichain would be super fast though, so thatā€™s a use case that could be valuable to Mac Live users

1 Like

Does live on mac let you set the default file format to wav instead of aiff? It does on Windows, and itā€™s the first thing I change on a fresh install as I use several other daws more than Live.

1 Like

another quick feature request: 2x/+12 pitch all selected. when pitching a complete chain 2x/+12 (regardless of which app you use), DT messes up slicing. imo as a result of the ā€œroundingā€, bits of the next sample bleed into the previous sample. (this is not specific to DT ofc, even OT autoslice does this) i feel like proper way to battle this would be to pitch samples up before creating the chain.

main idea behind this request: saving space on the ridicilously small +drive. some chords and stabs sound okay-ish if theyā€™re sampled 2x/+12 and then pitched down an octave on device. essentially weā€™re downsampling to 24kHz but it works well for that ā€œoldschoolā€ mpc house vibe! and some ā€œfakeā€ high end can be introduced using subtle bitcrush, which adds up to the vibe :sweat_smile:

1 Like

Just checked and of course it does :slight_smile:
Thanks for pointing that out, and apologies for not doing obvious research in advance of posting here.
Thanks again for sharing your app here with the rest of us. It is amazing work.

1 Like

No worries - I appreciate that mac/iOS users would like aif files fully supported, but its quite a chore as they are not supported at all on any other browser. What I was able to do early this morning before I started work, is expand the 16bit aif parsing to allow any 16bit file to be processed, so if your aif files are 16bit then at least they could be imported - the aif parsing is geared towards supporting the Teenage Engineering devices, so weird chunks, encodings may fail to parse or render as garbage/noise.

1 Like

v1.4.0 has been pushed to main :partying_face:

And is the largest update so far with all the OP-1 Field and Octatrack goodies live. Iā€™m working on some short videos to cover specific use-cases as thereā€™s a lot that can be done now beyond just creating Digitakt sample chains.

  • Workflow to support reading slices from and creating chains for the Teenage Engineering OP-1 Field / OP-Z

    • OP-1 / OP-1 Field / OP-Z aif file imports, mono and stereo.
    • Slice from OP-1 / OP-1 Field / OP-Z drum-kit aif files.
    • OP-1 Field and OP-Z drum kit and single file exports with the aif 44.1/16 mono/stereo options.
    • OP-1 Field L/R A/B toggle and value setting from the list when in 44.1/16 Stereo Aif context. (double-click to toggle).
    • Slice from tape.json (OP-1 Field tape file slice markers) in the slice panel.
    • Merge All Selected action - mixes down all the selected items into one sample (enables creating files with different samples on the L/R for use with OP-1 Fieldā€™s A/B drum kit option.
  • Automatic creation of Octatrack .ot meta files in 44.1 16/24 stereo non-aif audio contexts. (toggle in settings).

  • Audio editor panel overhaul.

    • Added 1x, 2x, 4x zoom levels for the waveform.
    • Added loop playback button to editor panel.
    • Fade in/out/silence tools.
  • UI Improvements

    • Added playback indicator icon and play-head marker to waveforms in the list view.
    • Shift+Click on the row sample select box will select all the samples in-between (inclusive of the highlighted and the clicked sample). Ctrl+Shift+Click will de-select.
    • Shift+Click Column Header : Sorts the list, but will keep the selected items grouped to the top of the list.
    • Shift+Click Reset Button : Randomizes the order of the list.
    • Numeric keys 1 - 0 play the first 10 selected samples from the list.
    • Alt + numeric key / P key stops the playback and looping of that single sample.
    • Showing the sample name from DC slice data in title of slices on slice panel.
    • Double-click to remove a slice before processing slices on the slice panel.
    • Ctrl+Click the slice sample row icon to clear any related sample slice data.
    • E key opens the edit panel for the currently highlighted sample. Shift+E opens the editor panel for the currently highlighted sample, with the file name and path inputs editable, and the filename input keyboard focused.
    • Basic note detection from filename for sorting the list.
    • Reworked layout for better rendering on smaller screen devices.
    • Added a light theme for users who donā€™t like dark themes, toggled in the settings panel (first launch will set from the devices system color preference).
    • Custom filenames panel, add a list of custom filenames to use - once all names have been used, DigiChain will fall back to the default naming convention.
  • Settings on the settings panel are saved to local-storage and will persist when the app re-opens.

    • Allow disabling slice embed in settings.
    • Option to play pop-markers at the start and end of the sample for direct sampling to the Digitakt audio inputs. Two options, 0db markers (which prevents the DTā€™s auto normalization from changing the recorded sample volume), and peak, which sets the pop-marker volumes to match the loudest peak in the sample.
    • Show/hide touch modifier buttons in options panel.
    • Restore last used sample rate/bit depth/channel selection in options.
    • Option to normalize text/waveform color contrast in the settings panel.
  • DC slice format embedded in output chain wav file so user can restore the chains to slices retaining the input filename.

  • Support for importing webm and m4a audio files.

  • Added ā€˜Difference (Side)ā€™ stereo -> mono processing option.

  • Trim All Selected action.

  • Reverse All Selected action.

  • Normalize All Selected action.

  • Pitch Up by an Octave All Selected action.

  • Enabled 32bit float wav exports.

  • Allow importing of 16bit aif files (parser written to accomodate importing from TE devices, but should be ok on other exported aif files, testing with Ableton Live exports and worked as expected, ymmv).

  • Split chained files at 12s (mono) or 20s (stereo) lengths mode. Sample order will loosely follow the list order, but it will try to fit smaller samples into the chain up to the max limit from further down the selected items in the list, so some samples may be out of order depending on their length and where they could be slotted into each chain to use up the time in the best way possible.

  • Removing arraybuffers before removal of files to help free memory usage sooner.

  • Ctrl+Click on the max length per chain in seconds to set a custom limit.

  • Bugfixes

    • Fixed bug where file path changes were not persisted.
    • Prevent pitch-up crashing when doubling a very small audio buffer.
    • Checking for suspended audio-context and resuming if suspended before playback.
    • Checking audio context state before importing files, resuming if possible.
    • Fixed bug where joining chains together with single additional sample between caused the slice offsets to be incorrect.
    • Removing multiple and sorts will stop sample playback (audioCtx caused pops when in these situations previously).
    • Fixed bug where a non-standard wav file PAD chunk caused a page crash.
    • Adding a _n char/number to the end of duplicated files name (as exporting to zip overwrites same filename files).
      Importing the same file will also increment the filename.
    • Fixed bug where resampling a new chain with a global pitch modifier and embed slices disabled would cause the new pitched audio buffer to fail rendering.
    • Fixed bug in the reading of AIFC aif files.
    • Donā€™t mute samples when toggling selection.
15 Likes

The pitch up all selected by an octave action was added, hopefully that works out for the pitching up before creating a chain :slight_smile:

The actions have been moved around slightly into a drop-down menu - to avoid accidental presses, and to display more than 3 letters on the buttons.

image

4 Likes

thanks very much!

1 Like

Thank you! Very nice! :+1:t3:

1 Like

If you do throw non-16bit aif files at it, it also wonā€™t hang in 1.4, instead youā€™ll see a message fly by telling you the file is being skipped.

image

1 Like

i have one more feature request. i have no idea if it would be useful for everyone but itā€™s something that may make life a bit easier for most, especially to optimize various sample packs to save as much space as possible: cut/trim all selected to X seconds. this may be useful to trim one shots/chords of various sample packs that vary wildly in length.

again, this may be a highly subjective matter but just as an example, i personally donā€™t usually need 3+ seconds long samples and i donā€™t really care about a proper ā€œfade outā€ since it can be handled simply with ADR. itā€™s a real PITA to go through hundreds of samples just to shorten them so they take the least amount of space on the DTā€™s +Drive :sweat_smile:

2 Likes