Attention:

Welcome to the old forum. While it is no longer updated, there is a wealth of information here that you may search and learn from.

To partake in the current forum discussion, please visit https://forums.presonus.com

Custom Rules Kontakt multiple instances problem

A Forum to Discuss NOTION

Custom Rules Kontakt multiple instances problem

Postby lillosnx » Sun Aug 12, 2012 8:10 pm

I would like to be able to use one Kontakt instance loaded with string sounds and articulations, another instance for wind instruments and their articulations and yet another for brass instruments and their articulations.
Problem is that all instances of Kontakt have the same id number, so how can I differenciate them in custom rules?
The reason I cannot load all instruments (strings, winds, brass) in the same kontakt instance is that if for example articulation staccato is assigned to a certain string staccato sound, putting the staccato marks over lets say a flute line will recall the sting staccato sound.
Is there any workaround?

Thanks in advance

Nikolaos Katsouris
lillosnx
 
Posts: 8
Joined: Sun Aug 22, 2010 4:18 am

Re: Custom Rules Kontakt multiple instances problem

Postby pcartwright » Mon Aug 13, 2012 8:59 am

You would need to write rules so that each articulation is assigned to a different MIDI channel (1 - 16). So, for example, your regular sustained patches would go to channel 1, staccato to channel 2, sordino to 3, and so on.

You would then have two or more different instances of kontakt in Notion. Each instance would have a different instrument with the articulations assigned to the correct channel. This can be problematic as some libraries utilize keyswitches for articulation changes, and, considering that instruments have different ranges, keyswitches might not line up consistently between different instruments.

Does that help? I can elaborate further if it would be useful.
pcartwright
 
Posts: 796
Joined: Sat Dec 05, 2009 2:47 pm

Re: Custom Rules Kontakt multiple instances problem

Postby Surfwhammy » Mon Aug 13, 2012 9:22 am

There might be a roundabout way to do this, but at present all I can do is a bit of guessing . . .

I think that NOTION 3 can send MIDI commands in real-time, which is done by its MIDI Out functionality, which supports four MIDI ports or devices (A, B, C, D) and some number of channels per port or device . . .

In NOTION3 you can configure up to four external devices that can provide instrument sounds in response to MIDI commands. You inform NOTION3 about these devices in Preferences and assign each device a letter, A through D, as a shorthand description.


The NOTION 3 User Manual information on this is a bit sparse, as is the information about using channels, but depending on the way you read the documentation, it appears to be possible . . .

f you like, you can have NOTION3 read a score and translate notation and some score markings for one or more parts into MIDI signals. The external equipment then reads these signals to produce certain instrument sounds, instead of NOTION3. Since the sound is generated at the external device and not at your computer, many studio setups include an external mixer, digital audio workstation, or other audio equipment that can “sum” together the sounds from NOTION3 with the sounds from the MIDI device.


Similarly, the Kontakt 5 Application Reference specifically mentions that what it calls an "Instrument Bank" can be configured to interact with a specific MIDI port, channel, or whatever . . .

Banks allow you to combine up to 128 Instruments into a container that responds to a single MIDI input channel; you can then switch the active Instrument by sending MIDI program change messages on this channel. This allows you to create General MIDI-compatible sound sets, or combine Instruments that contain various articulations of the same acoustic instrument into one slot. A typical example of an Instrument Bank would be a number of violin Instruments that contain legato, detaché, staccato, and pizzicato Samples, respectively, with the different articulations and playing techniques being switchable via program change messages.


THOUGHTS

One of things I always do is to look for what one might call "unusual" ways to do stuff, which from the perspective of Computer Science involves discovering things that software will do but are not so obvious, and sometimes these things are made difficult by design, which typically is done by the folks who design and program operating systems, where for example Mac OS X and Windows generally make it very difficult to have a bit of FUN with self-modifying programs, but there is a way to do it in Windows, at least through Windows XP when you can create VBScript scripts in real-time on the fly and then run them, where another way is to create your own interpretive programming language in Visual Basic, but even though there are ways to do it, the operating system folks tend to make it difficult toward the goal of discouraging folks from doing it, since once you discover how to cause a computer to become intelligent, everything gets a bit surreal . . .

