Clds and Lmnts objects


#21

hope you enjoy it :slight_smile:

yeah, sample rate is very difficult, this has been discussed before, and its non-trivial - and also you want to keep the axo code optimised. (its not like a PC/Mac, where you can afford to have extra processing code)... that kind of the issue here, we dont have the spare cpu cycles to do the downsample/upsample.

@johannes - totally agree.

I wonder, if it could be an option for 'advanced development', for when your almost using axoloti as a 'bare board' perhaps even just document how it could feasibly be done.. rather than have it in the patcher UI?
e.g what changes are needed to switch? are there changes required to the firmware, and a recompile?

Im thinking a complete hack really, but it could be useful in some cases, like this, where the board is essentially only going to run one custom object....because there will be no CPU left to do anything else anyway :wink:

(this is all probably better discussed here)

as I say, doesn't really solve the MI case here, as many might want to combine the objects with other things,
and at the end of the day, Im not trying to create a 'standalone MI elements board' - you can do this by getting a small eurorack case and an MI elements :wink:


#22

To mutate the firmware to run at a different but fixed sample rate - I'm assuming the reader is familiar with firmware editing/compiling : this requires changing some register values in codec_ADAU1961_SAI.c The meaning of the registers can be found in the ADAU1961 datasheet. Register R17 can be set to 0x06 for 96kHz, or 0x05 for 32kHz. To change from 48kHz-derived samplerates to 44.1kHz-derived samplerates, register R2 needs to be changed. Also the computation of the dsp load in patch.c will need to be adapted.


The Holy Grail ? (second reprise)
#23

so change the PLLC, ok, seen similar for bela... doesn't look too hard for a bare bones setup.

perhaps, we could make change the dspLoad calc, so it can be set from outside the firmware.
then this could be done without a firmware rebuild, (just need to change the kRate assumption =3000))

you can change the PLLC registers using ADAU1961_WriteRegister6(ADAU1961_REG_R1_PLLC, &pllreg[0]) in your own patch code, no need to change hw_init.
actually we could abstract the pll code, e.g a function like setPLL(int,int,int,int,int,int,int)


#24

I suspected it might be a substantial thing to implement, but thanks for the heads-up on the situation, and at least you never said 'no' to the idea. Maybe something to consider if you do a major revision of the software or firmware. Would definitely be nice to have, especially for those of us who plan to use Axoloti boards in commercial enterprises (which I do), so that we can market our devices as having the the Bit-depth and Sampling-rate of our choosing.

I think I'm safe regards processing requirements even when using the Elements reverb, as long as I can fit my own in there along-side it. I used the Elements Reverb object as an example of needing modulation controls because I'm working on my own reverb algorithms completely through patching (I'm not a coder). The Elements reverb being so nice, I wanted to run it along with my own reverb designs in the same box, so that I can just switch between them while still being able to modulate both versions with the same modulators, both at the same time.

Anyway, thanks, I'll take a look at the thread you pointed out, and my apologies to mwvm because it's beginning to look like I hijacked his thread :smile:


#25

lmnts

if i load object and try to LIVE, 100%. Why?
Also in clean project - only one this module...


#26

have you an sdcard inserted? you need one.


#27

yes, its mounted, Starting patch...
sdram_get_free 8388608
Bytes Read /shared/elements/smp_sample_data.raw, 256026

Bytes Read /shared/elements/smp_noise_data.raw, 81926

Elements loading sample complete, SDRAM free 8050652
Elements initialised, SDRAM free 7923676
Done starting patch
Start locking
Done locking

but when go LIVE, - 100%


#28

ok, lmnts is very sensitive to the parameters values, and some modes in particular

the second resonator, this is fine with most settings
the third will be fine, with low pitches

I can't remember what the first resonator had to be set too, to get it to play nicely :slight_smile:
(... there will be some settings, otherwise i would have disabled it.)

really you have to experiment with lmnts to find what works for you.
(there is also a help patch)

for the next release, Im also hoping to release some updated versions which might be better.
I dont know yet, I just know they work better on Organelle, so I'm hoping these changes will bring similar benefits to Axoloti... but it depends, Organelle has more CPU available, and I think lmnts is a bit cpu bound on axoloti for some resonators.


#29

Thank You, yes, resonator I - 100%, II - 60 and III - 89% at clean project. Not try to change resonator mode before.


#30

Unsure what I’m doing wrong but can’t get any sound out of the lmnts patch. Any ideas? Tried with midi in object and stereo out object.


#31

All sorted, gotta love the help patches


#32

I've got the same problem. Where do I find a help patch?


#33

Hello !

how can i access the other modes in clds? there is only 2 options there, granular & stretch.. or do i have some old version of something ?

thanks !


#34

I suppose the buffer size(s) can't be dynamically changed, as it's part of the init code ?
Probably changing it would make axoloti crash ?

It would be great, even BEFORE powering the axo, to specify the buffer's length (and, let's say, unable the buffer change once the patch is loaded, to avoid later crashes).


#35

I managed to get clds to work pretty well.
The main limitation is the density that cannot go too low or high compare to what I get from its VCV equivalent but I get that could be some DSP limitation.

So first thanks a lot @thetechnobear for the port.

Just one think I don't get, what is the role of the large and small buffer?
Any recommendation on where there should be set (in the help patch they are both set to minimum 131072 and 65536)?


#36

did you get the spectral mode too ? i never found out how to get it on


#37

@domo_o

The buffer size basically sets how much you can record into a table/buffer.

131072 sample buffer is 131072/48000 = 2.730666666666667 seconds
65536 sample buffer is 65536/48000 = 1.365333333333333 seconds


#38

Hi @siihhi, only granular and looping mode are available in the port through the "playmode" radio button.


#39

That's the logic I was looking for, thanks a lot @jaffasplaffa !