8 voices Sample Player


#1

Hello,

This is my first patch, I'm trying to make a 8 voice sample player, no sampling capability needed, I just want to be able to select different samples, like an old school hardware machine.
Also I will be using only one sample each time, as the goal is not to get something realistic but more to get dirty.
At the moment I haven't look into the way of changing the sounds.
The idea is to use this patch standalone, with no computer.

Am I on the good path? at the moment I get an error that the sample can't be find:

/Users/krikor/Documents/axoloti/build/xpatch.cpp:421:16: error: 'class rootc::instancesampler_space_voice' has no member named 'instanceXTALBACH2_dot_raw_i'
out= (parent->instanceXTALBACH2_dot_raw_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<instanceXTALBACH2_dot_raw_i.LENGTHMASK]<instanceXTALBACH2_dot_raw_i.GAIN)>>5;

here is the patch as it:

https://dl.dropboxusercontent.com/u/35667344/SamplePlayer.axp

thanks
K


#2

On my phone so can't see patch

But the issue is , you need to refer to the table name in play(?) not the sample file name

See help patch of the relevant objects.


#3

quick follow up now Im at my mac :slight_smile:

I checked you patch, it uses community objects, which I cannot support (I can only realistically support factory objects) ,

but generally you need to change your sample voice to something more like below:
the change is the table, is supposed to point to a table object, (see the sdram load name) , and then the load object refers to the sample to load, this is the 'general' issue (with only a quick peak at the sampleplayer object code), if further issue getting it to work you will need to work with @SirSickSik or a user that uses his objects, his thread is here

ALSO, from a quick look at your patch Id recommend two things:
a) the sample should be loaded in the parent patch, so you dont have duplicates in memory
b) consider moving the FX (rings) to the parent, otherwise as you build this patch out, you might start getting restricted by cpu load.


#4

Hi, I have just been discussing sampling and especially granular sampling in another thread (see The Holy Grail?).

Would this not already more or less work like a granular sampler if one attaches a few extra real time controllers?

How difficult would it be to implement crossfading?

Marc


#5

thank you!
i'm gonna rework it!
by

you mean the voices should not be in a sub patches or just the table alloc?

is it possible to use 12bit for playback? I saw it supports 8bits.


#6

I will check you post, i guess it could work for granular if crossfade is possible


#7

