On my system with Halion 5, 64bit version…
Program changes (Called via MIDI) can cause H5 to crash and bring down any host I’ve got it running in.
I’m finding different ways to ‘work around’ this…but I’m wondering if others have experienced it, and possibly found a way to correct it.
First, let me say it all works fine as long as I stick with the “Basic General MIDI” SE sound set. With the General MIDI Multi loaded, even rapid changes work quite well (I.E. rapidly changing between arco and pizzicato strings, or muted and open brass in the middle of a passage).
If I go in and change some of the programs in the program tree slots 1-128, I get some odd behavior.
If no presets are loaded at all, the first time H5 gets program changes it loads the programs just fine, and happily plays them.
Unless that initial loading was one of the factory SE [GM] programs, the very next time it gets a program change on a channel that is not ‘empty’, or has a non [GM] preset loaded in it, it crashes instantly, and brings down the host with it.
Example…take a different strings layer from Sonic (non key switching…no pizzicato or tremolo layers…only one velocity layer)…and replace [GM 049] Ensemble Strings 1 in the program tree. Play something that calls up [GM 048] Pizzicato with a program change and so far it works, but when PC 49 gets called up again to go back to arco…it crashes so hard it brings down the host. Set always preload flags in the program tree, and it still crashes. Tweak streaming and preload sizes…it still crashes.
It stands to reason that larger multilayered programs trying to load really large (or many layers of) samples may not load fast enough for fast patch changes to be practical in the middle of a playing passage; however, the fact that sending a program change…even without any other MIDI data following it CRASHES the whole system is disappointing. At worst…notes sent to that channel just get ‘stolen’ until enough of the samples are loaded to start playing them…
Here’s another example:
I’ve made some Sibelius soundsets for H5. In this case we’re focused on the Halion Symphonic Orchestra sounds. I’m using program changes so Sibelius can automatically use soundworld to call up programs in Halion. My maps are geared to use key switches…so Sibelius is NOT asking for any ‘program changes’ in the middle of a sequence.
Now, even if Sibelius is NOT asking H5 to change patches in the middle of a song…H5 is prone to crash if anything about that soundset changes and sends a different program change. (I.E. Deciding to change a stave from a Trumpet ensemble patch from HSO to a trumpet solo from Sonic…even if this is not a real time change that would occur while the sequence is playing…it’ll crash). Even if I just send a program change from my MIDI controller (no other MIDI data following)…bam, it crashes
Currently my workaround is to load up H5 empty. Load a score in Sibelius, and it automatically sets up H5 with program changes. At this point I have to go into H5 and disable its ability to accept program changes. If anything changes, I have to clean out H5, renable program changes, hit play on Sibelius, stop it, then go back into H5 and disable program changes again
Again, I well understand that it’s not practical to change large patches rapidly (we should use key switches or multiple channels and such instead)…but it shouldn’t come crashing down if it does get a program change (in my case…even from a dead stop…with nothing sent but a program change…no ‘musical data’ following it).
For the time being my work around is to just set it all up manually…or carefully do a PC blocking juggling act (with filters in bidule that I can punch in and out via remote from my MIDI controller). I still have to go in and blank out the channel in H5 and start over, or manually change stuff anytime something needs to change. Doing it all manually takes quite a few minutes for larger scores
I’ve had this type of crash when working in Cubase as well…from version 7 - 8.5 Pro.
It’ll also crash in the same way if I run it in Bidule (both VST2 and VST3 plugins) connected to a host Via rewire.
It also crashes like this in Stand Alone mode.
At first, I noticed that Sibelius can sometimes send dozens of program changes all at the same time. I figured that H5 being asked to load up 20 or so channels all at once might cause it to blow up. So I built a little bidule to block ALL other MIDI data, and pause 10 seconds between each program change (Send PC for channel 1, wait 10 seconds, send the next one for channel 2, etc…). No help…H5 still crashes…with just a single program change to any channel with a non SE [GM] program loaded
Am I doing something wrong?
Am I the only one?
Here is my H5 Multi set up for Halion Symphonic Orchestra (so far), and the Sibelius sound map (so far).