Maybe it just doesn’t need soooo many features ? especially if they are difficult to manipulate via bees? Is the processing for bees and the modules shared…e.g. If you’re running out of cpu does that mean there’s none left for control… or are they independent?
cpu seems to be spiking when scrubbing (pitchshift) over an echo crossfade (sampler loopback). Seems to be a very close call. The way I’m doing slews, control calculations are always or never performed. This should in theory make timings more predictable (though it is wasteful - IIRC lines mixer slews switch on and off when there is/isn’t work to do)…
One optimisation I am going to try is use linear interpolation for second read when crossfading and cubic for the first read. My gut feeling is that will mitigate the cpu spikes, whilst retaining 99% the sonic benefits of cubic interpolation…
got a couple of possibilities to try out quickly when I’m back at the device this evening. linear-only crossfades & linear+cubic crossfades. If linear-only actually sounds ok then I will run with that for first ‘proper’ release. otherwise hmpphh I dunno - don’t really want to think about a major refactor right now but that may be the only way.
kind of leaning towards thinking there would be precisely zero audible difference if the audio path through each grain became 16 bit. Even cubic interpolation must be a distortion bottleneck by a couple of orders of magnitude…
although i don’t understand it, i like a lot the schematics
congrats for your (hard) work. thank you for sharing it
release coinciding with a day off work + impending snow storm = perfect timing
will test for sure
thanks @rick_monster !!!
woop! downloaded… got some crazy pitchbending layered delays out of it and tremelos,
will get to learning it properly this weekend…
amazing work
wait
I just came here to ask if I was missing the hex file…seeing that it works for you (and recalling the discussions about bees ops)
do i just use the bees to run this app?
yeah…all in bees,
i just cleared my current scene. then loaded the module.
then quickly connected some encoders to scrub pitches and echo time… fun fun
it’s why i sadly can’t get on with using the @Test2 programme, i have too many staple systems set up in Bees with lines that I don’t want to have to keep re-flashing the unit with a new hex file. just want to jump between scenes in seconds
excellent
thanks duncan
let’s see what we manage to concoct with this
Can’t wait to try this out tonight ! So awesome sharing this !
just been using the echo and now i want to listen to every song thru this delay
so many sweet spots
havent even decided on control schemes or touched the matrix / cv / resonator
yet
this is a huge accomplishment!
incredibly useful already
OK so thanks everyone for contributing to the discussion here. Going to move on to some other projects now for a bit - expanding the communication aleph->host is an important feature for me so that wll get some attention in the coming weeks.
First, though, a quick stop to break out grains’ pitch & envelope trackers into a simple analysis-only module for SPI testbench as discussed earlier in this thread…
Deeply excited about trying this… as soon as my aleph returns from the shop
Great stuff! still exploring the module and very excited by the possibilities!
… meanwhile I finally got time to start skimming my copy of the book microsound by curtis rhodes. This really hits home what a terrible name is ‘grains’ for this strange little contraption. That working title was based on a loose desire to somehow generalise an early pitchshift prototype with a larger number of scrub-head-pairs (somewhat cloud-like) and some other interpolated delay hacks.
Now I start to learn a little about ‘real’ granular synthesis it seems to me that the name ‘grains’ deserves a total reboot at some point in the future when block processing is available, aiming again for something simultaneously simple & powerful.
There might be a more minor update sometime in the not-too-distant future to take advantage of some new bees features I was hacking on this last week or so with @zebra’s help.
Still quite a bit of programming before I complete my own dream rig and get to actually trying to make music on it. Until then if anyone finds a place for this module in their own music making I would be totally stoked to see/hear the results!
i’m finishing a track at the moment that i’ve been using it on. will post shortly
I finally got a chance to try this out and it sounds great! (still having sound quality problems with lines), but I managed to crash my aleph twice just tweaking scrub/delay parameters heh
aieee! ok so that actually makes sense because directly tweaking delay times does engage a ‘mode’ inside the code to slew the delay time towards the specified value for, like 30ms or something. It has to switch of after so that buffer playback (governed by the speed param) can run as usual. All the other slews always on. Can you reproduce the crash tweaking any other groups of params not including delay?
There’s some talk of a type of ‘cpu counter’ for aleph - if we can nail down that feature I may be able to make a bunch of small optimisations to claw back enough cpu cycles to cope with the cpu burst required to handle, e.g. simultaneous tweaks to both grain delay times…