mod wheel controlling multiple parameters?

Post your sforzando questions here

Moderators: eric_telemaque, davidv

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

mod wheel controlling multiple parameters?

Postby pbattersby » Tue Aug 29, 2017 5:06 pm

Sforzando permits me to do this:

xfin_locc1=64
xfin_hicc1=127
gain_cc1=24

... and it works well. The mod wheel controls both the cross fade and the gain. Is this considered standard behaviour in the sfz spec or is it not specified? I'm glad it works and I hope it never stops working, but I was just wondering for the purposes of my sfz files being compatible with other sfz players.
Paul Battersby
My free orchestral sample library @ http://virtualplaying.com

davidv
Site Admin
Posts: 1567
Joined: Tue Mar 02, 2004 7:23 pm
Contact:

Re: mod wheel controlling multiple parameters?

Postby davidv » Wed Aug 30, 2017 1:11 pm

The same CC can be used for many targets. I don't recall anything in the spec that forbids this.
Then again, I'm not responsible on how people implement their SFZ players ;)

Cheers
David Viens,
Plogue Art et Technologie Inc. Montreal.
http://www.plogue.com

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

Re: mod wheel controlling multiple parameters?

Postby pbattersby » Wed Aug 30, 2017 4:25 pm

davidv wrote:The same CC can be used for many targets. I don't recall anything in the spec that forbids this.

