Yeah, that silence trick is kind of what I do with Morphagene in Eurorack. I’ll make a silent Splice at the beginning of a file and just switch to that to stop the audio. Seems like MIDI mapping is the way to go for this and Glut and any others. So far, that’s working great to just map a button as the Play on/off behavior.

FWIW, I love that granchild adds LP filters to each channel. It’s nice to be able to sculpt multiple channels a bit more than Glut allows. HP and BP (variable-width?) options would be next level.

I’ll add that while MIDI mapping a button to Pitch and setting it as MIDI value 0 = 0 and value 127 as 7, a press of the button doesn’t immediately pitch the material up by a perfect fifth. It lags so that initially, the pitch is a bit lower than the intended transposition interval before snapping into the intended interval. I can make a video demo of this if need be.

It would be pretty amazing to use use pitch as a performance gesture so that the audio snaps directly to the selected intervallic transposition. Even cooler would be to be able quantize Pitch so as to choose selected intervals that it will scroll through while omitting the rest. For example, two very musical ones are Just Octaves (-24, -12, 0, 12, 24) or Octaves and 5ths (-24, -17, -12, -5, 0, 7, 12, 19, 24). I could imagine the interface to allow one to select the integers that are ‘enabled’ when scrolling (or disabled for the inverse approach). That would be so powerful.

5 Likes

This is interesting. Would you mind sharing a photo/description of what each knob and fader controls?

4 Likes

This is very helpful - thank you very much!

2 Likes

hey,
I have problem to connect my LaunchcontrolXL to my Granchild script.
i have to reconfigure the midi controller in the device list several times and than it works, but i am sure there is a solution.
i also run the midigrid64 with a launchpad mini mk3.

any ideas where to start debugging?
would be great, love it!

thats the pmap for LCXL as i like it most:
granchild.pmap (4.0 KB)

and smthing i did with lauchncontrolxl&midigrid… (+ some vid footage)

2 Likes

I’ve just released this new track, made using Granchild. I hope you enjoy it!

(processing sounds coming from OP-1 and Hologram Microcosm)

7 Likes

Thank you so much! :heart:

An inquiry I brought up to @infinitedigits, because I don’t know how to code outside of HTML/CSS.

I took a look into Granchild’s code on Github and did a search for “filter”. I was provided with two mentions of the word - one for ‘cutoff’ and one for ‘rq’. I was wondering (and I’ll make a request along the lines of @taylor12k) - may we have the option to choose a filter type? Say, right above the cutoff option, some sort of knob-turn that would allow for a switch between LP/BP/HP?

I’m using the script to do my microsound clicks 'n pops/sample manipulation, and I like the LP option - but as the fella from 12K would say, it would be nice to have the filter option to allow for finer placement within the audio spectrum.

EDIT: I don’t understand coding/Lua, nor if there are any associations to other bits of code within the structure of the script. I wouldn’t know that - I’m a dummy copy/paste person. I thought I could maybe understand this (over-eager). Unfortunately, it’s just not sticking.

In any case, this script is pretty much what I’ve been sifting through all the other scripts for - something that allows me to do the old-school ambient microsound sample slicing - stuff you’d hear on the Mille Plateau and Japanese ambient labels.

The DSP is implemented in supercollider:
granchild/lib/Engine_ZGlut.sc at main · schollz/granchild · GitHub

^ here is the filter, a Blowpass4, which is 2x biquads in series to make a 4-pole. You can replace that with other biquads types or other kinds of filtering ugens, (start with help files) but all voices will use the same synthdef (“synth definition”, viz. DSP graph structure.)

Making this switchable at runtime, adding another filter in series (with separate params), and/or settable per voice, are straightforward but non-trivial modifications, and could affect performance limits like number of grains before buffer underruns occur.

I suppose to my mind the simplest thing would be to place a highpass in series with the lowpass and add additional parameters accordingly. Could make both filters 2-pole if needed to maintain polyphony.

… Sorry for a thumb-typed reply lacking specifics but hope that helps a little.

6 Likes

Thank you for the info - of this, I can conceptually understand the possibility of computational shortage - makes sense if the filters are drawing a lot of processing power. I’ll take a look at the code. I’m saying this smiling - I probably won’t understand it, but at least I’ve got a direction to look in!

@graymazes If I only wanted a bandpass filter, would it be as easy as just pasting “BBandPass” in place of “BLowPass4”?

2 Likes

Indeed yes, for example. Do notice that the arguments are slightly different. (According to helpfile, bandpass takes bandwidth in octaves for some reason, so I suppose BBandPass.ar(bw: rq.log2).)

(CPU footprint of these filters should be quite small really - just something to keep in mind. E.g. If one naively selected between multiple running filter ugens, that could add up.)

You could also use SVF and blend mode outputs…

1 Like

Just a little generic word of warning that filters can explode, and this can severely hurt and damage human ears. Please use speakers (rather than headphones) at low volume, with volume control at arms reach when messing around with filter code, esp if there are no reliable parameters fences in place.

Other than that, happy hacking!

3 Likes

Thank you for the direction - I’ll look further into this. I did notice the SVF filter in the options. I’ll take my first step by seeing if I can just replace the filter model with a bandpass or maybe even a highpass (what I use traditionally), since that would be the most direct action where I could hear the result.

EDIT: Yep, that did it - now I have a highpass filter! Thank you!

5 Likes

This is great work.

Is there any chance of midi note in to control pitch?

2 Likes

Is it possible that speed LFOs are broken? Seems to snap speed to 0 when I turn them on, and then it never moves.

Also: is there a way that I could bias it toward (much) slower LFOs? When I attach LFOs to density or size, it just sounds like I’m listening to LFOs, but if I could get LFOs running more slowly globally, I’d be stoked.

(I’ve poked around the code a little bit and I can’t find where LFOs are at all)

EDIT: Found em! gonna play with these numbers and pray lol

5 Likes

Blockquote Is it possible that speed LFOs are broken? Seems to snap speed to 0 when I turn them on, and then it never moves.

It happened to me, too.

Hi there, thanks for bringing this up! I was also looking for that. Would you mind sharing some screenshots or how you applied the code to get highpass filter please? Unfortunately I don’t know anything about coding but I can try my best :slight_smile:

It’s just that easy. Open the file, look for “BLowPass4”, copy “BBandPass” and paste it over the “BLowPass4”. Save file. Restart device. Pretty nice!

3 Likes