DigiChain - web app for making sample chains

hi, new user here. Is there any User guide available? Thanks

Already mentioned earlier in this thread:

2 Likes

Thank you so much :slight_smile:

1 Like

I do plan to add some more detailed info on usage (and a few additional features), but I’ve had a busy month with work and family stuff. Just post here if you get stuck with anything and I’ll do my best to answer :slightly_smiling_face:

1 Like

Hello Brian :slight_smile: What a great web app you have created :slight_smile: Thank you so much. I got Digitakt in mind using this app with it. There is one feature that is really helpful for drum breakbeats in the sampler that is omitted by Elektron and I don’t know why. It’s the ping-pong looping of the playback mode(The sample plays forward and after the end, it plays back reverse of the sample). This is great for playing chopped breakbeats as you can extend the natural reverb of hits etc. Is there a chance you could add a feature where you can export a chain of slices and digichainer would create a chain that has reversed copy of the slice/sample added after the normal(forward) sample? This way digitakt could use the forward playback mode to play the “saved/baked in ping-pong version” of samples. I hope that makes sense. I could explain further if needed. This technique is used in jungle/dnb but can be super creative in general. Thank you in advance :slight_smile:

3 Likes

There is no one-click auto way to do this at the moment - but it can be done pretty quickly with the features already present.

For both examples, make sure the audio export context is set to ‘48K/16Bit Mono’ in the dropdown audio options.

Example 1

  • Load the samples, then for each one, duplicate with the duplicate icon on the action icons at the end of each row.
  • on the duplicate sample, click the pencil icon to show the edit panel and click the reverse button.
  • if the chain length is set to 64, this would give you 32 ping-ponged slices, if you needed 64, Ctrl+Click on one of the grid size selection buttons to set a custom value of 128.
  • Click the ‘1 Spaced Chain’ download link button.

Example 2

  • Load the samples, to build a chain as a normal 32/64 length chain.
  • Shift+Click the ‘1 Chain’ download button. (This will put the unspaced chain at the top of the list).
  • Remove all the samples from the list other than the chain (a quick way of doing this is to click OFF button, then toggle the selection of the chained sample we just made, then press the ’ i ’ key on the keyboard to invert the selection, then the ‘remove selected’ button).
  • Duplicate the chained sample in the list.
  • On the duplicate, click the pencil icon then click reverse.
  • On each, click the slice icon, then the button that has ‘DC’ in red text in the top right corner, and slice the chain back to samples.
  • Remove the top two chain samples.
  • On the filename/download header - click the ’ slice #’ text to sort by slice number.
  • All the slices will be grouped by their slice number ready to join as ping-pong samples.
  • Click the ‘1 spaced chain’ download button to download the ping-ponged sample chain ready for use on the Digitakt.

While example 2 has more steps, the workflow is way quicker!

1 Like

Incredible work - thank you so much

1 Like

nice. Thank you for the breakdown of the methods, that’s really helpful. Any chance of adding the DUPLICATE function to “selected actions” so that we could do multiple dupes at once? in the same manner, a group “SLICE” function applicable to selected samples would be super:) Cheers!

Adding duplicate to the selected actions is something I could look at - the only concern I have is if users are trying to duplicate large numbers of selected loaded samples. As the slice has many option and requires user input, that isn’t something I can put up on the actions list.

I would likely add a ping-pong option to the selected actions list over a duplicate, as the selected actions work upon the sample list rather than directly modifying it.

1 Like

So for example the Selected actions could include : PING-PONG and/or DUPE. this would be mega :smiley:

I have tried the above method 2 but the slices numbers would have to be matched the opposite way (i.e 1/16 to 16/16) to form full matching pingpong sample…

Take a look at latest https://digichain.brianbar.net/latest/

I’ve added a ping-pong option to the selected actions list.

image

Clicking that will add a reversed copy of the audio to the end of itself for all selected samples.
image

8 Likes

YES! Big thanks for implementing this feature so quickly. Brian, you’re a Legend mate:D It’s really a time big saver and I have just started to create my dream breakbeat chains in a matter of seconds. Much respect for active developers like yourself that are listening to the community :slight_smile: I Love the Digi Chain even more now :smiley: Really great project! :smiley:

1 Like

Under an hour from request to deployed feature :open_mouth:

2 Likes

Sorry - haven’t read the recent posts , unsure why you want to duplicate and reverse the sample )

Is it not possible to have 2x sounds for ping pong.
1x sound with playback forward
1x sound with playback backwards

Use this 2 sounds ( I can’t remember but this would get around the issue if you can’t p-lock sample playback direction )

@brian3kb thanks again for your amazing work! I’ve posted a vid in current sounds thread where I have used the ping pong chains in the second part of the jam. Current sounds coming from your gear (Part 2) - #3093 by deeptropix

1 Like

The webapp looks really nice, but when I tried it in various ways today it didn’t work for me.
I tried it with my Octatrack and slices didn’t seem to be on point (I wouldn’t exclude user error as I haven’t used the OT in a while)

But when exporting files for the OP-Z, the slices points weren’t correct either. Meaning, they don’t start with the transient of the drum. Which can be seen, when loading the kit created in Digichain into teenage engineerings drum utility.

Any tips on what I might be doing wrong here?

For the OT, did you have the .ot file being generated and downloaded? It’s an option in the settings, and they only get created in the 16 bit / 24 bit 44.1k audio context.

I’ve created quite a few OT chains for myself and all have been as expected on device.

On the OP-Z, I will take a look, see if I can reproduce - personally I have mostly used it for stereo chains for my Field.

What browser, version, and OS are you using?

I used chrome on an M1 Mac mini, Ventura 13.4

For the OT I created the file at the proper 44.1k / 24bit…and attached the .ot file. It played back on the OT, but the slices were all over the place. Same as with the OP-Z patch. I’ll try again in the coming days and will report back!

That’s really odd, I’m unsure how an OP-Z export would be the same as the OT, under the hood, they use totally different logic to build the slice points and generate the audio files as they are so very very different.

I do not have an M1 mac, but I can test on an iPad, but that would be Safari as browsers are only allowed to use webkit on iOS and iPadOS.

I’ve had a play with the TE kit maker this afternoon - what I’ve noticed, is that when you drag in an existing aif drumkit - their tool ignores completely the slice markers baked into the file (edit: if not exactly to the unknown spec) (even those made from a site like op-1.fun).

So that screenshot doesn’t reflect the slice data stored in the file that the TE tool has ignored.

What it does, is just splits it evenly into 24 slices - so that screenshot you have taken does not reflect the slice data of the files you dropped onto it. Edit: this seems to be the default behavior if the embedded metadata isn’t quite what the TE tool expects to see, the actual physical devices are more forgiving in the aspect, and read the slice data as you’d expect.

It would have been good if TE had open-sourced that tool so other developers could get a full spec of the file format, rather than having to reverse engineer it as best we can, but unfortunately, their tool is closed source and obfuscated by being compiled to web-assembly, and judging by the errors poking around, has been written in Rust.