So you want amplitude 'a' dependant quantization size 'q' ? take your chosen q(a); in your example it seems you want a simple line: q=q(0)-k*a; define f(a) as integral of 1/q from a=0 to a; also calculate the inverse of f(a) i.e. a(f);
now for each sample do: out=a(round(f(in))) where round is any floor or the like...
have fun!
ps:
in your example: q=q0-k*a with for example q(0)=0.001 and q(0.8)=0.0001: q:=0.001-0.0009/0.8*a then f=2558.427881-1111.111111*ln(10.-9.*a) and inverse=easy
On 2 November 2010 19:20, Ludwig Maes ludwig.maes@gmail.com wrote:
This is pretty easy actually, I use such things mostly to guide my rhythmical quantization...
On 2 November 2010 19:19, brandon zeeb zeeb.brandon@gmail.com wrote:
This is even better. If I could minimize the jumps around Y = 0.5 to -0.5 It'll be exactly what I'm looking for... or a start at least.
Do you see what I mean now? See how the amount of quantization changes with Y and a minimum quantization value?
I think I'm getting towards the answer now...
-- Brandon Zeeb Columbus, Ohio
The reason you use the inverse is so that the amplitude remains the same albeit quantized. The reason we use another function before flooring is to distritube the floor levels.But afterwards we need to bring the values back to their "original" place
On 2 November 2010 19:37, Ludwig Maes ludwig.maes@gmail.com wrote:
So you want amplitude 'a' dependant quantization size 'q' ? take your chosen q(a); in your example it seems you want a simple line: q=q(0)-k*a; define f(a) as integral of 1/q from a=0 to a; also calculate the inverse of f(a) i.e. a(f);
now for each sample do: out=a(round(f(in))) where round is any floor or the like...
have fun!
ps:
in your example: q=q0-k*a with for example q(0)=0.001 and q(0.8)=0.0001: q:=0.001-0.0009/0.8*a then f=2558.427881-1111.111111*ln(10.-9.*a) and inverse=easy
On 2 November 2010 19:20, Ludwig Maes ludwig.maes@gmail.com wrote:
This is pretty easy actually, I use such things mostly to guide my rhythmical quantization...
On 2 November 2010 19:19, brandon zeeb zeeb.brandon@gmail.com wrote:
This is even better. If I could minimize the jumps around Y = 0.5 to -0.5 It'll be exactly what I'm looking for... or a start at least.
Do you see what I mean now? See how the amount of quantization changes with Y and a minimum quantization value?
I think I'm getting towards the answer now...
-- Brandon Zeeb Columbus, Ohio
And we want f' to be 1 (integer step) / (per) quantization size (for that amplitude)
On 2 November 2010 19:41, Ludwig Maes ludwig.maes@gmail.com wrote:
The reason you use the inverse is so that the amplitude remains the same albeit quantized. The reason we use another function before flooring is to distritube the floor levels.But afterwards we need to bring the values back to their "original" place
On 2 November 2010 19:37, Ludwig Maes ludwig.maes@gmail.com wrote:
So you want amplitude 'a' dependant quantization size 'q' ? take your chosen q(a); in your example it seems you want a simple line: q=q(0)-k*a; define f(a) as integral of 1/q from a=0 to a; also calculate the inverse of f(a) i.e. a(f);
now for each sample do: out=a(round(f(in))) where round is any floor or the like...
have fun!
ps:
in your example: q=q0-k*a with for example q(0)=0.001 and q(0.8)=0.0001: q:=0.001-0.0009/0.8*a then f=2558.427881-1111.111111*ln(10.-9.*a) and inverse=easy
On 2 November 2010 19:20, Ludwig Maes ludwig.maes@gmail.com wrote:
This is pretty easy actually, I use such things mostly to guide my rhythmical quantization...
On 2 November 2010 19:19, brandon zeeb zeeb.brandon@gmail.com wrote:
This is even better. If I could minimize the jumps around Y = 0.5 to -0.5 It'll be exactly what I'm looking for... or a start at least.
Do you see what I mean now? See how the amount of quantization changes with Y and a minimum quantization value?
I think I'm getting towards the answer now...
-- Brandon Zeeb Columbus, Ohio
Watch out in my numeric example, I was a bit careless and the q I chose continues to increase for more and more negative amplitudes!
On 2 November 2010 19:44, Ludwig Maes ludwig.maes@gmail.com wrote:
And we want f' to be 1 (integer step) / (per) quantization size (for that amplitude)
On 2 November 2010 19:41, Ludwig Maes ludwig.maes@gmail.com wrote:
The reason you use the inverse is so that the amplitude remains the same albeit quantized. The reason we use another function before flooring is to distritube the floor levels.But afterwards we need to bring the values back to their "original" place
On 2 November 2010 19:37, Ludwig Maes ludwig.maes@gmail.com wrote:
So you want amplitude 'a' dependant quantization size 'q' ? take your chosen q(a); in your example it seems you want a simple line: q=q(0)-k*a; define f(a) as integral of 1/q from a=0 to a; also calculate the inverse of f(a) i.e. a(f);
now for each sample do: out=a(round(f(in))) where round is any floor or the like...
have fun!
ps:
in your example: q=q0-k*a with for example q(0)=0.001 and q(0.8)=0.0001: q:=0.001-0.0009/0.8*a then f=2558.427881-1111.111111*ln(10.-9.*a) and inverse=easy
On 2 November 2010 19:20, Ludwig Maes ludwig.maes@gmail.com wrote:
This is pretty easy actually, I use such things mostly to guide my rhythmical quantization...
On 2 November 2010 19:19, brandon zeeb zeeb.brandon@gmail.com wrote:
This is even better. If I could minimize the jumps around Y = 0.5 to -0.5 It'll be exactly what I'm looking for... or a start at least.
Do you see what I mean now? See how the amount of quantization changes with Y and a minimum quantization value?
I think I'm getting towards the answer now...
-- Brandon Zeeb Columbus, Ohio
Great! Unfortunately, I'm not entirely sure how to realize this in Pd. Can you help me out with a little example?
Thanks
On Tue, Nov 2, 2010 at 2:37 PM, Ludwig Maes ludwig.maes@gmail.com wrote:
So you want amplitude 'a' dependant quantization size 'q' ? take your chosen q(a); in your example it seems you want a simple line: q=q(0)-k*a; define f(a) as integral of 1/q from a=0 to a; also calculate the inverse of f(a) i.e. a(f);
now for each sample do: out=a(round(f(in))) where round is any floor or the like...
have fun!
ps:
in your example: q=q0-k*a with for example q(0)=0.001 and q(0.8)=0.0001: q:=0.001-0.0009/0.8*a then f=2558.427881-1111.111111*ln(10.-9.*a) and inverse=easy
On 2 November 2010 19:20, Ludwig Maes ludwig.maes@gmail.com wrote:
This is pretty easy actually, I use such things mostly to guide my rhythmical quantization...
On 2 November 2010 19:19, brandon zeeb zeeb.brandon@gmail.com wrote:
This is even better. If I could minimize the jumps around Y = 0.5 to
-0.5
It'll be exactly what I'm looking for... or a start at least.
Do you see what I mean now? See how the amount of quantization changes
with
Y and a minimum quantization value?
I think I'm getting towards the answer now...
-- Brandon Zeeb Columbus, Ohio
On Tue, Nov 02, 2010 at 06:13:49PM -0400, brandon zeeb wrote:
Great! Unfortunately, I'm not entirely sure how to realize this in Pd. Can you help me out with a little example?
Like in the attachement maybe. The [pd roundit] doesn't do a "floor", but a real rounding. Rounding or flooring is at the core of bitcrusher effects as in the rj library, too, so you should have no problem to apply this to signals.
Frank Barknecht Do You RjDj.me? _ ______footils.org__