surge-synthesizer / shortcircuit-xt

Will be a sampler when its done!
GNU General Public License v3.0
251 stars 28 forks source link

SFZ Support #403

Open baconpaul opened 1 year ago

baconpaul commented 1 year ago

Whats the plan?

Audiojunkie commented 1 year ago

I’d argue that this is the most important format of all. It would be especially nice to not only import this format, but to have SFZ as an export format as well.

baconpaul commented 1 year ago

Just to manage expectations: basically 0 chance of SFZ export.

baconpaul commented 1 year ago

(also we've debated whether this is in fact the most important format; with projects like sfizz it seems basic sfz playback is well covered so maybe - but again maybe - sc use cases are less library/sfz based. but we will support it of course!)

baconpaul commented 1 year ago

I added SFZ export as a post-1.0 issue. No way we can do it and test it for the first release but I don't want to lose the idea when I close this issue (which is about SFZ read support in the first version)

tank-trax commented 1 year ago

@Audiojunkie if I may, as exporting to formats other than a Shortcircuit specific one is more than likely off the table, I would recommend Convert With Moss and Polyphone

https://github.com/git-moss/ConvertWithMoss https://www.polyphone-soundfonts.com/

Audiojunkie commented 1 year ago

Both possibly good options. But the thing that interested me was the real time GUI-based SFZ instrument building possibilities. I would imagine that a subset of the native ShortCircuit format would nicely transfer over to a select set of essential SFZ opcodes. This would put SFZ instrument creation into the hands on non-programming musicians. Someone who would never write a basic SFZ script might now be able to contribute instruments to the community in a way that could benefit all. This is the exact reason I use DiscoDSP’s Bliss sampler—to create SFZ format instruments that will last for years and years. There are multiple parsers, but to my knowledge, Bliss is the only real time sampler that allows one to save to sfz format. It’s very rudimentary and uses only a handful of the most essential sfz opcodes, but it works. But, it’s also a commercial product. There is no real time solution in the open source world. Now, as you mentioned, Polyphone and Convert With Moss, exist as options, but they are non-realtime solutions, and won’t be as easy or as convenient to make instruments as an actual sampler instrument would be, but it is a workable possibility. BaconPaul said he’s not ready to consider the possibility until after the 1.0 release, so for people wanting to create SFZ instruments without scripting with a text editor, Polyphone and Convert With Moss might be the best non-commercial options available. 🙂

baconpaul commented 1 year ago

Yeah it’s a good idea.

tank-trax commented 1 year ago

Qsynth has an option to edit GIG files in realtime via a separate app called Gigedit.... I am wondering if a SFZ editor as a such would be doable or desirable, or if it's best to integrate it all into SCXT similar to the Tuning or LUA modules?

baconpaul commented 1 year ago

So this should really be in the other issue but - shortcircuit is the editor. Audio junkies idea is just to be able to “save as…” and have sfz as an option and have the fidelity be pretty good

baconpaul commented 1 year ago

Libgig has an sf2 writer also so suppose we could do that

but again these formats all have lower fidelity and features space than the final sc will

djtuBIG-MaliceX commented 1 day ago

As of now, the important bits of sfz 1.0 opcodes seems to be loading very well so far. How far to take it?

baconpaul commented 1 day ago

https://github.com/surge-synthesizer/shortcircuit-xt/issues/1311 That’s sort of the minimum viable set and still a few missing from there I think. My rough plan was when that one is done close both this and that issue then open an “extended sfz opcode request” issue