If the spec doesn't require it either that's unfortunate. Any part of a spec open to interpretation leads to different programmers implementing it differently which causes incompatibilities. :(

davidv wrote:Then again, I'm not responsible on how people implement their SFZ players ;)Cheers

Of course and the way it's implemented in sforzando, is most the useful way.
Paul Battersby
My free orchestral sample library @ http://virtualplaying.com

pljones
Posts: 100
Joined: Wed Oct 15, 2014 2:05 pm

Re: mod wheel controlling multiple parameters?

Postby pljones » Thu Aug 31, 2017 1:09 am

pbattersby wrote:If the spec doesn't require it either that's unfortunate. Any part of a spec open to interpretation leads to different programmers implementing it differently which causes incompatibilities. :(
The spec doesn't require anything at all, in fact, other than that a file be parse-able. It's intended to be entirely open. No implementation can be declared wrong or non-compliant and even the most minimal implementation (that aims towards the intended goal) will likely do something, possibly useful. That was intended in it's original vision.

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

Re: mod wheel controlling multiple parameters?

Postby pbattersby » Thu Aug 31, 2017 8:05 am

pljones wrote:It's intended to be entirely open ... That was intended in it's original vision.

Then, as an engineering spec (which apparently it's not), it would be a failure. From what you've said, it was never intended that there be compatibility from one implementation to another. I think compatibility is important as would anyone else who can't use the script created using one sfz player, in another sfz player.

In case there is any doubt, I'm not criticizing the Plogue implementation at all. I blame any spec that is open to interpretation. That guarantees problems.
Paul Battersby
My free orchestral sample library @ http://virtualplaying.com

pljones
Posts: 100
Joined: Wed Oct 15, 2014 2:05 pm

Re: mod wheel controlling multiple parameters?

Postby pljones » Thu Aug 31, 2017 12:30 pm

The point is you can use a sfz mapping in any player and it may do something. Given that no two players are alike (otherwise one or other would be redundant and hence a wasted effort, which is pretty awful in engineering terms), one has to assume that there are differences - and therefore that no two players will work the same. But you should be able to load the file, at least. Awareness of SFZ v1 and SFZ v2 should cover most likely issues. Simon Cann's book is very useful.

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

Re: mod wheel controlling multiple parameters?

Postby pbattersby » Thu Aug 31, 2017 2:20 pm

pljones wrote:The point is you can use a sfz mapping in any player and it may do something. Given that no two players are alike (otherwise one or other would be redundant and hence a wasted effort, which is pretty awful in engineering terms), one has to assume that there are differences - and therefore that no two players will work the same. But you should be able to load the file, at least.


Is that really the way you want things to work? An Sfz player that may do something with an sfz file? That's it? Substitute computer in place of player. Consider you just bought some important piece of software (A DAW perhaps)

Given that no two computers are alike (otherwise one or other would be redundant and hence a wasted effort, which is pretty awful in engineering terms), one has to assume that there are differences - and therefore that no two computers will work the same. But you should be able to load the file, at least.

In the above example, maybe the DAW will work, maybe not but at least you can load the program right? You're defending a spec that is open to interpretation as a good thing right?

Or, if you don't like my example because it swaps hardware for software, consider JAVA which runs on multiple platforms. What if the JAVA implementation was left open to interpretation so that the source code written on Windows is not necessarily going to work the same on any other platform? Would it be ok for the JAVA spec to be open to interpretation?

Because the sfz spec is open to interpretation, if I want my sfz files to work on Windows, MAC, Linux, Ipad, I have to know how every sfz player has been implemented and then either only use what commands all sfz players treat the same way, or provide one sfz file custom made for each player and I'm going to have to own a variety of platforms for testing. That's a development headache that could be avoided by a more carefully written spec that is not open to interpretation.

I already know that treatment of inline comments, and the ability to control multiple parameters with the same controller has apparently been left open to interpretation. Who knows what other incompatibilities are out there.
Paul Battersby
My free orchestral sample library @ http://virtualplaying.com

pljones
Posts: 100
Joined: Wed Oct 15, 2014 2:05 pm

Re: mod wheel controlling multiple parameters?

Postby pljones » Thu Aug 31, 2017 6:27 pm

The same version of Sforzando on two different computers will interpret the same SFZ file in the same way. (That does NOT mean it will sound the same - the computers are different.)

Two different SFZ interpreters will interpret the same SFZ file differently. Same as two different JVMs will interpret a JAR differently or two different .Net runtimes running a C# program differently.

And no, you can't even expect two computers running the same version of the same operating system to support the same software -- because the hardware really, really makes a big difference. (Oh, no video; oh, no ASIO; oh, only 2GB RAM... etc...)

So, you choose which SFZ player to use based on the outcome you want.

You choose which JVM you run based on the outcome you want.

You choose which computer OS and computer hardware you run based on the outcome you want.

It's about choice and getting what you want.

Which is what the world of computing is about, really. (Unless you're Apple...)

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

Re: mod wheel controlling multiple parameters?

Postby pbattersby » Thu Aug 31, 2017 10:03 pm

pljones wrote:The same version of Sforzando on two different computers will interpret the same SFZ file in the same way.

And wouldn't it be nice if the same .sfz file was also interpreted the same way by all sfz players? Wouldn't it be better if all platforms could use the same .sfz files?

What is the point of a spec that is not being specific?

What if the sfz spec were even more open? What if the range of all parameters were left open? Then each sfz file would end up only working properly on a single sfz player. Is that better? Right now the .sfz standard is not horrible but it is not quite standard enough.

pljones wrote:Two different SFZ interpreters will interpret the same SFZ file differently.

That is exactly the problem. Lack of consistency is a problem. Ask any web developer doing anything beyond basic HTML about browser compatibility issues. Things have improved over time but the number of hacks that have been necessary to try to make the same web site look exactly the same across all browsers has been ridiculous. All thanks to specs that leave some things open to interpretation.

pljones wrote:Same as two different JVMs will interpret a JAR differently or two different .Net runtimes running a C# program differently.

Should the same logic, the same source code, be interpreted differently? Is that a good thing? That defeats the purpose of cross platform compatibility.

pljones wrote:And no, you can't even expect two computers running the same version of the same operating system to support the same software -- because the hardware really, really makes a big difference. (Oh, no video; oh, no ASIO; oh, only 2GB RAM... etc...)

We're not talking about performance (video, ASIO, 2GB RAM etc) or hardware requirements. We're talking about a spec that leads to a consistent interpretation of a document so the hardware should not make any difference at all.

pljones wrote:So, you choose which SFZ player to use based on the outcome you want.

The outcome I want is compatibility. I'd like anyone with any SFZ player to be able to use my sample library. Isn't that preferable?
Paul Battersby
My free orchestral sample library @ http://virtualplaying.com

pljones
Posts: 100
Joined: Wed Oct 15, 2014 2:05 pm

Re: mod wheel controlling multiple parameters?

Postby pljones » Fri Sep 01, 2017 1:06 am

You're gettnig to the point where you'll be asknig for any sample player to play any sample format - you'll want Sforzando to play Kontakt libraries. Wouldn't it be nice..? Yes, of course. But there are different players. They do different things. You pick the player for the purpose you have.

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

Re: mod wheel controlling multiple parameters?

Postby pbattersby » Fri Sep 01, 2017 7:49 am

pljones wrote:You're gettnig to the point where you'll be asknig for any sample player to play any sample format - you'll want Sforzando to play Kontakt libraries

That statement is a ridiculous exaggeration and is in no way representative of my position.

You have been defending lack of consistency when reading the exact same .sfz file. I think it is perfectly reasonable to expect the same sfz file to be interpreted the same way across all sfz players. The current spec fails to ensure that although, I will grant, the spec gets close to achieving that.
Paul Battersby
My free orchestral sample library @ http://virtualplaying.com

pljones
Posts: 100
Joined: Wed Oct 15, 2014 2:05 pm

Re: mod wheel controlling multiple parameters?

Postby pljones » Fri Sep 01, 2017 11:18 am

The spec has nothing to do with whether two implementations work the same way. It's ridiculous to suggest it is.

Look at how Native Instruments chose to implement SFZ v1. It's so deficient it barely can be declared as an implementation. But it loads the SFZ file and it plays the samples. There's nothing particularly vague in the SFZ v1 spec, so you can't blame NI choosing to be deficient on the spec.

Maybe you'd like Kontakt to fail entirely when loading an SFZ file rather than loading it but not playing it well?

And also when loading SF2 files? (Which it plays pretty badly, too - the spec there is even tighter).

pbattersby
Posts: 21
Joined: Thu Jul 07, 2016 9:59 pm

Re: mod wheel controlling multiple parameters?

Postby pbattersby » Fri Sep 01, 2017 2:26 pm

pljones wrote:The spec has nothing to do with whether two implementations work the same way.

Completely following a sufficiently detailed spec has everything to do with whether two implementations work the same way. 2 independent developers, with nothing but a sufficiently detailed spec to follow, should result in 2 products that given the same input, will produce the same output.

pljones wrote:It's ridiculous to suggest it is..

We must be talking about 2 different things because what I think you are saying doesn't make any sense to me. It seems you are effectively saying that a spec isn't mean to be specific but that would be ridiculous.

pljones wrote:Look at how Native Instruments chose to implement SFZ v1. It's so deficient it barely can be declared as an implementation. But it loads the SFZ file and it plays the samples. There's nothing particularly vague in the SFZ v1 spec, so you can't blame NI choosing to be deficient on the spec.

If NI failed to fully implement the sfz spec, then yes that's their fault. Whose fault would it be?

pljones wrote:Maybe you'd like Kontakt to fail entirely when loading an SFZ file rather than loading it but not playing it well?


With my sample library, If all Kontakt will do is load the samples and play them back then I'd rather it not even load the .sfz file because it will sound terrible. I'd like Kontakt to completely follow the spec and for the spec to be detailed enough that the same .sfz file that works in Sforzando will also work in Kontakt. Should I not want that? Should I be satisfied if it loads and plays the samples back but doesn't do anything else correctly? There is a lot more to an sfz file than simply loading and playing samples otherwise the spec would only be a few sentences long.
Paul Battersby
My free orchestral sample library @ http://virtualplaying.com

pljones
Posts: 100
Joined: Wed Oct 15, 2014 2:05 pm

Re: mod wheel controlling multiple parameters?

Postby pljones » Sat Sep 02, 2017 2:23 am

As with pretty much everything on computers, the spec is open. Nothing prevents an implementer adding features. So if you choose to use those features, you get a file that works for implementations that implement that feature that way. There simply is nothing wrong with that: you have the choice.

If you want a format that does not give you choice, then something like Kontakt's native format may be what you're after. But of course, you either live with the restriction of 15 minutes of play back or pay for the fully Kontakt, or pay to create a Kontakt instrument. That's also called "choice".

The whole point is you have a choice to make.


Return to “sforzando”

Who is online

Users browsing this forum: No registered users and 1 guest