Most people don’t know how easy it is to make an SFZ that contains up to 128 samples mapped to different “pitches” (I know I didn’t). You might think – “I don’t want to make a sample of a pitched instrument like a piano”, but you don’t have to do that. You can take any collection of samples and trigger them independently with full polyphony. They can be sound effects, recordings of VCV patches, recordings of guitar noises. Whatever you want.
This short section of the manual for SFZ Player is enough to get you started (link below). If you have the samples already you can throw together an SFZ mapping them to CV in just a few minutes, using only a text editor.
Ah, glad you like it. Of course I only found it because I was editing an SFZ and VSCode “suggested” it to me. Often I ignore those suggestions, but in this case it’s a good thing. I am terrible with typos, and anything that can show me a mistake is a real help.
I made my own tool in the past to generate sfz files but they have full absolute paths since the samples come from multiple folders. I don’t think yours likes the absolute path? Looks like sforzando can accept full paths.
That sounds like a bug to me. I’ve never tried to use an absolute path. I’ll look into that. I can see how it wouldn’t work - I always prepend the cwd, I think. I guess a line or two of code to detect an absolute path wouldn’t be too hard. tx!
I made this about 10 years ago. You need java to run it but it still works. You add some source folders and it goes through and picks out a certain number of files and makes an sfz file for you with those random files mapped across the keyboard.
I would also suggest to use excellent and free Polyphone program for quick (and automatic) conversion of ANY sf2 files (there are tons of them in comparison to sfz’s) - in Export menu you just choose “sfz”-output and with 2 additional clicks (output path and something else, I don’t remember it now) you get SFZ-Player ready “multi-instrument” (with all needed “globals”, “groups”, “regions” etc.)
Have you tried it with my SFZ player? I would think it wouldn’t work, as most converted sf files I’ve seen put everything in one big wav file and index into it with opcodes that I don’t (yet?) support.
Aye, sure, I already tried it several dozen times (in past week) with different sf2’s collected for many years before on my comp And in most of the cases (but not in all of them, alas) the result was rather acceptable, though many of them have “click problems” (which could be partly fixed manually via any text editor)
oh, nice! tx for the info. btw, the “click problem” is I think fixed in a release coming out this week. It turns out the SFZ spec was wrong about default ampeg_release. The spec said one millisecond, which is what I implemented (not realizing that a bunch of sfz instruments leave it blank and rely on the default). Turns out sforzando player defaults to 30 ms. So I did that and logged a bug against the spec.
Thanx for clarifying it once more, though I already read that useful info in another thread here Anyway, I suppose that my (or, better, Polyphone’s) “makeshift” method is much simpler for bulk “trial and error” conversions (although, I admit once again that it doesn’t work for all sf2’s).
Hmm…I I can offer two options for you - a) give me some e-mail for detailed elaboration or b) I could send you direct linx to converted files (with original sf2’s or/and final sfz’s). In fact, all my test conversions were made from my fonts, previously downloaded and I didn’t remember their original sources now.
Hit Control-H and replace the absolute path with “sample=”. If your samples are in a folder and you want to put the final SFZ-File on the same folder-level as the folder with the samples, then the paths have to start with the folder containing the samples:
If it looks fine, start up VCV and use your favorite Squinky Labs SFZ-Player to load your new file.
If it works, close the program no one will ever use off-work and pretend you used VS Code.
The “export as *.prn”-option will save a file with the same spacing as the columns look like. If you have missing spaces between two opcodes then just increase the column-width. Too many whitespace is not a problem!