Multisamples/sfz: how do i import and map?


So i've tried to import a folder containing multisampled instrument in sfz format, which is basically a bunch of samples and a text file describing a zone for each sounds and it's key. The results are...interesting. Sampler module does create zones automatically, but the amount of zones doesn't correspond to the amount of samples, the mappings are all off, and the loop markers are ignored although they show in the sample view...

Is there a specific format i should prepare my multisamples in? Anyone has any experience? Does it even support sfz or just randomly does something it thinks it right? I've tried to load the same folder without sfz file in it and it was loading only ONE file i that case so i assume it does utilize sfz somehow...


  • edited October 6

    SFZ files are not supported.

    The only logic when importing a folder of samples is Drambo will look for a note name like C2, E#3, G-1. It doesn’t look for velocity levels or note number in the file name.

    This can lead to unexpected results. For instance, Snare3.wav at one point would have imported into the E3 zone (because of “e3” appearing in the name. I think this logic may have been improved a little in a subsequent release, but the bottom line is SFZ info isn’t read and note name is the only thing recognized, I believe.

    There was a big thread on it earlier if you’re interested:

  • OK, i've tried to rename the files to C1 F#1 etc, and it loads only C1s and not F#1s...i even tried to rename F#1 to F1 and it still wouldn't load it, weird. Probably will have to buy audiolayer or something, which is not that cheap...i wish developer would implement sfz support, can't be hard to do, easier that trying to guess stuff from the names and automatically generate zones and stuff...

  • Did this get finetuned @giku? Haven’t tried in a while using instruments made with MPC’s auto sampler (in Mpc hardware & free in MPC Beats desktop) to make drambo instruments but the naming convention wasn’t working well with Sampler when ‘create from folder’ last time I tried…here’s photo of the mpc filenames :) Drambo didn’t recognise the ‘b’ in semitone names, like ‘Eb0, Gb1’ etc…IIRC? maybe was it something else/similar, can’t remember exactly :)

  • At some point in time I hope that the Drambo samplers will also read and use the loop meta-data that can be embedded into the sample files. This is a pretty essential feature for sustained/looped sounds.

  • The only way to do proper sample mapping at the moment is to either import and re-position samples one by one or to convert the SFZ to the Sampler's own XML preset format. At least it's in readable text format.

    A witty programmer could write such a utility.

    Getting AudioLayer is certainly not a bad idea anyway because of its SFZ import and great disk streaming that allows you to use really huge sampled instruments.

  • BTW @nnbveh, watch your weird sample sames.

    No wonder it won't load the F#1 file when it also has F0 in it.

  • these are not my names, it's a direct conversion of mainstage autosampler instrument to sfz, their files are named longer, but the note numbers are the same, i actually have no idea about note numbers and such, but if it works for two mainstream multisample formats, should be good enough no?

  • Just rename your files with clear names and the import should work.

    You know that you can play and auto-sample with each key played in the Sampler module?

  • Sample names have to be very simple and with attention paid to avoid anything else in the name that would be interpreted as a note name other than where you actually name the note. Look for anything in the name that has a letter followed by a number. For instance, "C3-Snare2.wav" looks like a good enough name on the surface, but that "e4" will throw it off. You might think changing it to "C3-Snare-2.wav" would help, but it's probably going to see the "e-2" as a note name too.

    @nnbveh - it seems reasonable to think that standard file names from something like auto-sampler would be interpreted correctly, but there's no standard for file naming and in fact most programs would get confused. That said, Drambo's name parsing is indeed more rudimentary than most. It's one of the few things it doesn't shine at, surrounded by thousands of things that it does.

    SFZ support would be wonderful. A SFZ to Drambo-XML converter would be wonderful. Even a published naming convention that includes velocity layer information would be wonderful. I'm guessing that's not super high on the priority list though.

  • I thought about reverse engineering the XML format and mirror the data structure using one of the Python XML libs but as that would always require a desktop machine, enhancing the filename detection in the Sampler would be a better idea for sure.

  • edited October 7

    Not necessarily. There are Python interpreters for iOS, and they have access to the file system. I toyed with the idea of trying something like that but succumbed to a persistent bout of I_don't_care_enough-ness.

  • edited October 8

    Here's the thing, the files i've tried to import named C1.wav, F#1.wav etc. As clear as it gets, no? Yet, it imports the C1 and ignores the F#1. Somebody commented here that it makes sense, i guess they know something i don't, i'm not a trained musician and don't see the logic behind the choices drambo makes. I just used Autosampler in mainstage to sample some hardware synths sampling each sixth semitone or something, autosampler named files, i've deleted all but the note info from the names of the files...Maybe if i knew the correct way to autosample, like from which note to start, where to finish and the frequency of sampled notes i could get it right next time. For now i know only that out of 9 samples it might import 6, out of 13 it will import 8 and it will map them in its own way which doesn't correspond to the way they are supposed to be. Maybe it has to be an even amount of samples or something, i have no idea...

  • Just guessing, but have you tried Gb1.wav, instead of F#1.wav?

  • edited October 8

    According to this comment: February 7 from @giku , F#1 should be valid.

    @nnbveh - it could be that batch sample import just isn't working right ... unless there's something about those particular samples. @giku said in that other thread that import name parsing needs work. It might be best just to move on for now, and just import samples one at a time or use AudioLayer until it's improved.

    Are the samples long? I seem to remember there being a maximum length of samples ... though I could be wrong.

    In your first screenshot the sample waveform looks really odd. Are you sure that's a valid wav file that you can play back in other apps?

  • Wait ...

    From the text file you attached earlier, the files are type ".aif", yet you say you renamed them with ".wav" extensions? What happens if you name them C1.aif, F#1.aif, etc?

  • It was just an example, forgot what format was it, but yes, it was .aif files.

  • edited October 9

    Here how it looks like: on the left is the list of my files and their range in(simplified) sfz format. on the right is the range assigned to each by drambo. Only C samples were imported(and yes, this time these are wav files, another multisample set):

    C-1.wav hikey=d-1 C-2 C-1

    F#-1.wav hikey=g#-1 lokey=d#-1

    C0.wav hikey=d0 lokey=a-1 C0 B0 

    F#0.wav hikey=g#0 lokey=d#0

    C1.wav hikey=d1 lokey=a0 C1 B1

    F#1.wav hikey=g#1 lokey=d#1

    C2.wav hikey=d2 lokey=a1 C2 B2

    F#2.wav hikey=g#2 lokey=d#2 

    C3.wav hikey=d3 lokey=a2 C3 B3

    F#3.wav hikey=g#3 lokey=d#3

    C4.wav hikey=d4 lokey=a3 C4 B4

    F#4.wav hikey=g#4 lokey=d#4

    C5.wav hikey=d5 lokey=a4 C5 B5

    F#5.wav hikey=g#5 lokey=d#5

    C6.wav hikey=d6 lokey=a5 C6 B6

    F#6.wav hikey=g#6 lokey=d#6 

    C7.wav lokey=a6 C7 G8

  • edited October 9

    OK, so it just really doesn't like to see "F#" and ignores all those files. Except for the lowest C, the ranges assigned to the C files are what you would expect from Drambo if you only had the C files.

    So ... Just for laughs, I wonder what would happen if you removed the # from the name in those F# files. The import would be wrong, but I wonder if they'd import then. That would narrow down the problem somewhat.

    It would be worth trying @uncleDave 's suggestion of renaming them to Gb instead of F# as well. Maybe something got changed along the way with the file name parser.

  • I've just tried both.

    First i've renamed F#0 to F0, drambo ignored it still. But here's the weird part: I've renamed it to Gb, and...drambo imported C-1, C0, and then F#1- f#6, but not Gb and not the rest of the C files...

  • Time to give up then I guess. Maybe it’ll get fixed some day.

  • Is there anything like a "universal" note name to note number mapping table that @giku could use?

  • edited October 9

    No. Even MIDI (1.0) doesn't even have a standard for octave naming, and every app seems to have its own naming requirements.

    SFZ is a well documented specification for describing sound fonts and covers just about every feature a sampler could have. File naming is arbitrary with SFZ since the files are identified in the file, which is just a text file. (I know you know that - I'm just sayin' it for other readers 😉.)

  • edited October 9

    @nnbveh - I wanted to mention that AudioLayer can be a bit finicky about importing SFZ files. I wanted to mention that it might not be quite a frustration free solution either. If you decide to go that route, there are some threads over on the Audiobus forum that may be helpful. I can try to dig up some URLs if needed.

  • I actually converted those sfz instruments from exs files, so i think i'd try to use those directly in audiolayer. Actually even sf2 would work for me since my instruments are single layer really, just thought that maybe it's worth investing into soundlayer to be futureproof, especially since it is on sale right now...IS there any simple but robust soundfont player for ipad?

  • edited October 10

    bismarck bs-16i s good for sf2.

    SoundFonts app ( is less expensive and good for sf2 also, but doesn’t sound as good to me as bs-16i with the high quality IAP.

  • That's not what I mean, octaves can be shifted by giving a simple "which note number is middle C?" offset.

    It's about the actual names that can include sharps, flats and regional differences like H vs B.

  • edited October 10

    There is no convention or even any consistency that could be followed.

    Octave naming was just an example of that. It wasn’t meant to be the main point.

    Just like everyone else, Giku would be just as well off making his own. Or by supporting the SFZ features that correspond to Sampler’s.

  • IIRC in kontakt you can specify which part of the filename has the zone info when importing…

    maybe when we hit ‘create from folder’ we could select/highlight part of a file name in the folder and D reads same filename section for all files when import?

    As long as all multisamples in the instrument have the same naming convention maybe this is quite simple/bulletproof way?

Sign In or Register to comment.