Question: how to SAFELY remove/replace samples?

Hi,
It’s my first post so please be easy on me. :slight_smile:

So I’ve got my Digitakt and played around it for a while, and my project sample pool is almost full.
I loaded up loads of different samples just for getting to know the unit and now 80% of this sample pool is samples which are not interesting for me, just taking up the precious space. (Like me saying “test”, lol.)

So far, I could NOT find a way to safely REPLACE the sample in the same slot, only way to load a sample to a project seems to be use the new empty slot.

Of course, I can erase the sample in a slot but then I’m afraid to mess up my patterns cause it seems like patterns reference samples using slot numbers. So, if I erase, say slot 17, 24, 36, then all the sample slot reference will be messed up and I’ll end up with horrible mess of my patterns (like kick drum pattern plays hi hat sound…etc.)

Is there a way to erase/replace samples without messing up my patterns? Normally I’m messing around with unit until I find out but I don’t dare to do anything 'cause I have a traumatic experience with some software sampler back in the days. (it was referencing a particular sample folder and I ‘cleaned up’ that folder by renaming samples…etc. then I could NEVER go back to the initial music I was making…)

and what would happen if I change the orders of samples? like I want to play sample slot controlled by LFO, so I assign bunch of hihats to slots 1-20. then how can I make sure that some patterns using that particular hihat can still find the right sample? so far from what I’ve learned, digitakt reference samples by slot numbers but not sample names or other meta data. is it true?

I tried to watch some tutorials and read manual but this sample organization on Digitakt keep getting even more confusing. Can someone really help me to clarify this topic?

I’m totally new to Elektron world, so if my question is totally dumb to some of you guys, please tolerate. I’m getting better! :slight_smile:

thanks!

1 Like

RTFM!

Kidding :wink:
To replace a sample, scroll through the sample slots on the SRC page, highlight the slot you want to replace, and press FUNC+Yes

If you are affraid to mess things up: Save your project as a new copy and a version number before making big changes so you can always revert back to the previous save, or copy over patterns etc.

General tips on sample management: Choose your samples wisely before uploading them to the +drive. Then start creating grooves and when you need a sample, load it into the project. In stead of just loading a bunch of samples into a project. This way you will end up with 1 project containing great samples that you re-use a lot, because DT can mangle the sample with LFO’s and filters etc. to create a lot of different sounds form one sample.

You can also purge samples. Go to sample browser in settings, press left, select view RAM, then right arrow and select purge samples. It will remove any unused samples.

Additionally, check out Elk Herd for sample management. You can move samples around within the project’s sample slots and import patterns from one project to another including all the used samples etc.

I’ve created a video showing elk herd in detail:

Cheers and welcome to this lovely forum :slight_smile:

7 Likes

Yo, Dave! Thanks for fast and great answer!

To replace a sample, scroll through the sample slots on the SRC page, highlight the slot you want to replace, and press FUNC+Yes

wasn’t it that obvious? xdxd. I DID read the manual, but 80 pages of parameters definitions should have got me lost.

If you are affraid to mess things up: Save your project as a new copy and a version number before making big changes so you can always revert back to the previous save, or copy over patterns etc.

so if I save project as new copy, the samples will be copied to the new project, not referenced, right?

thank you very much. I will read manual once more now. :wink:

Totally understandable :wink: Was a very mean joke by me.

The samples are loaded into the RAM from the +drive when loading a project. You need to keep the samples on the +drive because a project loads those samples into the project when loading it. It references a sample by generating a hash based on its waveform. So you could delete the sample from the +drive, re-ulpoad it, and it will find it again. You can also freely move samples around on the +drive and the projects will be able to find it automatically.

Cheers :slight_smile:

5 Likes

great!
Now I’m relieved. :smiley:
thank you sir, have a lovely day!

1 Like

I would like to come back to this. How does the digitakt address samples on it’s drive?
I always thought they get an unique ID.
But you mentioned it references the actual wave form. How does it deal with duplicates then?

I really like to understand this better.

In the project manifest file (if you transfer and unzip a project file), samples are referred to by both a name and a reference number of eight digits or so, which I would guess is a sort of address tag for the file on the +Drive. So it should handle duplicate files as though they are totally different. Does that answer your question?

thanks, I will look up the project manifest. I never did a project backup.
This would mean, every file has a unique ID which should be independent from the samples waveform.

However Dave Mech mentioned, that the digitakt would find a file if it get’s deleted and later reuploaded based on it’s waveform.

I’m basically interested in the general behaviour to see if I can somehow interact with the internal database and replace samples without loosing their references.

Does anybody know more about this hash code in the project manifest?
Is this a random number or is it linked to the sample data?

The community project Elk-Herd might be of interest to you then—while not yet updated to 1.50 firmware (it’s a labor of love by developer mzero), I believe it uses Sysex to manage samples and patterns in projects up through firmware 1.40.

1 Like

Yeap

The reference code is generated on the basis of the waveform. This is why you can move samples around on the drive without an issue and why you can delete a file, reupload it and the project will still load it.

I should add that this is how it works AFAIK. I’m not a coder but I remember this from discussions about this very thing on this forum when DT was more or less just released. I think one of the developers chimed in on this.

It’s definitely not a random number.

2 Likes

I have read the same thing here…super clever, and it supports being able to add and reorganize samples in the DT across different folder structures without messing with projects.

I have wondered and am curious about how it might work with the same sample in multiple directories….like I may want the same kick in different “kit” folders I organize and load using Transfer. Any idea how it handles this kind of duplication? Does the DT only store the sample once, but allow us to point to it from different directories?

I’m pretty sure that the ID is completely derived from the waveform, change the waveform, the ID (generated by transfer) gets changed. Select two different files that contain the save waveform, and the ID will be the same.

1 Like

The models samples will show this as two files, but underlying that there will actually be one file containing the waveform they share. No extra space is taken up by the second copy.

I’ve seen this in practice on the m:s. Pretty sure the DT must operate the same way.

1 Like

Really such a smart bit of programming, for them to use the memory hash of the files in this way.

1 Like

For the OP, check out Elk-Herd also, which has a search function and lets you safely remove unused samples from a project.

If I remember right, though, the only caveat is that if you are using an LFO that targets sample slot, it can mess that up. For example, say you have like 10 different rim shots you want an LFO to randomly select from using a root sample, so you set you LFO to do that starting from sample slot 10 on a track, and it grabs from slots 10-20….slots 11-20 won’t show up as being explicitly referenced in the pattern, and if they aren’t used elsewhere, will get purged when you ask Elk-Herd to remove unused samples from a project. It’s a niche case, but pretty significant if you rely on that approach, which really can be very powerful. The LFO targeting sample slot is crazy fun to use.

Sounds like a bit of a gotcha. Does transfer fail in the same way as elk-herd ?

I remember reading that it’s a simple memory hash of the wav file.

1 Like

No I think Elk-Herd just looks at any track or trig PLock that points to a specific sample slot and uses that to determine if a sample is being “used” in a project.

Yeah, I was trying to explain without using that word :slight_smile:

1 Like