this one just stumps me.
the first and the last steps do not get played / sent out to my loopers. i need all steps to be sent out, after all, that's the whole reasoning behind having a 16 "step" array.
what am i doing wrong?
have 16 "step" array, supposedly counter counts 0...16 - but first and last steps don't get played?
this one just stumps me.
the first and the last steps do not get played / sent out to my loopers. i need all steps to be sent out, after all, that's the whole reasoning behind having a 16 "step" array.
what am i doing wrong?
@esaruoho I don't see anything wrong but a few things jump out, do you mean the [bang]->[numberbox]
to reset the counter or change what it is counting by? if you mean it to reset it should be going to the right inlet of [int]. The [int] is initialized as 1 so on the first run through it will skip the first index of the table which is 0. [tabread4]
is useless overhead here, it does 4point interpolation on the table and since you are counting with integers you can not use that interpolation, [array get] will serve you better. The [s globpitcharray_metro_receive]
below [mf metro_%g]
(makefilename %g?) seems to be sending too the metro but its receive is [r globpitcharray_metro_send]
? but that could be correct and something hidden in your subpatch/abstraction as with the actual cause of your problem.
Beyond that, when something really seems like it should be working and does not, it never hurts to close/reoppen the patch, sometimes you send something to a right inlet you did not mean to send/forgot you sent and throws everything off, closing and reopening the patch resets all those cold inlets. Once in a great while restarting pd is needed, or seems to be needed. If that does not work than upload the patch and its abstractions in a zip so we can explore it better, something like your [set( oversight in your other thread would probably have been caught sooner if you had uploaded it.
@esaruoho [tabread4] is the problem..... change it to [tabread].
[tabread4] only produces output from index 1. It uses index 0 and 2 and 3 to calculate the interpolated value for index one and then moves on...... and will produce different values to those in the array.
Its help file demonstrates what is going on.
And as @oid says your metronome will not produce 0 at the first start.
David.
@whale-av So [tabread4] needs the buffer bits then? Which I guess makes sense since it needs them to interpolate from/to, the helpfile does not mention this but it does demonstrate it. I checked that before responding but did not bother playing with the help file's patch.
@oid Yes, the help file says to start at index one. My maths memory is 60 years old, but I imagine that the polynomial needs a value from the previous index for every calculation (and the following two indexes). Of course the 0 index is no longer a problem as the array wraps at the end because it now has index 15 before 0, but it will be at the first start.
Almost nobody bothers to pad and copy indexes for a music file..... the interpolation can be good to have and the errors at the wrap are less that what you have if you have a 0 to 1 transition.
It matters a lot if wanting something like a constant sine wave though.
David.
@whale-av said:
Yes, the help file says to start at index one.
So it does. I even read it a second time after your first post and still missed it, or inexplicably misinterpreted it to say normalized to 1 even though the patch is from 0 to 10 and that does not even make sense. Thanks for pointing out the obvious, I always miss it.
@whale-av said:
@oid Yes, the help file says to start at index one. My maths memory is 60 years old, but I imagine that the polynomial needs a value from the previous index for every calculation (and the following two indexes).
That's correct.
The internet has a lot of garbage in it, but it can actually help with maths memory: https://www.paulinternet.nl/?page=bicubic is an excellent summary.
hjh
Oops! Looks like something went wrong!