SFZ format documentation

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
Post Reply New Topic
RELATED
PRODUCTS
Bjoerns Sample Mapper

Post

Mostly, yeah, though there are players that only support parts of SFZ1, and Sforzando doesn't support all V2 opcodes - there's some stuff that was only used in a few Cakewalk products, like effect-specific controls which Plogue implemented in a different way. So, adding another table would give us a better overview over what, say, BassMIDI supports, which is apparently the player of choice of people trying to use SFZ on Android phones. And Zampler, Bliss and everything else.

Post

Thanks for pointing up.

Post

For anyone that would like to keep in touch and share some ideas we have also a Discord chat.

Post

redtide wrote: Wed Nov 11, 2020 2:28 am
discoDSP wrote: Tue Nov 10, 2020 7:23 pm Nice. Where I can contribute with Bliss sampler supported SFZ opcodes?
An option would be to add them on our wiki, which could be a start point as some sandbox for a later better solution, but it would require that all player developers to use it.
The most simple way would be to add a page on your website that we could link to from our list of players page.
What does it take to be able to edit that page? I have a github account but it's not editable. Of course, we can fork the repo, modify, and do a pull request, but then what's the point of a Wiki?
Last edited by JeffLearman on Wed Nov 11, 2020 3:46 pm, edited 1 time in total.

Post

enroe wrote: Wed Nov 11, 2020 6:37 am
discoDSP wrote: Tue Nov 10, 2020 9:38 am Having a database or table with opcodes supported by every SFZ software would be nice.
We have that table already: https://sfzformat.com/opcodes/

Afaik this is the most detailed table of sfz-opcodes, and if you
look the right column you can see the version of every opcode.

sfz version 1 works with pretty much all sfz players (or at least
it should!)

sfz version 2, on the other hand, works with what is probably
the most advanced sfz player, the Plogue Sforzando.
Not really the same thing, because different players support different subsets of sfz v2, and also different subsets of various extensions. For example, I believe other players support some of the Aria extensions. What would be great is a table like that but including all the main players. It'd be a lot of work to put it together, but a lot of the knowledge is already out there. (The table would need to have three states for each player: yes, no, and unknown, and hopefully the number of unknowns would diminish over time.)

Post

JeffLearman wrote: Wed Nov 11, 2020 3:38 pm What does it take to be able to edit that page? I have a github account but it's not editable. Of course, we can fork the repo, modify, and do a pull request, but then what's the point of a Wiki?
A wiki on Github can be set as public where any registered user can modify it (by unticking "Restrict editing to collaborators only" in settings), just like Wikipedia. That would be the simplest way to let people add information without complexity of YAML files and Pull Requests.
JeffLearman wrote: Wed Nov 11, 2020 3:45 pm It'd be a lot of work to put it together, but a lot of the knowledge is already out there. (The table would need to have three states for each player: yes, no, and unknown, and hopefully the number of unknowns would diminish over time.)
I did already that work, which I posted yesterday, it's not that big thing to do using YAML files, the problem is to keep them updated (maintenance) other than explain how to handle it to anyone would like to keep it updated. You can just list the supported opcodes without listing them all for each player.

Post

discoDSP wrote: Tue Nov 10, 2020 7:23 pm
redtide wrote: Tue Nov 10, 2020 1:39 pm basenote sounds like a custom opcode.
It applies to root key.
Yes! it should be pitch_keycenter alias :

Code: Select all

rootkey=

Post

JeffLearman wrote: Wed Nov 11, 2020 3:45 pm
enroe wrote: Wed Nov 11, 2020 6:37 am sfz version 1 works with pretty much all sfz players (or at least
it should!)

sfz version 2, on the other hand, works with what is probably
the most advanced sfz player, the Plogue Sforzando.
Not really the same thing, because different players support different subsets of sfz v2, and also different subsets of various extensions. For example, I believe other players support some of the Aria extensions.
This is exactly true when you go into the details!

For people who are newcomers to the sfz format and want to learn the basics
first, such details are rather daunting! Therefore, a rough distinction between
sfz version 1 and sfz version 2 is initially simple and clear.

But I agree with you overall:
JeffLearman wrote: Wed Nov 11, 2020 3:45 pm What would be great is a table like that but including all the main players. It'd be a lot of work to put it together, but a lot of the knowledge is already out there. (The table would need to have three states for each player: yes, no, and unknown, and hopefully the number of unknowns would diminish over time.)
If you need it in more detail, but only then, there should be such a
detailed table. That would of course be great if someone could do
the work - primarily on "sfzformat.com".
free mp3s + info: andy-enroe.de songs + weird stuff: enroe.de

Post

Idea for SFZ development, post yours...
https://github.com/sfz/opcode-suggestions/issues

Post

https://sfzformat.com/tutorials/range_extension

Added a simple tutorial about range extension.

Been thinking about doing one on guitar feedback, since I've implemented that in a few instruments now. Would there be interest, or is that too niche? Perhaps even too Nietzsche, sometimes when you sustain a note too long, the note also sustains you...

Post

DSmolken wrote: Mon Feb 22, 2021 1:08 pm https://sfzformat.com/tutorials/range_extension

Added a simple tutorial about range extension.

Been thinking about doing one on guitar feedback, since I've implemented that in a few instruments now. Would there be interest, or is that too niche? Perhaps even too Nietzsche, sometimes when you sustain a note too long, the note also sustains you...
I think that everyone who creates his own multisamples always comes to the
question "How big will I do the range?" In this respect, you give very helpful
ideas in your tutorial. :tu:

However, every range extension depends on the samples themselves: Does it still
sound good? Or should I avoid such extreme transpositions? Or does a "round-robin
extension" help? :?:
free mp3s + info: andy-enroe.de songs + weird stuff: enroe.de

Post

Two new tutorials:

https://sfzformat.com/tutorials/modular_instruments - using include and define to make instruments modular and reuse blocks of SFZ instead of copy-pasting.

https://sfzformat.com/tutorials/epic_drums - layering drums with a transposed version of themselves, or how the Epic knob in this year's KVRDC soundware winner Virtuosity Drums works.

Post

(accidental double post)

Post

DSmolken wrote: Fri Aug 20, 2021 1:38 pm Two new tutorials:

https://sfzformat.com/tutorials/modular_instruments - using include and define to make instruments modular and reuse blocks of SFZ instead of copy-pasting.

https://sfzformat.com/tutorials/epic_drums - layering drums with a transposed version of themselves, or how the Epic knob in this year's KVRDC soundware winner Virtuosity Drums works.
BTW, how well do you think Virtuosity Drums would work on Linux with Sfizz (or possibly LinuxSampler)? I understand that it was designed for Sforzando (which I wish wasn't the case).
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.:mad:
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
:roll:

Post

Aside from the GUI, it "should" all work, though I don't know that anybody's tested it yet. If it works pretty well, you could even make a sfizz-specific version that could, unlike Sforzando, support all the mics at once with multiple outputs.

Post Reply

Return to “Samplers, Sampling & Sample Libraries”