What do you want from a %100 free/libre SFZ sampler?
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 681
- Joined: Sat Nov 01, 2014 8:15 pm
- Location: The Internet
- Been thanked: 1 time
What do you want from a %100 free/libre SFZ sampler?
Ok, so I've started writing a replacement for LinuxSampler some time ago but then hit a roadblock and put it away for now. But since most of the stuff is not implemented, I think maybe I can just ask people what they want and get things right from the start.
So what do you want from an SFZ sampler? Right now the scope is strictly SFZ but there may be more formats in the future but don't count on it because I have a lot of other projects right now. Or maybe you are writing your own sampler and don't want to make stupid mistakes so I think this thread may be useful to a lot of people.
So what do you want from an SFZ sampler? Right now the scope is strictly SFZ but there may be more formats in the future but don't count on it because I have a lot of other projects right now. Or maybe you are writing your own sampler and don't want to make stupid mistakes so I think this thread may be useful to a lot of people.
-
- Established Member
- Posts: 90
- Joined: Mon Mar 17, 2014 8:01 pm
Re: What do you want from a %100 free/libre SFZ sampler?
A gui to easily load sfz's in the plugin itself. VST and LV2 support and look at all the opcodes supported by sforzando for a reference for the standard. Pretty much that. Maybe custom GUI support to allow users to make their own sample bank interfaces. HISE might be a good place to start for building this behemoth that you're trying to build. http://www.hise.audio/
- d.healey
- Established Member
- Posts: 611
- Joined: Fri Sep 22, 2017 8:33 pm
- Has thanked: 278 times
- Been thanked: 101 times
Re: What do you want from a %100 free/libre SFZ sampler?
The HISE sampler engine might be good if you can build it without needing JUCE - I know your views on JUCE
As far as features are concerned
The implementation of as many opcodes as possible - Key switching, Dynamic crossfading, round robin, legato.
As far as features are concerned
The implementation of as many opcodes as possible - Key switching, Dynamic crossfading, round robin, legato.
David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
-
- Established Member
- Posts: 681
- Joined: Sat Nov 01, 2014 8:15 pm
- Location: The Internet
- Been thanked: 1 time
Re: What do you want from a %100 free/libre SFZ sampler?
I'm writing the sampler in ISO C++ on top of ftz Audio. There will be a core library that can be embedded anywhere. The very first release will probably be a standalone JACK app using Qt. Then I probably release plugins using DPF, not sure about GUI in the plugins though.
I'm using this as a reference.
Oh, there is so much wrong with HISE. The site doesn't open via Tor, it uses JUCE, JavaScript, focuses on Windows and MacOS, no way to produce LV2 or DSSI plugins.
I'm using this as a reference.
Oh, there is so much wrong with HISE. The site doesn't open via Tor, it uses JUCE, JavaScript, focuses on Windows and MacOS, no way to produce LV2 or DSSI plugins.
- d.healey
- Established Member
- Posts: 611
- Joined: Fri Sep 22, 2017 8:33 pm
- Has thanked: 278 times
- Been thanked: 101 times
Re: What do you want from a %100 free/libre SFZ sampler?
+1 to this. SFZero has disk streaming but lacks a million other things.stanlea wrote:Disk streaming is mandatory and not an easy thing to implement, in my view.
David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
-
- Established Member
- Posts: 35
- Joined: Fri Apr 29, 2016 9:03 pm
Re: What do you want from a %100 free/libre SFZ sampler?
That it be a plugin (Linux VST and LV2 pref).
That the GUI have ADSR controls. It's highly frustrating when you have a soundbank that's working for you, but you just need to slightly tweak the release time.
As others have said, the disk streaming would be nice.
That the GUI have ADSR controls. It's highly frustrating when you have a soundbank that's working for you, but you just need to slightly tweak the release time.
As others have said, the disk streaming would be nice.
- Michael Willis
- Established Member
- Posts: 1460
- Joined: Mon Oct 03, 2016 3:27 pm
- Location: Rocky Mountains, North America
- Has thanked: 71 times
- Been thanked: 169 times
- Contact:
Re: What do you want from a %100 free/libre SFZ sampler?
Release early and often and get other people involved in the development to minimize the project's "bus factor". Clean, modular separation of concerns, such that other free software projects can reuse algorithms, or put on a different front end for different use cases (for example, different user interfaces may better facilitate electronic vs orchestral music)
I may be willing to work on a DPF plugin, including the user interface.
I may be willing to work on a DPF plugin, including the user interface.
-
- Established Member
- Posts: 681
- Joined: Sat Nov 01, 2014 8:15 pm
- Location: The Internet
- Been thanked: 1 time
Re: What do you want from a %100 free/libre SFZ sampler?
Is it though? I've just measured: VSCO2 CE + VPO + Salamander Grand Piano + No Budget Band comsume about 6 GiB of space. Assuming they are 16 bit int and I store 32 bit float in RAM, they would occupy 12 GiB of RAM. That would still fit into my 16 GiB. And that's 2 full symphonic orchestras and a pop orchestra - absolute overkill.stanlea wrote:Disk streaming is mandatory
That's actually pretty hard in general case because every region has its own ADSR envelope which means to do it properly I would need a full blown SFZ GUI editor.rhydermike wrote:That the GUI have ADSR controls.
Definitely. For example, my sampler dependency tree right now consists of 7 separate libraries and that's without any GUI.Michael Willis wrote:Clean, modular separation of concerns
- d.healey
- Established Member
- Posts: 611
- Joined: Fri Sep 22, 2017 8:33 pm
- Has thanked: 278 times
- Been thanked: 101 times
Re: What do you want from a %100 free/libre SFZ sampler?
Many people are working with much less RAM. But also one problem when designing SFZs is knowing that you have to try to be RAM efficient so you end up doing whatever you can to save space - using mono only samples, shorter samples, lower bit rates, non-chromatic sampling etc.Lyberta wrote:Is it though? I've just measured: VSCO2 CE + VPO + Salamander Grand Piano + No Budget Band comsume about 6 GiB of space. Assuming they are 16 bit int and I store 32 bit float in RAM, they would occupy 12 GiB of RAM. That would still fit into my 16 GiB. And that's 2 full symphonic orchestras and a pop orchestra - absolute overkill.stanlea wrote:Disk streaming is mandatory
What you end up with is a smaller file but at the cost of quality. If we have disk streaming then it's possible to make much better quality SFZs with more sample content.
David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
Re: What do you want from a %100 free/libre SFZ sampler?
I am using almost in every piece I am composing VSCO orchestra SFZ. There is an LV2 plugin for LinuxSampler, but I would like a LV2 GUI sampler player that gives the easy selection of instruments. I don't mean to make here marketing for particular software, but I would like, for example, to see a GUI like this (of course, in a more simplified version) https://media.sweetwater.com/api/i/q-82 ... -large.jpg, i.e. to be able to work quickly with, even though never used Miroslav or the similar.
One big problem I see regarding this sampler player is a good resampling algorithm. I have implemented an experimental algorithm for resampling (for Geonkick for key-to-pitch), that works well for lowering the pitch, but not good for scaling it. There are libraries for resampling, but I don't know how well they works and are good for real-time purposes. Ninja2 by rghvdberg uses libresampler probably, but I don't know how it works, need to make tests. Also, I have looked into Linux Sampler code, and I see they have implemented their own version of resampling that is based on linear and cubic interpolation, and probably they are using also an antialising filter, but probably there is something more they use, and I'll find what because from my point of view LinuxSmapler is doing well on resampling.
So with this my message also I would like to ask if someone knows how to do resampling in a good way? Or libraries like libresampler are enough?
One big problem I see regarding this sampler player is a good resampling algorithm. I have implemented an experimental algorithm for resampling (for Geonkick for key-to-pitch), that works well for lowering the pitch, but not good for scaling it. There are libraries for resampling, but I don't know how well they works and are good for real-time purposes. Ninja2 by rghvdberg uses libresampler probably, but I don't know how it works, need to make tests. Also, I have looked into Linux Sampler code, and I see they have implemented their own version of resampling that is based on linear and cubic interpolation, and probably they are using also an antialising filter, but probably there is something more they use, and I'll find what because from my point of view LinuxSmapler is doing well on resampling.
So with this my message also I would like to ask if someone knows how to do resampling in a good way? Or libraries like libresampler are enough?
-
- Established Member
- Posts: 1067
- Joined: Mon May 12, 2014 7:11 am
- Has thanked: 15 times
- Been thanked: 36 times
Re: What do you want from a %100 free/libre SFZ sampler?
I use libsamplerate for resampling on loading only. Pitch is done with a simple linear interpolation which works good enough for the purposes of ninjas2, a sample slicer, with pitchbend. It's not a melodic sampler.
Although that's definitely on the list.
Although that's definitely on the list.
Re: What do you want from a %100 free/libre SFZ sampler?
Ah, ok, thank you. I thought you are doing key->pich. I'll try to build Ninja and play with it.rghvdberg wrote:I use libsamplerate for resampling on loading only. Pitch is done with a simple linear interpolation which works good enough for the purposes of ninjas2, a sample slicer, with pitchbend. It's not a melodic sampler.
Although that's definitely on the list.
-
- Established Member
- Posts: 1516
- Joined: Sun Jan 27, 2019 2:25 pm
- Location: Italy
- Has thanked: 385 times
- Been thanked: 299 times
Re: What do you want from a %100 free/libre SFZ sampler?
LV2 support, definitely
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
Re: What do you want from a %100 free/libre SFZ sampler?
Newbie reporting.
What I'd want for such a project would be... a guide even a short one that's written in a tiny .txt file would be great. I've discovered everything Linux a short time ago, and I always have to check out forums, quora threads or things like that to learn how to use this or that tool.
What I'd want for such a project would be... a guide even a short one that's written in a tiny .txt file would be great. I've discovered everything Linux a short time ago, and I always have to check out forums, quora threads or things like that to learn how to use this or that tool.