[NOTE: I like to design computer programs that create computer programs and then run them, but when an operating system allows this to be done easily, it can be difficult for the operating system to maintain control, since programmers are not always so skilled in controlling recursion, hence the primary reason that it usually is discouraged vigorously by design. It was difficult to do in Windows until VBScript appeared, but so long as you could jump into MS-DOS (command line mode) for a while, it was not so difficult, especially when combined with hooks, really . . . ]

So, depending on the way one reads the bits of information I quoted from the NOTION 3 User Manual and the Kontakt 5 Application Reference (see above), I do not exclude a few possibilities, and I am intrigued by some of them, which might not be so difficult to test, once I make a bit more sense of MIDI . . .

On the other hand, I am not convinced that articulations actually need to be specific for particular instruments, since this makes no intuitive sense if you think about it for a while . . .

Obviously, doing staccato on a violin is different in terms of playing technique from doing staccato on a trumpet, but I think the music notation is the same . . .

If you look at the way Miroslav Philharmonik (IK Multimedia) works, each instance can have as many as 16 "instruments", each of which is assigned a "part" and "channel", and without creating any custom rules, if you watch it responding to articulations in the music notation, you will observe that, depending on the specific articulation, a particular "instrument" will do audio generation for the specific note(s) . . .

I have not done a lot with Kontakt 5, but this appears to be similar to the way an Instrument Bank works, so one possibility is not to use any specific Kontakt 5 custom rules, but instead to determine what NOTION 3 sends to Kontakt 5 for different articulations, where you then can create an Instrument Bank that has the correct set of articulations to respond appropriately to whatever NOTION 3 sends, although perhaps not . . .

The other way, which I think is more complex and might not work, is to use MIDI Out to control Kontakt 5 directly when it is running in standalone mode, which might work, although perhaps not . . .

On the Mac, which is where I do everything, if NOTION 3 can control Kontakt 5 via MIDI Out ports and channels, devices, or whatever, then the only problem I envision at the moment is getting the Kontakt 5 generated audio into a Digital Audio Workstation (DAW) application (for example, Digital Performer 7.24 [MOTU]), where the reason is that since NOTION 3 is not generating the audio, the audio needs to come from Kontakt 5 and to be sent to the DAW application, which probably is the case with the instruments for which NOTION 3 is generating audio, where for these instruments the NOTION 3 generated audio can be sent to the DAW application via ReWire . . .

One of the problems is that Kontakt 5 does not do ReWire, but Kontakt 5 can operate as a VSTi virtual instrument in a DAW application, if the DAW application supports VSTi virtual instruments, in which the problem is a matter of determining whether NOTION 3 can send commands via MIDI Out to Kontakt 5 when Kontakt 5 is functioning as a VSTi virtual instrument for a DAW application, although I suppose it might be possible for the DAW application itself to receive the MIDI Out commands from NOTION 3, but at this point the entire thing is a bit mind-boggling, and until I have time to do a few experiments, I simply do not know . . .

Regarding custom rules, this line from the NOTION 3 sample custom rules file is intriguing:

Code: Select all
<plugin id=""> <!-- Enter PluginID here or use <midi-out id="X"> where X = A,B,C or D for MIDI out port rules-->


And this might be a useful clue, where instead of focusing the Kontakt 5 custom rules on the plug-in ID, focus it on MIDI Out ports . . .

If you read it literally without doing a lot of thinking, it tends to suggest that you can make articulations specific to a MIDI Out port (A, B, C, D) . . .

There is another bit of interesting information in the NOTION 3 User Manual, which makes a lot of presumptions regarding specific knowledge of complex sound production systems, and it is the part that refers to being able to use the strategy of sending NOTION 3 stereo groups, or alternatively up to 32 stereo channels, to external sound processing equipment, where everything is mixed externally, and as best as I can determine at present his is something which might be practical to do with a MOTU 828mk3 Hybrid audio interface, which I have, since it has its own mixer (CueMix FX), in which case the problem continues to be determining how to redirect (a) the audio generated by Kontakt 5 when it is running in standalone mode but is being controlled via MIDI Out from NOTION 3 to (b) the external mixer (CueMix FX) or to a DAW application when everything running on the same computer, except for the external processing that the MOTU 828mk3 Hybrid audio interface does, of course . . .

