Creating external sends/parallel routing
-
I am working on some kind of drum module, but I do want it to have 4 outputs, 1/2 as its main output, and 3/4 for send effects so it can be used with external FX.
I have 6 samplers and I would like only some of them to send the signal parallel to 1/2 and 3/4, but I do not see any other option to route the signal externally with sends.
-
@alfaholic Sends are internal. You just want to send to different outputs and let the user assign them to different stuff in the DAW, right?
-
@alfaholic said in Creating external sends/parallel routing:
I am working on some kind of drum module, but I do want it to have 4 outputs, 1/2 as its main output, and 3/4 for send effects so it can be used with external FX.
I have 6 samplers and I would like only some of them to send the signal parallel to 1/2 and 3/4, but I do not see any other option to route the signal externally with sends.
Take a look at the Routing Matrix component
-
@d-healey Well, sending each sampler to a different output is my last option, however not very elegant for what I am making.
Each sampler contains a different drum family, Kicks, Snares, Cymbals, and so on.
I want all samplers/drum families to go to outs 1/2 for dry signal, and only some of them to go parallel to 3/4 as well so the 3/4 could go to DAW's FX send.This way I can get only one stereo channel in the mixer of a DAW to play the complete drum kit, and only one Send to a reverb for a complete drum kit.
For example kicks will not send signal to 3/4, cymbals as well, while snares and toms will. -
@alfaholic routing matrix is the way to go
-
@d-healey Sorry but this has little sense to me.
First, I can not get HISE to show more than 2 outputs in the plugin, both VST and AU in Reaper.
Second, I am not sure if the signal goes up or down, it is probably set to go from top to bottom on the routing window while Samplers are located below the container, this is a bit confusing.
Third, I am not able to connect all channels in routing matrix, but only one pair.
And all this from an audio engineer.
-
@alfaholic As far as i know hise is set to use 16 channels in the routing matrix (or that was the case in the older versions) but you can actually extend it to as many as you need provided you modify some source hise files first to allow for more.
Unless things have changed and your using the prebuilt binary the setup may be different.
You need to use the plugin version i believe to get 16 otherwise it normally defaults to two in the standalone version.
you're also free to use a project i did similar to what you want to achieve here on github if it's of any addition to you:
https://github.com/eodowd/sonicdrums -
Yes in the standalone version you will only ever see two outputs (might be more if your audio interface supports it, I don't know). In you compiled plugin you will see however many you have enabled.
I have a couple of videos on YouTube and Patreon about mic mixers, which cover some of the stuff you'll want to know.
-
Thanks David, I just watched the video and this is all clear to me, however the problem is that a plugin version of HISE does not have more than 2 channels, my screenshots are made within Reaper.
I tested it in Logic as well and it shows only stereo plugin.I understand HISE needs a script to show more outputs in standalone version, however my plugin shows only 2 channels, both VSTi and AU.
-
@ospfeigrp Thanks, it looks very nice. However it still shows only two channels in HISE plugin under Reaper:
What about the kick?
-
@alfaholic You can compile HISE with 16 output channels by choosing the "Multichannel" configuration. In Xcode, open HISE.xcodeproject and under Product -> Scheme -> Edit Scheme select this build configuration:
I haven't tested it with the
BACKEND_AS_FX
flag though, so let me know if there are issues there. -
@Christoph-Hart Thanks, but when I open it in Xcode and go to Product / Scheme / Edit Scheme I just get a Mac OS PING sound,
But if I open it in Projucer first and then edit the scheme it compiles it, but again it is only stereo.
Is there a compiled multichannel plugin to download for us who do not speak Greek?
-
@alfaholic no if I would offer precompiled versions of all possible configurations, the build process would take years…
-
@Christoph-Hart
If I change only the profile it creates the debug plugin which is also only stereo.But if I change the Run as well:
The plugin shows as multichannel, however the DAW crashes every time I want to use the plugin.
-
OK, I just succeeded making the multichannel plugin by changing the PROFILE and also the RUN from Debug to Multichannel Release and it crashes the DAW, Reaper and Logic.
Here is the crash report:
Thread 10 Crashed:: com.apple.audio.IOThread.client
0 libsystem_platform.dylib 0x7ff80adcaacc _platform_memmove$VARIANT$Haswell + 268
1 HISE 16 Out 0x15af5fda3 hise::MainController::processBlockCommon(juce::AudioBuffer<float>&, juce::MidiBuffer&) + 3955
2 HISE 16 Out 0x15ae295aa void juce::JuceVST3Component::processAudio<float>(Steinberg::Vst::ProcessData&, juce::Array<float*, juce::DummyCriticalSection, 0>&) + 2538
3 HISE 16 Out 0x15ae22b72 juce::JuceVST3Component::process(Steinberg::Vst::ProcessData&) + 530
4 REAPER 0x10f92ed11 void VST_HostedPlugin::VST3_Process<float>(float**, float**, int) + 2897
5 REAPER 0x10f74eeb4 VST_HostedPlugin::ProcessSamples(int, double*, int, int, int, double, midi_List*, bool*, double, double, double, bool, bool, int) + 9172
6 REAPER 0x10f761772 FxDsp::processFxDsp(int, double*, int, int, int, int, double, midi_List*, double, bool, double, double, double, double, int) + 2546
7 REAPER 0x10f78e734 FxChain::ProcessChainDsp(FxDsp*, int&, int, int, double*, int, int, midi_List*, double, double, double, double, double, int, double, int, bool, bool, int&, int&, int) + 564
8 REAPER 0x10f78d4a3 FxChain::ProcessChain(int, double*, int, int, int, int, double, midi_List*, double, bool, int) + 1491
9 REAPER 0x10f4ad426 MediaTrack::RenderSamples_nocache(double, long long, double*, int, int, double, MediaTrack* const*, int, int*, bool, int, int, bool*, SyncSMP_Context*) + 27670
10 REAPER 0x10f4a0096 MediaTrack::RenderSamples(double, long long, int, Track_RS_Output*, int, double, MediaTrack* const*, int, midi_List*, int, int, int, int, int, MediaTrack::Track_SendRec*, bool*, SyncSMP_Context*) + 1702
11 REAPER 0x10f4aa063 MediaTrack::RenderSamples_nocache(double, long long, double*, int, int, double, MediaTrack* const*, int, int*, bool, int, int, bool*, SyncSMP_Context*) + 14419
12 REAPER 0x10f529fa2 ProcessProject(ReaProject*, int, int) + 2626
13 REAPER 0x10f528a2d audiostream_onsamples(double**, int, double**, int, int, int) + 4893
14 REAPER 0x10f5a4f8e audioStreamer_CoreAudio::onsamples(AudioBufferList const*, AudioBufferList*) + 574
15 REAPER 0x10f5a5a1f caIOproc(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*) + 95
16 CoreAudio 0x7ff80cf3950c HALC_ProxyIOContext::IOWorkLoop() + 7734
17 CoreAudio 0x7ff80cf37041 invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 80
18 CoreAudio 0x7ff80d0a693e HALB_IOThread::Entry(void*) + 72
19 libsystem_pthread.dylib 0x7ff80ada01d3 _pthread_start + 125
20 libsystem_pthread.dylib 0x7ff80ad9bbd3 thread_start + 15Then I manually changed the channel count in Reaper from 2 to 32 and the plugin loaded normally, which is usually not needed as Reaper does this automatically.
Just to let others know if they have the same problem with compiling the multichannel plugin.