External sidechain?
-
@Christoph-Hart have there been any developments on how to build Hise to receive external sidechain input? I found a post from 2022 about it but seemed open-ended; I wonder if @pluginboi has any new insights on how he's achieving it these days??
I'm working on an effect plugin that really lives and dies on the inclusion of external sidechain so any help would be truly monumental!!
-
@NEST-acoustics Check the Snippet Browser. There is an example of it.
-
@orange Sorry, I mean specifically building Hise to receive external sidechain from other tracks in a DAW. Such as in Logic, if a plugin allows external sidechain you'll see an option in the top right of the window to route any other channel from Logic to send into that plugin!
-
@NEST-acoustics If you want HISE plugin version to receive external sidechain inputs, I don’t think it is possible now.
But you can build external sidechain enabled plugins with HISE. And the example is in the Snippet Browser.
-
@orange said in External sidechain?:
If you want HISE plugin version to receive external sidechain inputs, I don’t think it is possible now.
you can just use HISE_BACKEND_AS_FX=1 in compiler, you can get the plugin to receive input. I don't know whether you can make it a multichannel plugin, I'm willing to bet there's a preprocessor definition for that, too. But for development, you can send your real signal to left and your sidechain to right, then split these up in HISE for testing purposes, while your final plugin will work with the 1-2 input and 3-4 ext sc.
-
@orange I really apologize if my ignorance is making this more complicated than it needs to be! I'm looking at the two "sidechain example" snippets and trying to see how it accounts for receiving external audio outside the plugin. I don't need it to work in the Hise plugin version like you say, I'd like to build a VST/AU plugin that I can route sidechain audio to within a DAW. I see how the snippets route the sidechain processing, and I've got that dialed in for my project, but I'm missing the piece where Hise builds a VST/AU effect plugin such that it can receive audio from a separate track the way something like say Trackspacer or typical sidechain compression would. Or should the VST/AU just automatically show external sidechain access if I properly set up the scriptfx and routing like the snippet examples?
-
I haven't compiled a sidechain enabled plugin yet, but the Example 2 should work.
-
@orange I seem to be struggling with this concept as well.
I have created 4 input channels I think? But getting channels 3 and 4 to the sidechain isn't working for me. I'm sure I'm doing something wrong.
HiseSnippet 2445.3oc6azzaabbcnjF8ocrbZKZ.5EBcRovQfjRVRtEnhVhR1DwxlvTRIFEMNC2cn3Tt6ND6tzRLAIHG6s1is8j+Izq8lNzi8T6wdo+Dxw1StuY1ulc4RxkTpJV.hGHz7l4My6648dCUMatF0wgaixs3Q85PQ4tCtdOK2V60hvrPUqH.3vL6XPOk3RQ61qCwwgpixka5mHVQtElAI+786rKwfXoQi.gPmvYZzmwLYtQPqU9SYFFGPzoGwLUV8Fkqpws1iav6BTyz3BnNDs1jSoOmHV1TXzSINsP4943Ra8nha1nTgROpwVzMnkZVjtdilaoWrv5E1fTZ602rIYyhjGgxM695LWtccWf1cP4lYWtdu5s3mY4c.mvbXMLnhAEQ0gS1C7AbCcAKJfh1qEyPuVfXxAA6RsHg1zdBseL9PlNKDdjvaY4D4ivPU.lap3j2zwHuhCh7RgjxoPRy3QR2GWWyl0wMZFA8rDtpkK0tIQKttzasnb+M7dbXAVtqYRZSOvFFDhvpaVnvCxCe8w+xEgOM6Zo4x3V44VOm6Reg0pe7he8hKr32rX9jS0rYpyINJatgA0N0oElG1CCwUs5Z1fZ+f7ugXzkFtPPDDWtNa1jqZdbtxB4VUsXtunC0e7vMLP9hNPeLuOEBK0UpM9.esQcClN0FwfMYN7mZwaTDIIdUmFTlQtTRj+i+pri75IQ9oWjcj2HIxaTN6H+vXHewe+YaMFHu4k4j2pOo8Xf71onpNtZEhKQ3A5q7AChNTaWlvtKWE5af3ed9iKfqPcZ6x6.Ng6wM6vsDlJ4Vx0O.h2gdfAm3xrN8HFXeJN56gUAUBcd3w+1usbuvAk+xx9DPf2+gDWa140nj1GRAGXTiSCBstvr.BuSfEykZFA83iONAzRBvqrxJRvRFcpOJG9qWLe9UBM7qpuxuH+J7ttc55txCDSU0RmdN.7SJJGBNMF7y9LtcaGHfNElnIwvgJmqN8TSfleFUuN6qDSUZsBxINtSEpFomHD..sfOzJfmYZvO1gVGHWMJD30xhZ3D+PZSO6.hFDPPhxCk.qQz0Agp+wVzeiD99GRjRMEn96pjunh89WCPymWNY97Egu+MK9MnyX5tshLNdU4VT1osTt3qmvVaBU7qqn3AK9e.T7+zzU7Lqa06ikd+ti7BgHM82QTzzvNaxz0Mn03NLwEgQy7QW33R6H3IAr+7eR74utioZ5YaegIQwDZ0xNca1jAPv3756h5DoUEDhTqB4eYCodA1PBfyhk464RO2UjSXUwJxKAYx08iuowZPMPiC2pFP6B6eP31YwxLaiwr2CWGHTMQZbJb8xQPyejMybnb9GLxqeiHvx+VUOZ5.47mNZN+Uw4bDZL476fOpkM0oUKHUm93OOwvR9KQrBcZSRWC2SRIShPIwcFYtDJ1.MTkD7AJIpTVURDTAxH4t4wO10EppvmSBGFSl8EkiIQQkSmI2Hsv4CImGkSvUgI+2cFHSVUgIw3BqUbzpuEvujZPINzXrDHHGDO3IHhPabTbaNPEW2Lo3vXHRKJgvdjr3b3WBWKxSpyFNCFfjJ6s7HSV7bUNRQk0EXhdhBHlUtPzfX1+yNCkY+9ch6qFFkBp0sIyvzAtHuSUSnDXTtODCW1k2mIy6zF1GClUap9Qb45CbMCiPM.WyL3jntIii7ZaUyACUyguJixqKej8wUrkLBWLgy7XuzZGxEg2E+B4R7tITUZsvXkem5s9Hl58fe60T9c+rzyuyIvT3FPNdA4sc0miGp+9qrL9PtdWCha718HrC7mPXZq1iEQiTr.S9dpdiI6AzLCtWEExbKpxJ4debMlqVqzo2oRgdgBc++M852Qs6h2uYSplaDwNC9fOensO6JgTh0cu4CaIprCnOIfTVBG5VLjNhBdVTCRLo2mkrVgT5YZUq2PscqwMH1Ik8SeU0uvYxrAhfkxeiwf9CwRQ9MIBVZRbygfWFWi79fAwKgqlgX7dWFBG2y6ZF+ZBHifbBZvebAw32AepSszCG3OYQ0IKlXxRhwSA6jXxRIlbcw3o8mb8fIQYHFRPQ12F+313G2F+3lQ7CjuidpwOx4OYpwOBBtjZ7ifISM9guvbwf5H9boXzutszdBueGN5ox5XSgZWnGwqAV0q5PDQffBgoOHeCCtVaQFx8+9Z90.sqXEqp4KNljmga1qnvMW2JqwLXe3y9gdN08LQsPh2Cx+ug.89OhtT875lmWD8XQQShREY99.f1SBCBZ2qSKtESS.xaEA73iM4cE0U5QdOk3bDgYHRSudWmN.87Bq5vhk2Eja5Sn1NxMdNLTG0ZfHXpmKqzcduhk5UiHtG49XwadBtlT60zTev+HZU0By6g3uizzyaIHwtFTnomHGnZSYAvP00A9ffwIn1qETEs3owlJ2zJOUl2KXKFAt9S4QDUcNQLqFw.42CCfyEmmX49rybd2jZBE2yPCj07lteNI.wrxDwI4ToEgeIHFiQJKAjhMcsSSVsfGQ3iQlogohQCJxTv6IbDnnOjYkn0OaeAT9aBXqVtd79n9VQGWhppNnuUd7lL+jSR9jyURsQSHzi65xMASEIciTns45m1Pn9nsx+9QRaRne4Opx+bGupxpax4tsfHEn9ZCXkA0C2gSWuJEYF3+mE55hS+K+jxdlxuj5P8O591qAI8PwrvE1HEGGyp.Tdu0tRDzevVUCVtnZUM0sVUiqUkphEkHvEjPQLKr6g06YQLYZNq0W1FQAufIxrQ1LwLxhxB7Hh8oTWueCMhbTNO3WUQElSGH0kc61romsXbHhKKDctK3t38gDQzgCShdXxTp1x3gaKe0nYTdBsKuc87YytlmQ65M9C+Kocc3aekXuqN.i5pkutovnGk5pmDmQTYQ+p5uHCWGVXsG5W.u2SJ02VTY.O7xkT9ARv5o7lm8I+jP8ibE1kx9HlwzLT35L6vCpMYWCDmjS9t6YNWC4u+JKprxDm3C8SPy6oC8tTrVJumy0RH6zCL7c+228tmbwki07iDWafuk+DbU4URHE7fum7xvagm00.ekZfn29OD+tEu5YLkmheDbV4gG+BiKAItmL10FCK1URE0r3hxhGmXlI7Y2GNqjVn3qvncnDrkWIMSNWE6Ax2kyaaRjE8OQ+ZPyRuhCeH5aaV7sMK91lEeayhi0+w2uoNShlM+0ZdsJVDNXdIDPVaIKgbA7ghw4S4eDBSlN60ZZw2p9Przjh35SJhaLoH9vIEwMmTD2ZRQb6Qin3+rI+xED9lPlV012qv6b6aQ.uLuF+8+fRKEUl
-
@ccbl I think HISE is receiving from channels 3 and 4 though because I can hear that signal being output if I route a signal to those channels, which is also undesirable behaviour.
-
@ccbl It works. I inserted a kick synth that goes into 3-4 to trigger the sidechained Gate.
HiseSnippet 3258.3oc6bzzaabbcIkF8oskrSJrABPAgPNnz5JHRIKY2VTSIQoHBaYwJJK6fhljU6Njbp1cG18CYwDjfbo.8Vywla4mPu1SQG5wdnn8Xu368RN1dx8My90rKWRtj5CKEPdv1yal4Muul27duYVWwjpfsrnlRYlZ+VMwRYtApZKC6FazPlXHUtDCfEQuoFttrMVZ8VMksrvpRYxLxGxFQlIGUh+66e75xZxFJ3PPRRGPIJ3mRzI1gPqT7IDMssjUw6SzEF8xEKqPM1fpQc.pYDzhRMkUNRtN9YxrgkEIssrUCoL+DTgUeT9UNrvhEdzgqhWFWnVd7RGVaU07KtzhKKW3gKsRM4UxK+HoLisoJwlZV0FncKoLitNUsU0FzWY3t.GPrHGpgYMxKUEVYWvaQ0TYrH6eKsQChlZEewjkDfzJgBsQbEZuKZGhJI.dnvaVdG4Bmgn.LS1nj2HQHu7hj2hBjWBjTFARZTWR51npJljl1g8vnmoQkMrwl0jUhpKcGqTl+FZCJL.C6EzkOBukIzHXByuxhKd+bve7A+hofe0bLTrITibTimQsw6ZL+GL0mO0jS8ESkKdW0pkXerkxjpogMSral4gY2l37FN5GhMuetik0bvACDDAQkqnNKWEU6Jtbtv.oFkMH161D60tcIujm3BzAS3QUvPs4Zfa4oAppQTwlRDPPON5IFzCyKwIXwMJRodxEhO4+7uJ8Sdo3Sd6SS+jWN9jWtX5m7ChL4S+6Oc09XxqbVV4UaSZ2GS9gInpdd4Rx1xrccdJevfnI1zlvr0xTBeL3yycO3jnRXqiroMgMdaP0aRMXlJYl11yog6htkFU1lXTeeBXSxV5YPhfJHcRvx+seYwVAMJ9oE8H.+c76HaaRNoBV9ncvvlVoCq66NcxwfI7F1rH1X8PnO+4OOFzBLvyM2bbvbFM68xf97oxkat.C+xpy8yyMG0wtoi8b2m0UYCU7I.veVddSvCpF8UufZdjE3DGCcTSVyBy6qJttNPyOEqVk7YrtJrvh7NddyRXE4Vrs8.zE8fVB1MlD7magqBjqBFb1ZXf0rhtHGge0VxJfS.9Td.GXEYUUPn5sr48PDa+9Nxbol.TOrx4KLC2+F.Ztb7NykKO7m+1o9BoWQTsaDZb7QEafI0aHbXWKls1.p3WRPwCV7uET72MYEOwXnduuz62rmGHDpo+JYAMMfYchppFtB0hvN7Krm6cpkMtIim7f8sey27WertXHYO7TcYASn4KZ4TqFAffP4TWWpYnVkQHbsJDykIDtEXCw.NFhGimM9DaVbfkYiHGGjNU0y+lB4PrlT+vshNzN07sB2NFhGMaDlcFTUfPUXgtIv0yFBM29lD8tx42pmG+FRfE+ch6nwcjy2t2b9GEkykj5SN+Fn8aXhsZz.h6sM9yULLs2PXiPEWS1Qy9fDhjHPRbidFKgfMvghRBZGkDkJFSRvy5nmb2Dn0rsgLI73jflQjYebwHRTohIyjKmj67tDyivJXKvjutYGYxxESRc2SlbRzdXMrrENBaAByNwGtBivo0OJuU5nxyoOUdwD58jMGGsGb7HMttq6Lo+j5GVbUwcpNhptNyh+2G2SVDZFYmZQ+cWANY5vtqTXmKhj9wc7CE0lZhZyO6Bzcbb2LQXuIPtwV1kSitIZW9PbONRjemruBxR7nWIh3gQe4kTPVuWxAYY4qLuFDnkevSm+AZI0dgMlEsCU0QS1NZcVX1AdcvLUEKtAqBFFfIbKw8SwK9xnoq3Kg0FJwxAjRx81nJDakFISuYSfdgrMunoWuRYcSzl0pgUrCI1QQa8xKn5VMpv5OQP8G4ka7C8W9oQAaE5R4GgcSXM4HRrWDOH8DJPYYiigL2qP0jMiKuGI0LY9zyjc2nfwR4t1XDeGDWjechf4lDWeH3YQUjuJXPrGbbL3W28.PX4dlidziFfS0yvnAu1KxZ+F3WUrgZPCuNyK1Y9XcVf0NKfIVmEh04Rr1i304R9cJkBeH9Y2Nz+wP+GC8eb8v+gj2F8D8ejwqyD8e36bIQ+G9cln+COg4T94N7RtXzKaqjtur+HJ7doZZhg7Uv6Sq.V0yaIy7.AYdhuetC0nJGwhJt8KyxKum0YiXdEOwwfbmWicN4t4xVY0mN6CtuMomgseEK+G1Ew38uAG8d2XMW87I0NIuzZrDkXoGR71C.ZONLvocqlMnFDEFH2Q3yiqoScX4R5RdaKasuLQiEZdUGql.8rqQUXv7yBxLxAXSKNhGGA4Ns.HBx9Ld1sS3lfTqJxryQtMhcAivVSr4BJh2tdHsJZg4dq22fa54NDIFV8StzUjCTsNOo2rnf8ffwIn1q3m4L6NoxlYDg6nx85hYsfs9YcIhxVGv5UQVSxqxC.myVO1v8XmwcOIU2QylH0QVys614D+IlVlHJImHsv1WBhwHjxz.oXhWnd7rEbIBuYjZZHaDZPPlB6dBZAJ5cHFwJXyCOER4MFr4KVMgplDlIMq1HP5wd9b3wmbP765sThkGRRZMGapNXpvoaIAZa71oMIo1nsh+odRabne56T5e8X2rxppSo1M.OERsU2sRcp3ocmt9nDjYv9+zPWmV+u7iJ5ZJuG1B6szsgqNI8jhXgyrQx2OlU9S4JqcEyoemsp5rbQzpJ6Pqp90pRTwJEywEDPQDKrYPpsLj0IJVKzVzFgNufNRsQ1nQLxBiBbeYy5Xa2GuBKFkS7eNCkHVMgPWV2oVMWawnPXGVvpVm+YwaBAhnBKFe5AASIZKi5ts74ilQ3tqN610SjN6ZZJsqW9q+2b65fKcJFtK2Ai5xEurovvaB57mDGkkYQ6p5ONEGGt3BOvKAd26voMTTpCWWxYT9ARvpIbYNsI+3P87bETkx1Hl9zLz8QF1UmZC1w.QI43W3cpi0f+vmLv7LSrh1zK.M26py8PwJIbGNWJtrS1wvW8+dya9vSOarlmm3Jc7RzGfiJOWbof574jmEdKXstD3qDcD8s+S1CF77mwDt+6dvYE6t+KDp.D3dbeWK2MeWwUTigxySdbfYlf64t6rRRthOG81IEisbSoYv4pHWq85T5Q5x7j9GnmgYZpUbvkOOrXwCKV7vhEOrXwcpXw20UXNM5ExGi4ezLd4X+DBbTYm8d7OR6WJSyT+kxrqhMPC6aJaX0jZgyKf4Sqh0I6SMvVhPiOiBB50uKXFEh5xy1wHBp8.EYTLYwVTS87hFJ9.EWkGCVaQPFzNBl1g3+xb9p+yu90OdSCYvVpJF3b0csT.AibrClp3nYg4a5Dv6qE.WPD71xlpfRSoatgGMctgi9zSDF+k4GOTJo0d7sMkIoGDxZlMw0qS3xaFccKQHQqZ841AYBeXMuSm9ZMV2w1F7SwdTW2B4REdfR+2Wi.NtoaQdhhBWWKo4CFYFDySEKLJWXAHXzTh.HRGX1bZXv9.glkifpGQZiDxjRQ.fApo8Svs5eAYTFoIFqxdbgwQPt1+1al0CAaP0OjtN8DNJtCpJ926vtgk.voiYDHiahbcxsmrQcb+qOmDUsgSsZZ3AyZZZjqGq8I3NQ5i5N46DYsqvxyhgf2E46GVni.LwNLRkW3s2CkekER9WerVGf0nJv46IsVragKxZU6mt9Zve8nMVXgkbpvAj905NnmhMpa2HcqzQ7Uh86kzJswUcyD51HuSxqBo3wSho6VPIhj658LSOGP0sQ6TYSvunoOxBQR1TijYXHYSC01PwrozrbLz1rBTztI8UgGZ4.dP0Ltz63n01tT087Rug+uysIjxkFjVXzSo1gZP8u52PQvdXHhy50wQy1MIVxsZHa3XdbrpMqH2pMndkNQH5MWHOECjl3.4Jlf1ueQN5B.70NEq5XYGFI4o+3+vu7T+xWHPbapP2w8wU2QUvfmdIJklI2zqhQ43Qtd0Nwma4SqtZjq1D6MPbyhqCx0YPdFrWKDr2xuTfWGDsc88iOxY88iOftgms2tgKLntgWmzjU1rN753+9u6r3Q9zOMcdj8PWHf0i4QleyEs4Qd4hC8HOzi7POxW+8HO3egLWxExcGxIWep6LjhkkRgb7CzxcAch1fW9YThkeNarxOmsakedj3keNEEQdbzynDK7UlpHK0uUQVXFmOUQ9cKlPUjmnX5qhL+2aipHiNiUQd2iwlGSvup6FtuUpr7EgyqyZ8ENe9eQqI8oQ2aG1O.1f6hjeE2WjUWPzxusXJe+hOkXfkMu3BqLSJ0W2SLrxb+v3Cvcjqae.tCCu3G1gWze2t8U7aPWWVwj9IJtkpl4pYBNDPhYvelySh1g0NWB+ujmNbn0mnnDEUsMwBC5DWZPm3xC5DevfNwUFzIt5fNwG16Ixhov6Isx1gAAeUYS2GGdF23tb+3T9+vkfQPv
-
@orange Is that from within HISE itself? When I compiled the plugin and tested in Reaper I didn't get the behavior I expected.
The plugin only shows up with 2 inputs. When it should have four like the below example. And when I set the plugin to side chain mode it gates all the time.
Is there some other setting or flags I need do to make this work as an FX plugin?
-
There also seems to be some delay and volume difference between left and right channels?
-
@ccbl Also I can see my sidechain meter (bottom) doesn't seem to work as intended, it appears to just show the input signal.
-
@ccbl said in External sidechain?:
@orange Is that from within HISE itself? When I compiled the plugin and tested in Reaper I didn't get the behavior I expected.
The plugin only shows up with 2 inputs. When it should have four like the below example. And when I set the plugin to side chain mode it gates all the time.
Is there some other setting or flags I need do to make this work as an FX plugin?
Have you set
HISE_NUM_FX_PLUGIN_CHANNELS=4
flag?Unless you specify it with a flag, you will always get a plugin with 2 channel inputs and outputs. With this flag, it has 4 inputs.
-
@ccbl said in External sidechain?:
There also seems to be some delay and volume difference between left and right channels?
Hmm that shouldn't happen with the standard gate.
Below is the sidechain example 2 in the snippet browser, you can try it. In this example, the sidechain has stated in the comments that there is a latency in the signal, and to prevent this, it swaps 3-4 with 1-2 at the entrance. After processing the signal, it returns it to its original state.
-
@ccbl said in External sidechain?:
@ccbl Also I can see my sidechain meter (bottom) doesn't seem to work as intended, it appears to just show the input signal.
Again, you can try scriptnode for this too
-
@orange Hmm I haven't where do you set flags? In the project settings?
-
@ccbl
Under the Settings > Extra Definitions
-
@orange OK sweet, I'll try some tweaks and report back.
-
@ccbl You can test with selecting "Mono Channel Support" in the settings menu.
I am not sure what will happen if you run the plugin on a mono channel as side chain activated. Especially in Pro Tools & Logic Pro.