ehm, so what is needed? :smile:
,,,
,,,
some time...
..
..
..
ok that was a bit too short (I'm drunk, just noticed, forgive me)
The sample player that I made could in theory be used for long samples, though it was, in the designing stage, pointed towards using short samples and combine them into a "bigger" sound,
The wave-file streaming part is, as I as far till now understand/tried, stilll buggy (old circuitboards) but if you convert the wavefiles to .raw format (eg. using audacity), you can load them by using the table modules.
From there it's just the question, what do you want to be able to change?


#8

thanks!
I'm trying to make a quite classical sampler that I can control via my DX100.
basically, classic keyboard control: note, pitch, modulation, plus the data and volume faders of the DX that sends midi. Patch selection would be done via prog change and the soft push button of the DX. I don't think I will be using the loop mode after all but I prefer to keep it in the patch.
Samples will be 3 seconds max.
I want the 8 voices to be the same, so when I load a new sound they all switch.
I will just add some random pan on all voice to make it more "alive" before it hits the chorus on the main output, I started it as on the picture attached on the first voice.

I saw @lokki's bit reducer and included it in the voice sub patch to get 12bit grit.

here is the patch as modified, I think some stuff is wrong with the way I handle the tables and the clock in for the arpeggio

https://dl.dropboxusercontent.com/u/35667344/SamplePlayer2.axp


#9

My apologies to you krikor, I didn't realise you were at this stage with Axoloti, I thought you were a complete beginner when I posted in the other thread!

Sorry 'bout that, haha :blush::grin:


#10

3 seconds sounds just fine, even for granular treatment, and monotimbrality is also not a problem as far as I am concerned. So let me not keep you from your good work any longer. :slight_smile:


#11

no harm done, I don't know much about the axoloty platform but I used to do a bit of max msp and reaktor, so I guess for a few things I'm almost ok!


#12

the idea is to get it 8 voice poly, not mono actually!


#13

Timbrality and polyphony are not the same thing. A polyphonic instrument is still monotimbral if it can only play one sound / preset / program / sample at a time. So you yourself where actually already suggesting an 8-voice monotimbral instrument! :wink:


#14

sorry my bad I was indeed reading monophonic instead of monotimbral


#15

Hello,

I think I don't understand how the table Alloc works, I'm getting this with the patch here.

best
K


Generate code complete
Creating directory on sdcard : /SamplePlayer
Done creating directory
Changing working directory on sdcard : /SamplePlayer
Done changing working directory
Start compiling patch
Compiling patch... with /Applications/Axoloti.app/Contents/Java/firmware
BDIR = /Users/krikor/Documents/axoloti/build
FIRMWARE = .
RM
APP
! /Users/krikor/Documents/axoloti/build/xpatch.h.gch
. /Applications/Axoloti.app/Contents/Java/firmware/../chibios/ext/fatfs/src/ff.h
. /Users/krikor/Documents/axoloti/axoloti-factory/objects/fx/rngs/rings_fx.h
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice1::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:440:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:440:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:440:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:454:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:454:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:454:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice5::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:1716:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:1716:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:1716:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:1730:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:1730:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:1730:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancetableload__1::dsp(const char*, bool, int32_t, int32_t&, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:2623:34: error: 'class rootc' has no member named 'instancesampletable_i'
int rem_sz = sizeof(parent->instancesampletable_i.array)samplelength;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:2629:34: error: 'class rootc' has no member named 'instancesampletable_i'
memcpy((char )(&parent->instancesampletable_i.array[inlet_samplesamplelength]) + offset,(char *)fbuff,bytes_read);
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:2634:34: error: 'class rootc' has no member named 'instancesampletable_i'
memcpy((char )(&parent->instancesampletable_i.array[inlet_samplesamplelength]) + offset,(char *)fbuff,bytes_read);
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice2::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:3058:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:3058:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:3058:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:3072:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:3072:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:3072:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice6::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:4298:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:4298:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:4298:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:4312:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:4312:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:4312:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice3::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:6664:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:6664:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:6664:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:6678:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:6678:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:6678:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice7::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:7844:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:7844:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:7844:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:7858:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:7858:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:7858:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice4::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:11681:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:11681:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:11681:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:11695:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:11695:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:11695:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp: In member function 'void rootc::instancesampler_space_voice8::instancesamplePlayer__1::dsp(bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, const int32_t*, int32_t (&)[16], int32_t&, int32_t&, int, int)':
/Users/krikor/Documents/axoloti/build/xpatch.cpp:12850:24: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:12850:143: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:12850:194: error: 'class rootc' has no member named 'instancesampletable_i'
out= (parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:12864:24: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:12864:143: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
/Users/krikor/Documents/axoloti/build/xpatch.cpp:12864:194: error: 'class rootc' has no member named 'instancesampletable_i'
out=(parent->parent->instancesampletable_i.array[((((int32_t)(count*ratio))&(samplelength-1))+Phase+(sample<parent->instancesampletable_i.LENGTHMASK]<parent->instancesampletable_i.GAIN)>>5;
^
Multiple include guards may be useful for:
/Users/krikor/Documents/axoloti/axoloti-factory/objects/fx/rngs/rings_fx.h
make: *** [/Users/krikor/Documents/axoloti/build/xpatch.bin] Error 1
shell task failed, exit value: 2
Compiling patch failed ( /Users/krikor/Documents/axoloti/patches/Krikor/SamplePlayer.axp )



Sampler with Arpeggiator
#16

There are a couple of things that jumps in my eye:

First is the string/c object:
You need to write in where the "XTALBACH.raw" file is located. If it is located in the root of the sd-card you should write:
/XTALBACH.raw

If the file is in a folder called "audio" you should write:
/audio/XTALBACH.raw

Get it?

Next thing is the table, this is what gives you the error:
You need to write the name of the table/alloc 16b sdram into tablebox on the sss/table/tableload also inside all the sample voices.

So it would look like this:

And you should use MAXIMUM 8 characters for the table names.... So using sampleplayer as a name will NOT work. Sample will cause it is only 6 characters :slight_smile:

Anyway here is a patch where it is fixed. Actually the one you have mafde does not work, cause it uses too much sram... So i removed to voices and now it works:

SamplePlayer3 WORKS.axp (60.0 KB)

I didnt test with 7 voices. Maybe that will work too, you'd haver to test for yourself :wink:


#17

thanks a lot!
if the sample are in the folder created by the patch itself at the root of the SD then I should index like that? /sampleplayer/XTALBACH.raw
If I alloc 2048 8 voice should work, shouldn't it?


#18

You cannot use "sampleplayer" as a name, since it is more than 8 characters. Actually I am not 100% sure if this also goes for folder names, but filenames it does. But to be safe change the folder name to "sampler". So:
/sampler/XTALBACH.raw

No it won't cause it is the SRam that is overloaded. The table you use, uses SdRam. They are different.

The SRam is probably overloaded because the many objects loaded in the patch. Many objects uses SRam and at some point you run out of it.


#19

thank you! you make things crystal clear!
I'm gonna try to take some stuff out and see if I can get to 8 voices but 6 voices is already nice!
I will change the name of the patch for a shorter one this way no prob with!


#20

If you want to optimize the patch I would advice you to take a look at the order of execution... In which sequence the objects are loaded.... Basically it is from let to right and from top to bottom. So it is not good to have cables going upwards.. They must go downwards to be most efficient... And left to right. I think you can gain a lot from doing this. Cause you have MANY cables going upwards.

Another thhing that will also give you some more "headroom" is:
1. Open one of the subpatches.
2. Go to view>settings and set all settings to zero.
3. Do it on ALL subpatches. And maybe also the main patch.

I think actually these 2 steps can give you the 8 voices :wink: