love this script! even without the grid it’s immediately accessible, so many fun parameters to tweak.
I’ve had a great time with this script and a 128 grid. Agreed on power being important for the norns shield if you don’t want “underclocked” sounding glitches. One thing I don’t know about the grain engine is does it have an attack/release option or are they always hard stop and start. I ended up recording some short cello notes and getting a lot of ticks that sound like grains starting/stopping “discontinuously” instead of zero. I know the morphogene has a setting to smooth the grains out. Is there a way to do that using the engine under granchild?
For fun I recorded 4 of the same note and then just used pitch down / up to change tonality. With low density and rather small size it created a really nice rhythm. Can’t wait to keep exploring. Thanks.
It employs the GrainBuf
ugen with its default grain envelope, which is a Hann window. Look elsewhere for cause of clicks…
The recording system seems like a good suspect, it is a little convoluted and funky. (captures to softcut buffer, writes buffer, reads buffer back in SC. All async operations with I think little protection against grain pos overlapping with regions of active buffer replacement.).
I might recommend implementing the recording path directly in the SC engine instead.
just a PSA that the filter resonance parameter is rq
or the reciprocal of Q.
in other words, it is the bandwidth of the filter as a ratio of the cutoff frequency.
(this is true for most filter specs in supecollider, and also for the filters in softcut.)
so yea, rq==0 is rarely advisable since it’s requesting infinitely small bandwidth and will blow up or at least be very loud. i’d clamp the param at 0.001 or something. (softcut does this internally for its filters, at the level of the command handler, not the DSP.)
Now you tell me!
More seriously once I realised this was inverted ( and my hearing had recovered ) I worked up in it slowly there was a value resulted in slow decaying self oscillation and yes clamping somewhere after this value would be a good idea.
awesome script, kudos!
im trying to get it to work with Midigrid
, but i have no succes in integrating it in the .lua script. itried in line 215 just before:
granchild_grid=granchild:new({grid_on=true,toggleable=true})
but i guess thats the wrong spot.
any help along the way would be greatly appreciated, thanks for this awesome script again!
Put it in /granchild/lib/granchild.lua at line 18 as shown here:
-- initiate the grid
local grid = include("midigrid/lib/mg_128")
m.g=grid.connect()
(Edited to remove erroneous code for single alternative grids)
@thmshckr Launchpad users should use mg_128 for this script even if they only have a single launchpad. The two top left most buttons will let you swap between tracks 1-2 & tracks 3&4.
thx for quick reply, but grids wont light up. i put
local grid = include("midigrid/lib/mg_128")
in line 18 of the .lua, but no activity. maybe im doing smth wrong?
Did you make the change to the grandchild.lua script in the lib directory? Took me a while to figure this out but got this working on a launchpad mini mk1.
exactly THAT was the problem, works just fine now.
thx!
@infinitedigits
one bug went away with the norns OS update.
noticing a strange other .
in voice one:
the last button (6th row third column) of the Active Area does not light up without several pushes.
and…it looks l spoke too soon…
the grid lockup happens again when trying to adjust the pitch on voice 1.
i captured the crash with maiden:
Summary
script load: /home/we/dust/code/granchild/granchild.lua
cleanup
script clear
including /home/we/dust/code/granchild/lib/granchild.lua
including /home/we/dust/code/granchild/lib/json.lua
script run
loading engine: ZGlut
reading PMAP /home/we/dust/data/granchild/granchild.pmap
m.read: /home/we/dust/data/granchild/granchild.pmap not read.
Engine.register_commands; count: 25
___ engine commands ___
cutoff if
delay_damp f
delay_diff f
delay_fdbk f
delay_mod_depth f
delay_mod_freq f
delay_size f
delay_time f
delay_volume f
density if
envscale if
gain if
gate ii
jitter if
overtones if
pitch if
q if
read is
seek if
send if
size if
speed if
spread if
subharmonics if
volume if
___ polls ___
amp_in_l
amp_in_r
amp_out_l
amp_out_r
cpu_avg
cpu_peak
phase_1
phase_2
phase_3
phase_4
pitch_in_l
pitch_in_r
script init
sample -
sample -
sample -
sample -
grid columns: 16
change_volume 1 1 0.3
change_volume 1 1 0.35
change_volume 1 1 0.4
change_volume 1 1 0.45
4
change_pitch_mod 1 -1 -3
3
change_pitch_mod 1 -1 -5
2
change_pitch_mod 1 -1 -7
1
change_pitch_mod 1 -1 -12
1
change_pitch_mod 1 -1 -12
switching!
i loaded the script.
no recorded sequence or audio.
tried changing volume and then adjusted the pitch and BAM…freeze.
just for good measure…i tested again on voice 1.
same scenario everything will make adjustments until i mess with the pitch…
Summary
?
pitch if
q if
read is
seek if
send if
size if
speed if
spread if
subharmonics if
volume if
___ polls ___
amp_in_l
amp_in_r
amp_out_l
amp_out_r
cpu_avg
cpu_peak
phase_1
phase_2
phase_3
phase_4
pitch_in_l
pitch_in_r
script init
sample -
sample -
sample -
sample -
grid columns: 16
change_volume 1 1 0.3
change_volume 1 1 0.35
change_volume 1 1 0.4
change_volume 1 1 0.45
change_volume 1 1 0.5
change_volume 1 1 0.55
change_volume 1 1 0.6
change_volume 1 1 0.65
change_speed 1 -1 -0.1
change_speed 1 -1 -0.2
change_speed 1 -1 -0.3
change_speed 1 -1 -0.4
change_speed 1 -1 -0.5
change_speed 1 -1 -0.6
change_speed 1 -1 -0.7
change_size 1 -1 4
change_size 1 -1 3
change_speed 1 -1 -0.8
change_speed 1 -1 -0.9
change_speed 1 1 -0.8
change_speed 1 1 -0.7
change_speed 1 1 -0.6
change_speed 1 1 -0.5
change_speed 1 -1 -0.6
change_speed 1 -1 -0.7
change_speed 1 -1 -0.8
change_speed 1 -1 -0.9
change_speed 1 -1 -1.0
change_speed 1 -1 -1.1
change_speed 1 -1 -1.2
change_speed 1 -1 -1.3
change_speed 1 1 -1.2
change_speed 1 1 -1.1
change_speed 1 1 -1.0
change_speed 1 1 -0.9
change_speed 1 1 -0.8
change_speed 1 1 -0.7
change_speed 1 1 -0.6
change_speed 1 1 -0.5
change_speed 1 1 -0.4
change_speed 1 1 -0.3
change_speed 1 1 -0.2
change_speed 1 1 -0.1
change_speed 1 1 0.0
change_speed 1 1 0.1
change_density_mod 1 1 13
change_density_mod 1 1 14
change_density_mod 1 1 15
change_density_mod 1 1 16
change_density_mod 1 1 17
change_size 1 1 4
change_size 1 1 5
change_size 1 1 6
change_size 1 1 7
4
change_pitch_mod 1 -1 -3
change_volume 1 1 0.7
change_volume 1 1 0.75
change_volume 1 1 0.8
change_volume 1 -1 0.75
change_volume 1 -1 0.7
change_volume 1 -1 0.65
change_volume 1 -1 0.6
change_volume 1 -1 0.55
change_volume 1 -1 0.5
change_volume 1 -1 0.45
change_volume 1 1 0.5
change_volume 1 1 0.55
change_volume 1 1 0.6
change_volume 1 1 0.65
change_volume 1 1 0.7
change_volume 1 1 0.75
change_volume 1 1 0.8
3
change_pitch_mod 1 -1 -5
2
change_pitch_mod 1 -1 -7
switching!
and ONE more test for good measure…
- reloaded the script.
- no recordings.
- made adjustments on all four voices
CRASH as soon as i messed with pitch on voice 1.
Summary
?
change_volume 4 -1 0.2
change_volume 4 -1 0.15
change_volume 4 -1 0.1
change_volume 4 1 0.15
change_volume 4 1 0.2
change_volume 4 1 0.25
change_volume 4 1 0.3
change_volume 4 1 0.35
change_volume 3 -1 0.2
change_volume 3 -1 0.15
change_volume 3 -1 0.1
change_volume 3 -1 0.05
change_volume 3 1 0.1
change_volume 3 1 0.15
change_volume 3 1 0.2
change_volume 3 1 0.25
change_volume 2 -1 0.2
change_volume 2 -1 0.15
change_volume 2 -1 0.1
change_volume 2 -1 0.05
change_volume 2 -1 0.0
change_volume 2 1 0.05
change_volume 2 1 0.1
change_volume 2 1 0.15
change_volume 1 -1 0.2
change_volume 1 -1 0.15
change_volume 1 1 0.2
change_volume 1 1 0.25
change_volume 1 1 0.3
change_volume 1 1 0.35
3
change_pitch_mod 4 -1 -5
2
change_pitch_mod 4 -1 -7
1
change_pitch_mod 4 -1 -12
2
change_pitch_mod 4 1 -7
3
change_pitch_mod 4 1 -5
1
change_pitch_mod 3 -1 -12
1
change_pitch_mod 3 -1 -12
1
change_pitch_mod 3 -1 -12
2
change_pitch_mod 3 1 -7
3
change_pitch_mod 3 1 -5
4
change_pitch_mod 2 -1 -3
3
change_pitch_mod 2 -1 -5
2
change_pitch_mod 2 -1 -7
3
change_pitch_mod 2 1 -5
4
change_pitch_mod 2 1 -3
5
change_pitch_mod 2 1 0
4
change_pitch_mod 1 -1 -3
3
change_pitch_mod 1 -1 -5
2
change_pitch_mod 1 -1 -7
1
change_pitch_mod 1 -1 -12
2
change_pitch_mod 1 1 -7
3
change_pitch_mod 1 1 -5
4
change_pitch_mod 1 1 -3
5
change_pitch_mod 1 1 0
6
change_pitch_mod 1 1 3
7
change_pitch_mod 1 1 5
6
change_pitch_mod 1 -1 3
5
change_pitch_mod 1 -1 0
4
change_pitch_mod 1 -1 -3
switching!
https://www.instagram.com/p/CMOvcmTBlZW/?utm_source=ig_web_copy_link
First go here.
Just got a 64 grid, fired it up and it’s working on Granchild first go, so looking forward to going deeper! Amazing work.
@SPIKE found the it was a total error on my part. i left in some code that would switch between granchild and kolor. you found the button that switched it…but instead of switching it it just disables granchild lol. i took that out completely in the new updated version (available now).
@danbond sounds so good! i love the granulated drums you got going
Spent a good amount of time with this wonderful app yesterday and it was smooth as silk the whole time!
I’ve got 1 feature request which after I dig through may be able to adjust myself. The other just throwing it out there.
- Would it be possible to set the the min/max to go beyond 1 octave? I see you can do it on the norns but it appears it’s scaled back when using the grid.
2.(just throwing this out there to chew on.)
I know I originally requested a possible separate page for a midi keyboard. I did some searching and there really wasn’t a lot of options that struck me.
(But Then you killed it with plonky btw!)
now I’m wondering if midi input would be a great addition. I see using a keyboard with grandchild and being able to transpose the sample “bee’ing” the bee’s knees.
To Have your sample being granulated and using a midi keybord to change the sampled pitch via midi seems very playable and rewarding.
Anyhow hope you are well and loving grandchild amigo!
yes! its a code change you need to make at the moment to do this. but its easy. change this one line to include all numbers for all pitches you want.
midi input would be cool! do you envision using the midi keyboard to simply re-pitch the sample? re-positioning/seeking could be cool too but intuitive to me how that would work. pitching is easy enough though and gives me some interesting ideas…
Thanks so much!
on the most basic level yes.
And I’ll take ideas that @infinitedigits has for $1000 Alex.
hey! wondering if there is a way to change the range of the random values of the lfo, like in the script Twine? I found myself wanting the volume level to go higher than its set to with the lfo on.
thanks!
i might have missed this answer somewhere, but is there a way to clear the live recording buffer without restarting the script?
I really love this by the way, now that i am finally diving in. such a beautiful script. now anytime i start lusting after a chase bliss mood, microcosm, or beads, i can remind myself that i have Granchild. thank you so much
20 characters of +1!