SUMMARY

At present, all this stuff is mind-boggling, but I am beginning to envision a strategy that might work, and while it might not work so easily with Kontakt 5, it might work easily with Reason 6.5 (Propellerhead Software), since getting the Reason 6.5 generated audio into Digital Performer 7.24 is easy, since Reason 6.5 supports ReWire, and I already have verified that it works nicely with Digital Performer 7.24 . . .

Explained another way, there might be a way to do what you want to do, but it probably is a bit different, and the strategy I use in this scenario is to start doing experiments toward the goal of discovering how everything works, which (a) is both annoying and frustrating; (b) typically takes several months; but (c) usually maps to discovering something useful, which I call a "workaround" . . .

And it is important to understand that a "workaround" usually is different from what you intuitively wanted to do originally, but it solves the problem, which is my primary focus here in the sound isolation studio, since while stuff might not work the way I would like it to work, so long as I can devise a "workaround", then I am happy, which is fabulous . . .

Fabulous! :D
The Surf Whammys

Sinkhorn's Dilemma: Every paradox has at least one non-trivial solution!
User avatar
Surfwhammy
 
Posts: 1137
Joined: Thu Oct 14, 2010 4:45 am

Re: Custom Rules Kontakt multiple instances problem

Postby lillosnx » Mon Aug 13, 2012 9:26 am

Can you please explain to me where exactly in the custom rules I can assign midi channel?

Thanks
lillosnx
 
Posts: 8
Joined: Sun Aug 22, 2010 4:18 am

Re: Custom Rules Kontakt multiple instances problem

Postby Surfwhammy » Mon Aug 13, 2012 10:54 am

lillosnx wrote:Can you please explain to me where exactly in the custom rules I can assign midi channel?

Thanks


I am not certain about MIDI channels, but it appears that one can specify MIDI ports in a custom rules file . . .

Code: Select all
    <plugin id=""> <!-- Enter PluginID here or use <midi-out id="X"> where X = A,B,C or D for MIDI out port rules-->


But you can change MIDI channels in the score via Change Instrument, which is explained in the NOTION 3 User Manual on pages 9-10 and 9-11, and there is additional information on pages 11-8 and 11-9 . . .

THOUGHTS

In terms of focus, some folks examine everything and then decide (a) what can be done and (b) what cannot be done, which is fine, but my focus is different, and it is based on the perspective that there usually is some way to do just about anything, which might be the consequence of finding it vastly annoying to be told that I cannot do something I want to do, and when I discover a way to do something like this, I usually call it a "workaround", and it makes no difference to me if it requires a lot of extra work so long as the "workaround" is reproducible and reliable . . .

When I was in college, I had a job putting individual sticky price tags on tubes of Crest® toothpaste one sticky price tag at a time, and over several years I put sticky price tags on approximately 100 million tubes of Crest toothpaste, which (a) was the way I paid for college and (b) was the most completely and totally boring repetitive work perhaps in the known universe, but so what . . .

So what!

Compared to putting sticky price tags one at a time on 100 million tubes of Crest toothpaste, nearly nothing takes a long time, which is an important aspect of "workarounds" . . .

For example, if you can have a separate custom rule file for each instrument section or whatever (strings, brass, woodwinds, and so forth), where each custom rule file is tailored specifically for its respective section, then you can store these custom rule files in a folder, where instead of trying to do all the sections in a single NOTION 3 score, you have a separate NOTOIN 3 score for each section, which is easy to do . . .

You also can have what one might call a "super score", which has all the instrument sections but without the specifically fine-tuned articulations, so that you can hear everything playing together at least in a "ballpark" way . . .

