I want to add a "pan" argument to the "bass" inst. I want this pan arg to affect the note instance, just like the freq, t, and amp arg does. I can do this by just copy-pasting, add my pan arg, and be done, but its not ... satisfying. I can add a pan fx at the end, but that would affect all playing notes it seems. Any ideas how to do this in a satisfying functional programming composability beautiful way?
Would be nice to know but sadly I have not found a way. I think it has to do with the SC’s ugen graph as well as with the use of macros which are themselves difficult to compose.
ah okay
thanks for the reply
I was thinking maybe one could fudge it by dumping the ugen graph to overtone, adding stuff, then dumping it back
I hear each bass note sweeping from right to left. Sounds cool! Unusual. Occasionally they ping-pong back and forth? Or is that another dynamic?
Would a bus work? I have to say I don't find SC busses super intuitive, but you could route your synth to a "channel strip" synth with pan, eq, volume, etc
Its meant to be very simple, see https://gitlab.com/jave/sylt-core/-/blob/main/src/sylt/core.clj?ref_type=heads#L2866 The pattern is meant to be generated by code, but I typed it out in full once, just so I could figure out how it was meant to look once. The pattern is then played by the function at https://gitlab.com/jave/sylt-core/-/blob/main/src/sylt/core.clj?ref_type=heads#L2805
also there was meant to be a filter parameter on the modified grunge, but aparently i used a chorus inst-fx! instead
yeah, perhaps that’s possible, though would seem quite hard to do in a general way. If the ugen comes first or last that might work, nested ugens would certainly require more complex work. Also the need to add args and all that.
Sometimes functions may work for reusable ugen graph, but it depends (on things that I can’t quite remember right now). Here’s one I use often: https://github.com/diegovdc/tiempaminos/blob/04999ba8d22b87912bcc8f60eb37fbe6ad4d6517/src/tieminos/sc_utils/synths/v1.clj https://github.com/search?q=repo%3Adiegovdc%2Ftiempaminos+lfo&type=code
I don’t think a bus would work. IIUC, @joakim wants to be able to update the pan for a particular note instance. For example, play note A and then change the pan and play B from somewhere else in the stereo field, but note A’s tail continues to sound from its initial postion. Once a note event is mixed onto a bus (like the instrument’s pan and fx busses), the instance is lost.
To add it into existing instruments without copying, a direct strategy would be to modify definst. Add a per-note pan2 governed by parameter :note-pan. Not clear how to generalize that nicely - omit when not used, allow other per-note effects, etc.
I can’t quite imagine what this would sound like - looking forward to hearing an example sometime.
If I understand you correctly I did this in https://soundcloud.com/joakimv/geometry-hyperhouse, at 10 secs theres a modified grunge bass, that pans and fades, to create a kind of pseudo echo. So I just modified the grunge bass to add a pan and volume. As you say, it would be very neat if all existing instruments could be modified to have pan and volume.
In this case I want this to make a pseuod-echo kind of thing, because I like echos