What's new

Universal Sampler

How will a foundation benefit me as a sample library developer, what will it enable me to do with HISE that I can't already?
I think most of the readers have understood the model which I have explained in other posts which already addresses your question.

You clearly manifest a conflict of interest in posting in this thread. Everybody understands your personal bias and interest in promoting Hise to be the framework for audio development. Other framework developers have provided insightful contributions here without dominating the discussion with promotions of their own IP and derogating the premise of the OP's posts in order to promote their own technology.

I refer to my previous analogy:
It's a little like expressing my ideas for a spec of the ultimate future string library and then VSL, OT or Spitfire chiming in insisting that they have already developed such a library and that any other specification is redundant to the point of derogating the premise of my idea.
That would not be entirely appropriate, would it?
 
Last edited:
It uses graphic node programming for its scripting solution, and that style of programming when applied to procedural logic (which VI's are rife with) produces horrendously unreadable and unmaintainable systems. And my whole pursuit as of late is designing a language to make virtual instrument systems a joy to read and write, employing modern lessons of programming (for real code), so it's kind of as "anti" as an antithesis can get to where I believe our industry needs to be moving.
That very much depends on how it's implemented. If you're trying to write a full script, like a kontakt script for example, then yes I wouldn't touch node based systems.
But when abstracted out to be essentially OO based, you get something like:

Screenshot 2023-12-02 at 11.53.33.png

Which doesn't look like a long script, but this is handling legato, adjusting multiple parameters of an ADSR, the start offset of the samples for n mic positions, level matching (grabbing individual voices within voice collections and getting their current float values) between n mic positions over the entire instrument object, which does that for each active articulation and sampler when done on the instrument.

It would take (and did) take significant amount of code to achieve that same level of control for an end developer, so the type of abstraction done based on a node graph system changes how these things end up looking (ie blender compared with unreal).

That said, as someone that did look at the available options such as hise (which is awesome) but decided to go my own route, I 100% get the appeal of having your own development decisions to suit your own workflow, and having CI/CD pipelines in place for developers that just want control and just to write code makes complete sense.

One thing that doesn't seem to be mentioned by everyone here: options are good. We're suffering from the same issue end users are with sample libraries - getting stuck in the idea that we must have one tool that does everything for every situation, but competition breeds creativity (as this sampler idea you're coming up with surely will), and that's good for everyone.

Kontakt, hise, uvi, etc all live without making each other obsolete.
 
I think most of the readers have understood the model which I have explained
I don't think any of us know exactly what you want. Please spell out the criteria in bullet points.

You clearly manifest a conflict of interest in posting in this thread. Everybody understands your personal bias and interest in promoting Hise to be the framework for audio development. Other framework developers have provided insightful contributions here without dominating the discussion with promotions of their own IP and derogating the premise of the OP's posts in order to promote their own technology.
You seem to think I'm a major contributor to the HISE codebase. I have made some tiny, almost insignificant additions for my own and other developers' benefit. I'm just a user of HISE.

There's no conflict of interest. Just an informed person telling you that what you (seem to) want is already here, except it's not part of a foundation which seems to be important to you for some reason that you haven't explained.

How will a foundation give me as a sample library developer any additional benefit to what I currently have?
 
Last edited:
You are putting words in my mouth. Think of my proposal as a Kontakt type model and ecosystem but under the control and roadmap of a consortium of sample developers (As apposed to sampler developers). Nowhere have I implied that the user interface should be the same for all libs. Just like in Kontak sample developers wil build their own Ui based on a familliar underlying UI framework in the sampler. If Kontakt could achieve adoption why would a sampler based on a simillar but "ownerless" use and distribution model not be attractive if superior technology could be achieved through pooled financial resources that freed up time to develop sample content rather than delivery.
Then I'm not sure how to interpret your statements about new workflows, like in your very first sentence. My workflow is dramatically different even just across kontakt libraries from different developers
 
How will a foundation benefit me as a sample library developer, what will it enable me to do with HISE that I can't already?
Benefits for users:
+A common and familiar user interaction layer relating to downloading, installation,ui framework, maintenance and updating of a single ecosystem instead of an infinitely growing number of sampler systems, downloaders,license managers etc..
+Memory efficiency and stability derived from a single plugin technology rather than 8 different sample players in a project for example.
+Less time mastering the interface and underlying functionality of multiple samplers.
+No direct extra costs for the host sampler and smaller indirect costs through savings in in-house development costs.
+Assurance that the technology is controlled, and road mapped by a mutual consortium of members rather than a small group of "owners" controlling the future of the system. (Imagine the dangers if the MIDI protocol belonged to a single commercial vendor who could decide at any time to exploit the wide adoption of the protocol for financial benefit.)
+The benefit of using a system with adequate funding for best of class quality control instead of using dozens of sample players in various stages of (in-)stability.

Benefits for sample developers:
+Potentially best of class technology developed from pooling financial resources for development, better and larger code teams etc, than what would be sustainable by individual developer's financial means or be achieved by a single or very small pool of developers.
+Potential technology contributions/donations by members.
+Potential availability of grants not available to commercial developers or commercially licensed open-source projects.
+Member control and road mapping of the system.
+No surprises when the controlling owner of the IP changes licensing structure and fees, development priorities or sells the IP/copyright to a third-party commercial interest.
+Lower risk for sample developers flowing from potentially lower financial expenditure as compared to developing an in-house proprietary sample player but with the benefit of still helping shape the system at the meta-data level.
+More development resources and time available to develop sample content.
+Lower entry cost and access for smaller developer members to best of class technology while still having proportional input into the shaping of the system.
+Quicker intervention and influence on bugs or ineffective features.
+More control over library encoding.
+A fair distribution channel.
+Modularity to allow for integrating third party functionality specific to an individual developer's preferences.
+independence from commercial or quasi-commercial, or commercially licensed open source subsystem dependencies such as JUCE over which there is no control.
+Equitable and impartial access to the technology available to all contributing members.
+Management by the best industry leaders in management and technology visionaries appointed by and reporting to a board of contributing members. Pooled resources will make this possible.
+Development by a world class team of programmers. Pooled resources will make this possible.

There are probably many more I could think of if I spent the time.

You may argue that a third party quasi-commercial or commercially licensed open-source system addresses many of these aspects but as long as it is not controlled by a truly independent industry foundation in a similar manner as the Midi Association it is unlikely that adoption and contribution on any wide scale is likely.

A dream maybe.
Without ideas there are no dreams and without dreams there is no innovation.
 
Last edited:
Benefits for users:
+A common and familiar user interaction layer relating to downloading, installation,ui framework, maintenance and updating of a single ecosystem instead of an infinitely growing number of sampler systems, downloaders,license managers etc..
- OK, well some of these are quite do-able right now, we can have a group of 3rd-party developers all agree on things like:
- the download manager, including an in-plugin download system (which I have already in*cough* "the platform which must not be named")
- the installer, again I have an in-plugin installer. So if after suitable trial in the product we are about to roll-out this month, then I would be more than willing to share this functionality with any and all developers on "that platform again...")
- what do you mean by "maintenance and updating" isnt thsi just a subset of download and install?
- There already is a common license manager available to developers "on that platform"
- I think we might even get to agree a whole bunch of other stuff too:
- common Keyswitching protocol
- common tag based sound/sample based browsing
- common preset load/save and share protocols


+Memory efficiency and stability derived from a single plugin technology rather than 8 different sample players in a projects for example.
- so all that is required here is for all developers to select a single platform to work on
+Less time mastering the interface and underlying functionality of multiple samplers.
- what does "mastering the interface" mean here? You mean learning the platform? if so - same as the point above - except I think you've understood the actual interfaces developers want to present are often quite different from each other - on purpose.
+No direct extra costs for the host sampler and smaller indirect costs through savings in in-house development costs.
- so developers get the platform for free essentially? And there is no implicit or explicit revenue stream going to the "platform owning entity"?: If so then I will return to this point below.. but in any case I don't understand how "savings in in-house development costs" is a benefit to end users...unless you think this would be reflected in the unit price somehow - and that's so not g'teed at all.

+Assurance that the technology is controlled, and road mapped by a mutual consortium of members rather than a small group of "owners" controlling the future of the system. (Imagine the dangers if the MIDI protocol belonged to a single commercial vendor who could decide at any time to exploit the wide adoption of the protocol for financial benefit.)
- again you seem to be confusing ownership of the IP with ownership of the platform - in an open sourced product. I thought I'd explained this already - no one "owns" the platform in an open source product, no one "owns" or dictates the future of the system

+The benefit of using a system with adequate funding for best of class quality control instead of using dozens of sample players in various stages of (in-)stability.
- where is this funding coming from? Above you seem to suggest("No direct extra costs for the host sampler") there would be no cost to the developer - so not from the developer community. Please explain (even roughly) what the financial model here is that pays for the commonly shared sampler platform
 
sorry I had to split this over two posts...


Benefits for sample developers:
+Potentially best of class technology developed from pooling financial resources for development, better and larger code teams etc, than what would be sustainable by individual developer's financial means or be achieved by a single or very small pool of developers.
- now here you seem to be saying the development community *do* pay for the development costs - and I think many post here have adequately explained the problems with this model (inequitable "say" and developer reluctance to buy into yet another "consortium amongst others)
+Potential technology contributions/donations by members.
This already happens in an open source based product - and is already happening in the community around the sampler platform "that shall not be named" - there's even a built in technology(Snippets) to facilitate this in the platform itself - that is used daily in the forum associated with the platform to share useful and explanatory functionality - something a new platform will need too.
+Potential availability of grants not available to commercial developers or commercially licensed open-source projects.
- Grants? There are grants for doing development work!!! Holy cow - point me at the web sites or application process - I'm *IN*..honestly not trying to be sarcastic - point me at em...

+Member control and road mapping of the system.
- Again in an open source product this already exists, and out in teh real world has proven to be a workable model for road mapping, defining and developing functionality, whereas your proposition - well I cant think of one non-standards defining (who build nothing) example of this working. So if Im not being clear - Yes MIDI 1.0 worked - because no one built anything to share, and even then look at how long MIDI 2.0 took....

+No surprises when the controlling owner of the IP changes licensing structure and fees, development priorities or sells the IP/copyright to a third-party commercial interest.
- So this is essentially a trust issue no? It's got nothing to do with the underlying technology - or its licensing. The question is do I trust ChrisBoi or some committee of developers with deeper pockets than me to play reasonable. I have already made my choice....

+Lower risk for sample developers flowing from potentially lower financial expenditure as compared to developing an in-house proprietary sample player but with the benefit of still helping shape the system at the meta-data level.
- But if the sample player already exists (and lets pretend that it does) why are we re-inventing the wheel here? I already enjoy these benefits.

+More development resources and time available to develop sample content.
- Perhaps you seem to thing the development community is full of developers building for more than one platform, and yes there a very small (less than 5%) sub-set of developers in this (self inflicted) position. Everybody else is developing for a single platform already, so these savings are nearly non existant.

+Lower entry cost and access for smaller developer members to best of class technology while still having proportional input into the shaping of the system.
- I put in 5,000, Developer A puts in 150,000, Developer B puts in $250,000 - how is proportional representation helping me?

+Quicker intervention and influence on bugs or ineffective features.
- Quicker than what? You seem to think this "owner consortium" will be more efficient than a single developer (with or without and agenda), as well as quicker than a single large private company. Experience tells me this isn't the case.
+More control over library encoding.
- What? How? Given a single platform (and as I say above 95% of developers are already in this position) this isnt a saving at all - as long as you *DONT* select a platform that puts you through the wringer to "encode" the library but allows you to publish freely and easily without involvement from the "consortium" (and if you have selected that option then "more fool you")

+A fair distribution channel.
- who owns this distribution channel/ How is it funded?
+Modularity to allow for integrating third party functionality specific to an individual developer's preferences.
- already available in that platform I wont mention again. But this tends to break your "end user ahs to learn to use only one platform" benefit, as we now have developer-specific - and possibly product specific - functions that need to be learned.
+independence from commercial or quasi-commercial, or commercially licensed open source subsystem dependencies such as JUCE over which there is no control.
- what you are going to build this from base-metal? No Audio Library of any sort? How many person years do you think that will take? Have you tried to build anything like this? My back-of-the-envelope estimate for this would be 10-12 person years for a set of experienced DSP software engineers - Lets assume you can get 3 of these - plus some project manager plus QA - rough costs - $1.4 Million spread over 4 years. So that's an investment of $1.4M with no pay back until 4 years later. Read "The mythical man Month" to see why "just adding more people" wont work. I think any sane sample library developer will run a mile from this proposition.
+Equitable and impartial access to the technology available to all contributing members.
- you describe open source me thinks...
+Management by the best industry leaders in management and technology visionaries appointed by and reporting to a board of contributing members. Pooled resources will make this possible.
- whos paying this management team? Can I be on it?

+Development by a world class team of programmers. Pooled resources will make this possible.
- whos paying this team of programmers? Can I *not* be on it?
- What are these "pooled resources"? Are you suggesting that the developer community will give up their programmers to this? If so then two issues: 1. no developer is giving up their hard won development resource, and thus reducing their in-house output to a trickle, whilst this development cycle continues to its unknown end-date, and 2. The Developer resources employed at sample developers(mostly Kontakt KSP people) are entirely unsuited to this development effort. In short the resources you need are not in the developer consortium, and even if they were you wouldn't get them.
There are probably many more I could think of if I spent the time.

You may argue that a third party quasi-commercial or commercially licensed open-source system addresses many of these aspects but as long as it is not controlled by a truly independent industry foundation in a similar manner as the Midi Association it is unlikely that adoption and contribution on any wide scale is likely.
I think I've explained why MIDI Association works, and isnt a useful comparison. The useful comparison is more likely Linux - and again we are back to open source solutions.

A dream maybe.
Without ideas there are no dreams and without dreams there is no innovation.
Dreams are great and I applaud them - but from a developer perspective this isnt a dream, it's a nightmare...
 
Perhaps another example: https://cleveraudio.org/

This is for a great, open plugin-format and has some buy-in, with high-profile names behind it and a very active community.

Could something similar be achieved for a Sampler framework ? Maybe, but there's a *lot* of work to even getting it started, and I don't know if it satisfies all of the OPs ideals.

Even then, CLAP is still struggling to get industry adoption, despite removing licensing issues and providing some really good features.

These things are possible, but not as easy as they may seem.
 
Thanks, that's a pretty comprehensive list. Apologies for the length of my reply but I want to address your points.

I don't think we can use MIDI as a model here. MIDI is a standard rather than a piece of software, and it is really a standard for hardware manufacturers. We sample library devs don't always obey the standard - partly because of its limitations which we are not able to change - there is no collective control for us.

SFZ would be comparable to MIDI as it's also a standard, and Sfizz is a player that uses that standard. It's also open source so anyone can contribute to it.

Assurance that the technology is controlled, and road mapped by a mutual consortium of members rather than a small group of "owners" controlling the future of the system.
All software is controlled by a group of owners. Even open source projects, because someone has to write the code and someone has to own the copyright. There is no way for it to be ownerless.

The only way to make sure all developers and future developers will have control over the source code is to make it open source, and copyleft. If it isn't copyleft (like GPL) then any developer can take the code and make a closed source version at some point, locking out everyone else from the control that you desire. This of course has the knock on effect that derived products must also be copyleft - I'm okay with that of course but no-one else here is, sample developers believe they have precious secrets that will ruin them if anyone else knows.

The benefit of using a system with adequate funding for best of class quality control instead of using dozens of sample players in various stages of (in-)stability.

Potentially best of class technology developed from pooling financial resources for development, better and larger code teams etc, than what would be sustainable by individual developer's financial means or be achieved by a single or very small pool of developers.
Adequate funding does not equal best of class quality control. Do you think EastWest/Spitfire/OT/Cinesamples don't have adequate funding? There are enough threads here complaining about their lack of QC.

Regarding funding in general: This foundation/consortium is to be made up of sample library developers, pooling resources to create a sample player. Who is actually writing the code and is their only incentive the money from the sample library developers? If so, then we're back to the situation where the sample library developer with the most money will have the most control.

HISE already surpasses Kontakt in almost every way, and it is primarily the work of 1 developer (standing on JUCE's shoulders of course). Incirios is another JUCE derived player that is developed by a single developer, as is Decent sampler.

A larger code team does not produce better code. Sometimes it does, but usually too many chefs is not a benefit. Reaper is one of the most efficient pieces of audio software and it only has 2 devs.

Potential technology contributions/donations by members.
I'm not 100% sure what you mean here. But again with HISE and Sfizz anyone can add anything they want. If you have an idea and you know how to implement it in C++ then you can add it.

Potential availability of grants not available to commercial developers or commercially licensed open-source projects.
Do you know of any such grants? I have a project that would benefit! Edit: Ha, I just saw Lindon is after the grants too. Okay you can have the first one.

The only real use I can see for grants is if a developer (or multiple) wanted a specific feature adding, they could hire someone who is already familiar with that feature. But for general development a burst of money isn't going to be able to add anything. You can't hire someone full time on a grant, and you can't bring in an outside programmer and train them on your codebase and the needs of the users to add a feature or fix a bug for as long as the grant funding lasts.

No surprises when the controlling owner of the IP changes licensing structure and fees, development priorities or sells the IP/copyright to a third-party commercial interest.
Again a copyleft license is the only guarantee of this. It doesn't matter if the copyright is owned by an individual or a collective/foundation, if it isn't copyleft there is no way to prevent it being closed source in the future.

Lower risk for sample developers flowing from potentially lower financial expenditure as compared to developing an in-house proprietary sample player but with the benefit of still helping shape the system at the meta-data level.
All this I agree with. It is a crazy expense of time and money to reinvent the wheel. But software companies do this all the time.

+More control over library encoding.
Encoding is really a Kontakt thing. If you look at an SFZ instrument for example they are just text files and wav files. For most other formats encoding = compiling, and that's just a normal part of writing software.

A fair distribution channel.
I assume "fair" here is in contrast to what Mike Greene was describing the situation is with Kontakt? I don't see how you can get fairer than each developer can do what he wants independently of other developers, which outside of Kontakt's ad thing is pretty much the situation we have.

independence from commercial or quasi-commercial, or commercially licensed open source subsystem dependencies such as JUCE over which there is no control.
JUCE is free software, copyleft. There is total control over it for any developer. A copyleft license places only a single restriction on developers (not users). The restriction is that any freedoms they have been given, they must also give to future developers and users. Without this one restriction any developer can take the source code and withhold it from everyone further down the line. The copyright holder is always able to change the license for future versions, but versions already released are fixed.

The copyright holder can also dual license. For example if a sample library developer says to JUCE, "hey I want to use your code but I don't want to share anything I've done with anyone else", JUCE can say, okay but you have to pay me for that. This is how the collective of JUCE developers is funded. HISE uses a similar model.

When we're talking about selling sample libraries, commercial isn't a dirty word.

Management by the best industry leaders in management and technology visionaries appointed by and reporting to a board of contributing members.
Sounds like a perfect way to reward your friends ;) Who decides that someone is a visionary?

Development by a world class team of programmers. Pooled resources will make this possible.
A lot of programmers aren't motivated primary by money, they write code because it's what they enjoy doing. To use Reaper as an example, Justin is a fantastic programmer, and also incredibly wealthy, he doesn't write Reaper because he needs the money. You couldn't hire Justin to write your sampler even if money was no object (well you can ask him).

I've skipped some of your points because my answer would be "HISE already does this" for most of them. Your ideas are nice and idyllic but to me seem either impractical or unnecessary. The foundation you've described doesn't offer any advantages over what we already have and introduces some new concerns.

It seems what you want is HISE but without any individual holding the copyright. How transferring the copyright to an organization is better I still don't fully understand. Usually a foundation is primarily created for financial support, but in the case of something like HISE that isn't needed because it already has a financial model.

This works because HISE is a developer product, if it was for end users then a foundation would make more sense, because users don't have the same incentive to invest in HISE that a developer does. This is why things software like Firefox benefit from a foundation to generate income, because users are not going to fund the browser's development.
 
Last edited:
Even then, CLAP is still struggling to get industry adoption
CLAP is going fairly well I would say, it's not struggling. The main point is CLAP is not even looking to outright replace all plugin formats, that's not its main purpose. The main purpose is to be the greatest common denominator format from which you can then produce other plugin formats without requiring you to agree on 3rd party licensing whims (primarily Steinberg).
 
SFZ would be comparable to MIDI as it's also a standard, and Sfizz is a player that uses that standard.
Personally I don't consider SFZ a standard, it's just a file format. The adoption rate is not there to really call it a standard. Also, it's a bit of a mess of a format (various duplicate opcodes across various implementations, a bitch to parse due to various ambiguities...), in much the similar way LV2 is a bit of a mess.

Encoding is really a Kontakt thing.
And Falcon, and HALion.
 
There is little point in continuing this thread because those with an interest in Hise are dominating the discussion in favour of promoting their own technology at the expense of the OP.

But I do suspect there will be some prudent observers who will take note of some of the positive contributions here, and who knows, maybe someone will see the merit of the idea and advance it in some form or another at some future point.

Signing Out.
 
Regarding IVLS (which sounds cool btw) is what you are designing just straight code? Is there an API for develpers to give users a way to tweak a few inner workings and share the results, from a macro user level without jeopardizing IP? It seems the trend is to take all that away and dumb things down at the user end.
IVLS is real code, but there will ideally be a graphic interface to manage the higher-level flow of software components in a graphic node chart. It is essentially a hybrid paradigm of nodes and code.

To answer your other question, IVLS is not a sampler or plugin. It's a language for playback design that can be used for building in other platforms (atm, just Kontakt). So building a Kontakt instrument with IVLS, the availability of accessing the code is standard offering for Kontakt, and it will be somewhat unreadable "compiled" KSP, not the elegant expressions the developer wrote at the IVLS level.

If an actual IVLS-focused sampler was created, then I for sure would think about ways to merge the user experience into allowing them to manage and edit nodes themselves, of course with publicly available tutorial literature and videos on how to write good code. That being said, many developers likely would never use such a platform for their products if that was the case, as people tend to want their algorithms to remain private and inaccessible.

That very much depends on how it's implemented. If you're trying to write a full script, like a kontakt script for example, then yes I wouldn't touch node based systems.
But when abstracted out to be essentially OO based, you get something like:

Screenshot 2023-12-02 at 11.53.33.png

Which doesn't look like a long script, but this is handling legato, adjusting multiple parameters of an ADSR, the start offset of the samples for n mic positions, level matching (grabbing individual voices within voice collections and getting their current float values) between n mic positions over the entire instrument object, which does that for each active articulation and sampler when done on the instrument.

It would take (and did) take significant amount of code to achieve that same level of control for an end developer, so the type of abstraction done based on a node graph system changes how these things end up looking (ie blender compared with unreal).

Can you explain where in this node chart you are processing legato transition crossfades? I don't see anything like that.

Regardless, graphic nodes are great at expressing I/O relations, which is most of the features you are describing here. "This data is a function of some other data, perhaps after some transformations". But my comment specifically said "procedural logic", and this is not procedural logic. Graphic nodes are really bad at expressing complex procedural logic that stores memory, which is the vast majority of the features we implement in our libraries. As soon as you bring in several nested `if-statement` nodes, the readability of a graphic chart really takes a nosedive.

My project is aimed at leveraging the composable block nature of traditional nodes but in a hybrid method of it being direct-code that follows protocols. I did a lot of research and examined a lot of complex use-cases across products (guitar fretting algorithms, multi-layered arp/sequencers, mod matrices, lookahead with midi analysis, poly legato, etc.) and determined a paradigm that respected the significance of state in interactive logic (rather than trying to sanitize it away with a functional I/O) is the best way forward for the industry to advance its playback design.

Interactive VI logic like the features I listed really is more akin to stateful game logic than it is functional data-passing.

There is no reason once more powerful technology exists as a base that you can't build simpler tools on top of it to get access to an ease-of-use like you're showing in this diagram. They're not mutually exclusive. But if you build your technology directly at the ease-of-use level, it becomes difficult to dig deeper for more power and flexible multi-paradigm approaches when it isn't enough.

This is how Blender and Unreal nodes work. Their node systems are fully featured, but they also still allow complete programming solutions (in Python and C++ respectively) when the needs are highly complex and specific. And, they also allow individual nodes themselves to be implemented by the user (scriptable nodes). If Incirious gained such an ability, I would be overjoyed to have another option for building IVLS on.
 
I‘m really curious in how you try to achieve a higher level voice management system across multiple systems, just to take Kontakt and HISE (and therefore JUCE / C++) as example. I would guess that these systems are so different in their setup that you have to do so many low-level adaptions and „boilerplate“ code that it surpasses the code size and complexity of your actual system.

But it sounds intriguing and I‘d happy to hear more about it and give some feedback (from my experience it‘s good to think about at least two use cases when your aim is to write something platform agnostic).
 
CLAP is going fairly well I would say, it'as not struggling. The main point is CLAP is not even looking to outright replace all plugin formats, that's not its main purpose. The main purpose is to be the greatest common denominator format from which you can then produce other plugin formats without requiring you to agree on 3rd party licensing whims (primarily Steinberg).
I only mention 'struggling' as from the general outsider view, it's only available in a few DAWs and a spattering of plugins - it's definitely increasing, but not 'mainstream' yet. I'm very aware how active the Discord is.

I see the similarity with a sampler though - not to replace all of the others, but to be a solid open base, that can be built upon. I think the same approach could possibly work, albeit a lot of effort as alluded to by others.
 
This is how Blender and Unreal nodes work. Their node systems are fully featured, but they also still allow complete programming solutions (in Python and C++ respectively) when the needs are highly complex and specific. And, they also allow individual nodes themselves to be implemented by the user (scriptable nodes). If Incirious gained such an ability, I would be overjoyed to have another option for building IVLS on.
This is the key 100%. Another great example would be SideFX Houdini, and perhaps Node-Red.
Let me use Visual nodes to orchestrate, and perhaps build complete systems, but write custom nodes when needed.

A bad example would be Max/MSP, as powerful as it is, as the visual aspect is not intuitive and just ends up more as 'creative spaghetti'. Similarly with Reaktor. (Both of these are much older, so perhaps just need some serious re-design on the UX).
 
Can you explain where in this node chart you are processing legato transition crossfades? I don't see anything like that.

Regardless, graphic nodes are great at expressing I/O relations, which is most of the features you are describing here. "This data is a function of some other data, perhaps after some transformations". But my comment specifically said "procedural logic", and this is not procedural logic. Graphic nodes are really bad at expressing complex procedural logic that stores memory, which is the vast majority of the features we implement in our libraries. As soon as you bring in several nested `if-statement` nodes, the readability of a graphic chart really takes a nosedive.

This sampler handles the legato and what happens within that sampler. Above that, the articulation will forward information only to the samplers that should play. Above that, the instrument handles delegating tasks to articulations. Again, its OO structured.

To take your multiple nested ifs example, you would delegate these down to samplers, many samplers in INCIRIOS instruments are just as simple as 'play note' or 'play crossfade note', which handles internal crossfading of sounds vertically within the sample map for that sampler.

Again, these things can work and be neat if you think of your code more in an object orientated way, since under the hood, that's essentially what's happening. This isn't to say you should use node systems, just a statement about how using them sort of enforces smart code structuring in the same way coding it in a full system would. Just like learning the best way to use a language is to play to its strengths, its the same with node systems too.
 
This sampler handles the legato and what happens within that sampler.
It is intellectually dishonest to say "look how simple this is compared to code" when more code is hidden in other nodes. That's how real programming works too, you know? We have these things called "functions".

To take your multiple nested ifs example, you would delegate these down to samplers, many samplers in INCIRIOS instruments are just as simple as 'play note' or 'play crossfade note', which handles internal crossfading of sounds vertically within the sample map for that sampler.

Again, these things can work and be neat if you think of your code more in an object orientated way, since under the hood, that's essentially what's happening.
If your answer to creating a nested if-statement is to fragment the constituent if-statements into different objects, there is nothing else to be discussed here.

This isn't to say you should use node systems, just a statement about how using them sort of enforces smart code structuring in the same way coding it in a full system would. Just like learning the best way to use a language is to play to its strengths, its the same with node systems too.
It doesn't. The software industry as a whole has already realized that fine-grain fragmentation of code statements has lead to expensive catastrophic design failure in many industries. Please do some reading on how OOP is massively over-used and blind adherence to paradigm abstractions (like you are suggesting) has produced awful horrendously over-complicated designs.
 
The advantage Gorilla has is that it's very similar to Kontakt, even in its scripting. (Mind you, I haven't actually seen it for myself, this is just what I've been told.) And it's really efficient, in terms of loading times, voice counts, and all that. (Much faster than UVI, but I'm not sure how it compares to Kontakt.)
err... its not as similar as you think, my experience is that its about as similar as HISE (actually a bit less intuitive but I'll put that down to my addled brain).
That could be, since I haven't actually tried Gorilla for myself. I was just repeating what a fellow developer who released in Gorilla told me. At some point I'll give it a look.

Plus, staying close to Kontakt allows a few shortcuts. For instance, we don't really even need to build a drag&drop GUI for the mappings, since we could get Garth (Chicken Systems) or someone to build us an equivalent to his Translator app. So we could build in Kontakt, then it's translated into data and ported to our player.
Good grief I wrote this in an afternoon for porting from Kontakt to HISE sample maps: You take a kontakt instrument - run a Creator Tools script over it and out comes HISE Sample maps ready to load. So this is done already for HISE.

The *important* point here wasnt that I could do this in Creator Tools ( it was nice but I had to learn LUA at the same time ) - no the really important part was that the HISE Sample Maps were open and human readable, they are XML (an open well understood format) the sort of thing NI will never do for their data formats, and that you will *need* to do for your sampler MIKE
Exactly. My point wasn't that HISE couldn't do this, it was simply that if I created a sampler, there could be some cost-saving shortcuts, with this example being that perhaps we wouldn't have to create a graphical Mapping Editor. I could simply use Kontakt's Mapping Editor, then transfer the data (XML, JSON or whatever) to my sampler.

Regarding your other points, they're all valid, so I don't want to get into a debate about it. It's just that I'm speaking strictly about a custom sampler that I (and a few others) would be creating, as opposed to whether HISE can already do all these things. (Which, of course, HISE can, and in many cases, very well.)

I'm not arguing against HISE. (Except from a business perspective, where I have plenty to say, as I've explained in the HISE thread.) It's just that HISE wasn't for me. Groups, for instance, are handled in such a different way that my KSP script for Blue had to be completed rewritten - not just the syntax, but the logic itself. It was too foreign to me, so I wasn't comfortable knowing I'd have to repeat that foreign (to me) process for all my other libraries as well. And the less-flexible wait command thing, which is a deal-breaker.

My workflow has admittedly been calcified in the Kontakt environment. (You know what they say about old dogs and new tricks. ;) ) Importantly (and as evidenced by so few developers making the HISE switch), I dare say a number of the larger Kontakt developers have a similar attitude. Kontakt is the devil we know. We may be pissed at that devil right now, but jumping to a new devil only makes sense if it's minimally disruptive to our existing workflow. That's why a new sampler would ideally be as Plug&Play identical to Kontakt as legally possible.

I also need to make clear that this "new sampler" thing I'm talking about is very preliminary. We're just seeing if we can raise the money (it's looking like we can), and talking with other people who have done this already, to get an idea of what would be involved, what the costs might be, and do they have regrets.

To actually pull the trigger is a whole 'nother thing, and a lot more research will need to have been done by then, including actually trying Gorilla for myself, before heading down the path of reinventing the wheel.

I only chimed in on this thread because some of us are already looking into exactly what the OP suggested, so I thought it might be of interest, since we've already thought about details like costs, and how many developers can be involved without it becoming unwieldy. (OP mentioned "two hundred small developers" in this post, which IMO would be nuts.)
 
Top Bottom