Message.setPan?
-
I want to be able to set pan per event in realtime (Note On). How would I go about doing that?
Think guitar multitracking.
I read in a thread from 3 years ago to use Stereo FX and modulate it polyphonically. @ulrik then responded that he figured it out but went full StackOverflow and didn't share his secrets :beaming_face_with_smiling_eyes:
I have a MIDI processor for a sampler, which is communicating with the GUI and the pan needs to be set based on GUI parameters. I have access to the values in the processor already.
How do I "modulate the Stereo FX polyphonically" in this case?
-
Here's an example with a sine wave generator. This assumes a static but polyphonic pan value throughout the voice, so you can calculate this using a script voice start modulator.
HiseSnippet 1125.3oc2Ws0aaaCEVJILn1sqncnXX.6gwG1.b.5bk2ZZ2PwPyM6Bi0jXDkdYOUPKcrEanHUonbqwv9Otm1ui9OX6PIkXoTiLGusFr4GLz4lNe7biGMPqBfzTk1wswwSS.G2aP7mJMQ6Fw3Rm9643dSx9rTCnoEr1YZBKMEBcbcW8IVFtMVyI+26e7NLASF.yX437bEO.dJOlalwcvV+DWH5wBgi4wUz99a0OPI2UITYHdVk34jvBNgMFNfYUaEhi65cC4Fk12vLPJpyNpvo9Qp2JKz+47T9PAXI533iunB1N6FwEgCN8rl533RFL6juZwI+Nj84g7y3OKBbqbAzYVTMF3txEAoNWBH4VARqU.oaS7Cz7DyLIV7bcReIlPFwvPcUnTnqi6uS1UgJHMsiYm.8zHwYFz5Add2kh+swiZ1brPMjInixjmLk9izevC4gDAFtRRUxCTF3PYqMZ9KMaz7WaROunQilqLqy0Jg.zyUrMmquHCaIyhGB56RmvDYvYJhAk5Q50WrHcPQrnhhJYeI2bXBTR2SIBsQP6yeXdwoLXhO8r96wLLappjGpWBnMbKbb2Clf05EItFj8fzSLpDrZ+CxpX8jJLSvL0KxrcSkBv3QsLqM8IS4loU61tDUddWXk2hBwaSFvMAQyGiqLGLhQp+MvXY+5mP5NZDDXlAv0H8d4x1bt3t+lEt+5DetDxGVl67OKml9B1Df9DPBZavqyELu72Vz4kIK77xCCLn6OVyjoIpzZuXeHlerRZiByX9rTb7.7lirYyp72UwzyUz6ebO7PNWa7YlLcdYw1wpLooVYvp0yCqsXst06Hpn+bldt1Uv.8+YZqtB67qcmSiSwnOONQ.ckS.ANdKGieJNOaDKSXNka8B68URURjRxCpl0OBLZ93wftJ1m6AZaiAuoeFm6r0Qf.XUqf+psdJV4wzXbBVxXwk+924lu9bRAbo1tQ5+cmXu5+qmXWKcRJ7eShOtFDnPeZc9MJIo8dY8x4ArJio+4sdAODmwWgwG+ZtaQPLQu5mQrdAF+hx8RyusB8f1bFlyg6WVJmlq.MWC5Ypz4uF86vSTBl1tWQ4VsqD6Rptr3LW2Zh8w9xP3c4KKdu6QMQ.MFgL9sCT0vWikbTdJkMgwEL7PSivzN0nnuICzSogfAEjlaIanJyTydSDyPSsNBByE.SvM+Z1.WALUIf1IZtzzZ+BsaOFLcsx6G1ZC6J112oFvaFkzTULXh3xwzgf4s.HodTlLj1oM0q8C2DW.eSuulhSLiv2doMVAO5bqIWdxUIm+fe41C+Rts8RWi+2c+4ivDBFz1mgWl7NrU9frXebgm..6NjRPflRbWw5mBZOKcwFOxvbh+.+UJrik1sTXmSE9QwGwr.s5UAEQcae00x4fgMY9m21.+Najl1wIOSf1Q7Z64Diap7pf.6nxuAW7Y917sKgMe2RXy8WBa1bIr4AKgMObIr46uParKItclQEWLxEYLnadArqaWocNR97Km+zfrOqx
-
@Christoph-Hart Implemented, thanks.
I wish there was more documentation on modulator scripting. It's such a powerful feature.
-
@aaronventure I just looked in the docs and was surprised to find this:
this is exceptionally thorough compared to the rest of the docs but let me know if you‘re missing something here.
-
@Christoph-Hart said in Message.setPan?:
exceptionally thorough
lmao
I've seen this page, but it doesn't go super deep. Broadcaster and Script panel are very well done in the docs, what do you call that, then?
I'll proceed as usual, keep hammering away and if/when I get stuck, I'll come here.
-
Maybe my brain fills in too much gaps, but I don‘t see anything missing: you‘ve got a callback on voice start and need return a value between 0 and 1. There‘s not much more to it and my lazy ass even found the time to make an example.
Broadcasters and Panels are different beasts with way more complexity so it justifies the novels of biblical proportions.
-
There's the scriptnode option for modulation and the crazy amount of options that opens up. Examples are always good, I've always learned more from examples than from straight up descriptions of methods etc. They'll always cover some niche small fact that is easy to overlook when reading the docs initially.
-
@aaronventure yes that's true, but the scriptnode modulators are separate from the scripting voice start modulator, which I think has 100% documentation coverage.
Now, let's take a look at how the documentation for the scriptnode modulator modules looks:
Oh boy...
-
@Christoph-Hart At least you nailed this one
https://docs.hise.audio/hise-modules/modulators/envelopes/list/scriptenvelopemodulator.html
-
Autogenerated File
That just adds insult to injury :)