How does a sound find the right sample?

Hello Elektronauts,

I can’t find an answer for the question "How does a sound find the right sample? "

Example:
I’ve bought a sound pack comprising sounds and samples.
According to the instructions, I use Transfer and drag the sample folder to a folder on Drive+, maybe into a deeper folder structure that suits my needs.

Then I take the .syx file with the sounds and send it to a desired bank on Drive+.

Does the sound contain the respective sample name and does e. g. Digitakt’s or A4’s OS scan all sample folders on Drive+ to find the sample?
… and what happens if I’ve renamed the sample or forgot to copy it to Drive+?

I know it works but I’d like to understand why and how. :nerd_face:

If’ve found in chapter 9 of the manual following excerpt:

“… A kit is a collection of eight Sounds. A Sound is a sample, plus all the settings in the PARAMETER pages (SRC, FLTR, AMP, and LFO). A Sound can be assigned to one of the eight audio tracks.
Each of the audio tracks can contain one Sound. A Sound that has been imported from the +Drive to a pattern becomes part of the active pattern. Any changes made to a Sound will therefore not affect the stored Sound or kit. It will only affect the Sound in the active pattern. You can export (and in that way save) a
Sound from the active pattern to the +Drive. For more information, please see “9.3 SOUND MANAGER” on page 24.
A sample that is used in a Sound or a pattern can be renamed or moved and still work as intended. This is due to a hash function that adds a file specific value to every file, and this value is independent of the file name or the file’s location in the data structure. However, if you delete a sample, it will not be included in any Sounds or patterns anymore.
• When a Sound is imported to a pattern, it becomes a copy of the Sound on the +Drive and is not linked to the original Sound stored on the +Drive. Instead, it fully becomes a part of the pattern.
• If you delete a sample from the +Drive, it will not be included in any Sounds or patterns anymore. …”

So “hash function” is the secret sauce.

Edit: Replaced hashtag by hash. :blush:

Pedantic:

  • A hashtag is a social media convention in which a keyword is prefixed by the number / hash / octothorpe character.
  • A hash function is a mathematical process that creates a very short and mostly unique identifier that can be used to identify a much larger blob of digital data.

In this case it’s a hash function that is used to identify the sample. A “hashtag function” isn’t really a thing, unless you are building social media software and are writing code to handle hashtags. But that work is likely very specific to what you are doing and the small team you are working with, it’s not a general term of art.

Hash functions are important in number theory and software engineering. Some traditional forms of numerology (convert every letter of a word into a number and then combine those numbers in some way) are actually thinly veiled hash functions that are intended to collide. Collisions are when two different things have the same hash value. In software engineering, we usually add an additional step to differentiate between the distinct things that have collided. In numerology, collisions are often treated as deep mystical sameness.

How to have fun at parties once...

If you want to lob logic bombs during holiday parties, it’s a simple matter to write some python code that finds hash collisions between things your friends profess to love and things they profess to hate.

1 Like

I’m just thinking about the question whether it makes sense to work with bought and therefore unkown sounds and the Digitakt at all.

1 Like

Good research & analysis!

I marked my comment as pedantic for a reason :innocent::nerd_face:

1 Like

First thought was to delete all bought sounds (not the .wav samples!) that came with .syx files but then I realized that it makes no sense to throw away that hard work of the sounddesigner.

So I’m going to create / initialize an empty project. Then I will save 8 untouched but tagged sounds for BD to CY to Drive+ on Bank A. I will rename them to “RAW-BD” … “RAW-CY”.
Benefit: After loading these sounds to the soundpool I can easily replace their standard samples by the bought ones and play around. … and I will be able to search for these sounds by using tags.