For the NOTION 3 scores for the individual sections, you might append the name of the section to the name of the score, which might map to a set of files along the lines of {"Song-String-Section.notion", Song-Brass-Section.notion", "Song-Woodwinds-Section.notion", . . . , "Song-Percussion-Section.notion"} . . .

In this strategy, you would use the custom rule file for whichever section you are developing, swapping the custom rule files and section scores as you desire, which probably requires starting and stopping NOTION 3; doing a bit of copying; and so forth . . .

And for mixing and mastering, if you are on the Mac, you can send the NOTION 3 generated audio to your Digital Audio Workstation (DAW) application via ReWire where you can record it as soundbites for subsequent mixing and mastering in the DAW application, where on the Mac this will be easiest if you use Logic Pro (Apple) or Digital Performer (MOTU) . . .

It might be a bit annoying to need to split a NOTION 3 score into a set of NOTION 3 subscores, but yet another reality is that there is a limit to how many VSTi virtual instruments you can have in a single NOTION 3 score, and this is the way I make it possible to have as many as 500 to 1,000 instruments in a single song. It takes a while, but I can do everything I want to do, and this really is the only way I can do what I want to do, since among other things currently I am not a billionaire, hence cannot hire my own full-time symphonic orchestra to be available whenever I want to have a it of FUN with music . . .

And realistically, I am much more intrigued by the idea of having a vocal chorus, kazoo band, and string quartet traveling with me everywhere I go to provide a bit of background music, where for example if I were shopping at the local grocery store and asked the produce manager whether the scallions where good this year, the vocal chorus, kazoo band, and string quartet could sing and play something pensive or perhaps inquisiive, and I also like the idea of having a full-time lighting technician, photographer, and videographer in the entourage for those times when I embark on a soliloquy, which is best done in a spotlight, really . . .

Really! :P

SUMMARY

I like what I call the "Divide and Conquer" rule, where the strategy is to start with something simple and to get it working, hence instead of doing everything as a grand project, you separate into a set of smaller projects or steps, and get them working. You do what you want to do, but you do it in layers, one layer at a time . . .

In other words, (a) you can have several custom rules files and (b) you can have several NOTION 3 scores, and if you can create a custom rules file that works nicely with strings, then you have solved that part of the problem, and then you can work on solving the brass section part of the problem, and so forth and so on, which might work . . .

Ideally, it should be easy to do whatever you want to do, but the reality is that it might not be easy, hence the strategy of finding some way to do what you want to do and then dealing with it if it takes a little bit more work, because even if it takes five times longer, it is faster than than what could be done half a century ago, which is fabulous . . .

Fabulous! :)
The Surf Whammys

Sinkhorn's Dilemma: Every paradox has at least one non-trivial solution!
User avatar
Surfwhammy
 
Posts: 1137
Joined: Thu Oct 14, 2010 4:45 am

Re: Custom Rules Kontakt multiple instances problem

Postby Surfwhammy » Fri Aug 24, 2012 4:29 pm

lillosnx wrote:Can you please explain to me where exactly in the custom rules I can assign midi channel?

Thanks


I did a bit of scouting around, and I found a very interesting set of posts by Erufailon that explains how to control four "banks", where each "bank" has 16 channels of stuff for EWQLSO, which might be useful in devising a similar strategy for Kontakt 5 (Native Instruments) Instrument Banks:

EWQLSO (Notion Music FORUM)

Realguitar + MOR + amplitube 3 (Notion Music FORUM)

There are examples in the rule files for specifying MIDI ports, where this is the XML pair for MIDI port "A":

Code: Select all
<midi-out id="A">
.
.  [NOTE:  All the stuff for MIDI port "A" goes here . . . ]
.
</midi-out>


In particular, I am vastly intrigued by the presence of IF statements that test for MIDI channels in the rules file that Erufailon created:

Code: Select all
<rule name="Sus-Leg">
   <if midi-channel="3"/>
   <if condition="under-slur" />
   <key-switch type="note-on-prefix" midi-pitch="26" velocity="1" />
</rule>


And I think that this answers your question when combined with the information in previous posts about changing the MIDI channel via instructions in the music notation, which is fabulous . . .

Fabulous! :)

P. S. In NOTION 3, one way you can switch the MIDI channel in a Basic staff is to change the Instrument, and this is explained on page 9.11 of the NOTION 3 User Manual . . .
The Surf Whammys

Sinkhorn's Dilemma: Every paradox has at least one non-trivial solution!
User avatar
Surfwhammy
 
Posts: 1137
Joined: Thu Oct 14, 2010 4:45 am


Return to NOTION

Who is online

Users browsing this forum: exauduvu and 19 guests


cron