Do global_send nodes work polyphonically?
-
Are global sends suitable for polyphonic use? I'm using global send/receive nodes in polyphonic ScriptFX to re-route audio signals , however I find that on both note on and note off, there is a noticeable click when the signal is passed from one network to another . Here's a simple example:
HiseSnippet 1416.3oc2X0sTabCEVqMh.DBIYl92za5dYRmLL1FCAlbQ.rgDlFCdXIzdGiPqLVC6JscWsj3oSuuSeJ5iRuqO.8h9ZvaP6Qq10d2vB35RRCwLCXcN5ny24WoCcCkTVTjLDYM2ACBXHq4wNCDp9s5S3BzNsQVKf6PhTrPaCoMGDPhhXtHKqpuPSvZ1oPIeN+4aR7HBJaDID5PImxdE2mqFQs65eG2yaahK6.tetc2b8cnRQKomLFvSUbMT.gdJ4D1tD81pfQujD0GY8s3karDso6ScazX40VgRVgsVORud0WxsYyUVcs5KsFo4pqvpsLxZ5sb4JYnihnXQHqo1T5Nvou7MBiBNjGwO1ioWTG4.Z1Pdaomq1D0TQs5y8b6l4nhPHKb2QtspF21mg6vc4CoOx88fDF1ijHuCzpRQ3Us.7pmGd0xAuRfjUNHMkAROD6PC4ApQbz34t3cDPzrGAhS4ghYuHqeG2RBaPnVzmbJa6PXwPAdzJ0p8Da3WO9Y8hETEWJrkhckJ1dhG8349o4lctedN62kUudkxSqlPomGKrT15TivqRvGIh8OlE9D6yHdwrgaDL+h9T7k6SyGxoFqN2FkhcDb0dALwkkHfRcUv2d8NsIJhNPjRC1W.KTw0PvpM6LnLvDVlE2lEcpRF.EBWHlAYKR2XOhpXJjtPKkA3CJD2zAGQDWMHeg3MVd03BwGh6xUz9kiwJkfQvS89.ioUi2CuUudLpZD.mBu8O79ozKu5Wvn96hc3BVRezDk+EIqs+dxYL6WvDrPsyq9k0J82d1e7WiaqzfwtU5dTEn9CBIhn.YTgC1g4yOPJzdgQDecDT7y9w80Qy7zaIIgkx57muMXjkJiCQEGljVrguLVnJjFT8p5PWeB6PO0GccnuETraUIGFm1fwuL8RDgzkkj.py2XlqR95b7rSXZa3VH0tRGoPFzWJ3z7w88YpP9Im.GUNh+Wsu5icH39Fy6N3MdYam8S6gk7c6sDmw7fl2EKPGaq37mWpUrgRAOloUb3YEp8ZynjAWfpYyCobdv5FJuhAPK+FeITFbgiaHge4OW2INRU3UZZL6wH46.7qquEUBYbr2Kd8BuV5px7uG1Xj1Isx9Wm1O03k1e0MNF2pzExvpIh7wMXmGmjVbavudebZB6sBG6B3zZoaCt1q7IZU+j9IZEtXK0Gs.tqzaf4BLPuZ.bGXznfXUoiE8M3xFAI2TG3apKoFMSwtL0ajgmlLdW52APpQZULAsgmm7MZaH6VoD0vBizgVvVpsH7idh4CHbOi1RDokzOfmlA.FnYICBCBAyK68YXqJ52sEGAS+3tmvA1QxqQ0AkcStoX5sITvdGzk.OxERtzyOAQRV3hzgQTMLG4L0HvLIult9TxdeJ1x7xReesgqGz2ppleRnKUclaHNwSdLw6nH.UnB.3ywgxXEWbxh42RYJu3gjGFyia1X0FqsbykVpVQzTI2zblYs0qfZkJl9qPLSvRRNPGpmFEYMGduHpIcB0kDBZFlg1Hb1Jvt6vEo6GqiWnNj2NbccXsIqzPp.i1rdjXOUAZnbdpYvTnwTXihNo4w9veWLgUo9lghcMQmJ2vlTsRLIMMTd+dA+H5ZhH6DcnlKk3koEHidSo7TeRRE0M0.6kzFYF7dwpaK8QNt79HEZabglJe36ib7kzG43wtOhUtpiGj0BHjQYb3o2EvvW8tsRx1UYP3BG0mRMT9+ufaeSjnCAFy5s.t1M12Abszr7rnrTrz00xRBbf7sjE+M7IkYc8ZqTl0yX9AQG9DZn7HpobW6.mIgBjIIRRilE2Qu1tN5Liyaziv74t7inzhG0EDrwjJ3RSpfMmTAWdREbkIUvmNoBt50Kn9+czFwJouoSHB0o6VII5VVaIHPq5j1+n+AfeTxLd
Any thoughts on how to achieve this without global sends, maybe? The idea is allow the user to freely connect different hardcoded networks, so you might patch the output of an oscillator to a filter, or FM input of another sound generator.
-
Bump and a few observations:
The value control, at least, on send nodes is polyphonic (checked by hooking up an envelope) and placing receive in a standard Script_FX only passes single note so it seems safe to say that global_sends do work polyphonically.
Placing send and receive nodes into a fix_8 container within the same network removes the clicks, however if the signal is passed to a different network where the receive node is also in a fix_8, the result sounds broken, as though being passed through a ring modulator.
The clicking is barely noticeable when using the virtual keyboard for some reason.
I'm at a loss, without a solution the options would be to merge everything into a single network, or forget the routing feature. Neither is particularly appealing!
-
@modularsamples global_send / receive_nodes are not polyphonic and I wouldn't recommend to expect that this change in the foreseeable future. I see a distant possibility of making this happen the same way I've fixed the global envelopes, but let's wait if that new change holds up.
However I'm currently rewriting the
routing.send
/routing.receive
nodes to allow polyphonic support.The clicking is barely noticeable when using the virtual keyboard for some reason.
That's because the timestamp of a virtual note is always zero so it doesn't chop up the audio buffer.
-
@Christoph-Hart Thanks for the detailed response, the future looks bright! Global envelopes (and compilable cables) were a huge improvement, especially for more complex projects.