Re: [music-dsp] minBLEP parameters: grain design and duration?

2016-08-05 Thread robert bristow-johnson











 Original Message 

Subject: Re: [music-dsp] minBLEP parameters: grain design and duration?

From: "gm" <g...@voxangelica.net>

Date: Fri, August 5, 2016 4:26 pm

To: r...@audioimagination.com

music-dsp@music.columbia.edu

--



>

>

>> >> On 05 Aug 2016, at 5:40 , robert bristow-johnson

>> <r...@audioimagination.com> wrote:

>> >>

>> >> []

>> >>

>> >> 5. how is this question different from the FIR brickwall LPF design

>> question for polyphase interpolation?

>> >

>> > For BLIT, these sub-sample delayed grains are usually integrated to

>> get a saw/square/pwm signal.

>>

>> i thought that you integrated the pulse train in real time. but i

>> dunno. that's how i imagined BLIT was done.

>>

>

>

> When you integrate your BLIT you supress the absolute level of the

> aliasing by -6dB/octave with the rest of the signal.
well, i thought the aliases weren't there to be suppressed because the impulse 
train is bandlimited because each impulse is bandlimited in some manner. �i 
thought a bandlimited sawtooth was created by integrating the BLIT summed
with a little negative DC so that the integrated BLIT+DC is a bandlimited 
sawtooth of some period that is an arbitrary non-necessarily-integer number of 
samples. �the BLIT will have the same period of �some fractional-precision 
number of samples.

> Though Ross was talking about BLEP where you integrate offline, then you

> have the additional roll-off before sampling.

>

> So it's less aliasing either way?

>

>

> Anyway, @ Ross, regarding the question whether 150 sample grains is long

> or short,

> it's short if it's oversampled and long if it's not oversampled.
i think we should leave it to the original scaling to count the number of 
needed samples.
> For comparison: we had to use only 4 samples for oscillator-synch transitions 
> in a project...
sure 4 samples can be
used with some good (i think cubic Hermite polynomial) interpolation. �more 
samples are better. �i know that Bob Adams settled on 64 samples (which i think 
is a little overkill) for his sample rate conversion. �32 samples is real good 
using polyphase FIR. 16 is pretty good. �i
think you can make a flatter and more consistent fractional-delay with more 
samples than 4. �8 samples approaches "okay".
here's a way to think about what a bandlimited impulse created out of different
polynomials:�https://www.researchgate.net/publication/266675823_Performance_of_Low-Order_Polynomial_Interpolators_in_the_Presence_of_Oversampled_Input
 look at figs 9 and 10 for a 4-sample, 3rd-order Hermite.
150 samples is way more than necessary.
�
>
> If you want alias-free you should also (and maybe foremost?) look into

> "sinc M" in the paper you linked (Section 3.7). Basically a slightly

> squeezed truncated sinc that fits in your period seamlessly. This makes

> your design questions obsolete but has it's drawbacks with synch etc.

>

>





--
r b-j � � � � � � � � � � �r...@audioimagination.com
"Imagination is more important than knowledge."
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] minBLEP parameters: grain design and duration?

2016-08-05 Thread gm



>> On 05 Aug 2016, at 5:40 , robert bristow-johnson 
 wrote:

>>
>> []
>>
>> 5. how is this question different from the FIR brickwall LPF design 
question for polyphase interpolation?

>
> For BLIT, these sub-sample delayed grains are usually integrated to 
get a saw/square/pwm signal.


i thought that you integrated the pulse train in real time.  but i 
dunno.  that's how i imagined BLIT was done.





When you integrate your BLIT you supress the absolute level of the 
aliasing by -6dB/octave with the rest of the signal.
Though Ross was talking about BLEP where you integrate offline, then you 
have the aditional roll-off before sampling.


So it's less aliasing either way?


Anyway, @ Ross, regarding the question whether 150 sample grains is long 
or short,

it's short if it's oversampled and long if it's not oversampled.
For comparison: we had to use only 4 samples for oscillator-synch 
transitions in a project...


If you want alias-free you should also (and maybe foremost?) look into 
"sinc M" in the paper you linked (Section 3.7). Basically a slightly 
squeezed truncated sinc that fits in your period seamlessly. This makes 
your design questions obsolete but has it's drawbacks with synch etc.


___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp



Re: [music-dsp] minBLEP parameters: grain design and duration?

2016-08-05 Thread Emanuel Landeholm
My advice is this: don't get too caught up in the theory! I tend to do that
myself, so... Just implement something quick and dirty and *listen* to the
results.

Also, I really don't think the choice of window matters very much. You
could probably get away with Hamming. And 150 samples at 44k1 is probably
too much.

On Thu, Aug 4, 2016 at 9:45 AM, Ross Bencina 
wrote:

> Hello Everyone,
>
> I'm looking for a reality check on practical implementation aspects of the
> minBLEP "corrective grain" approach. I'm trying to compare the computation
> cost to other methods, but I'm having difficulty working out the correct
> grain parameters to make a valid comparison.
>
> Assuming that the requirements for the impulse basis function (e.g.
> windowed sinc) is:
>
> * flat to 20kHz
> * gain at nyquist: -100dB
> * sample rate: 44100 Hz
>
> What duration (in samples) would you expect my "corrective grains" to be?
>
> Answers of the following form would be great: "We use X sample grains,
> which are flat to Y kHz, with Z dB alias suppression at Nyquist. We use the
> FooBar impulse design method." (For some X, Y, Z, FooBar)
>
> Alternatively, given a fixed grain length, what would I be able to achieve
> in terms of pass-band bandwidth and alias-suppression?
>
> Is there a straight-forward way to compute the required grain length and
> window parameters? I see Kaiser window mentioned. Wouldn't it be better to
> use something like Parks-Mclellan to get an optimal impulse response for
> the given grain length? or is the improvement not worth it?
>
> Is there a canonical reference for this information? I've read the Stilson
> & Smith and Bandt papers, but they seem to use unrealistic parameters (e.g.
> the graphs in [1] have a lot of aliasing at Nyquist).
>
> As a rough example, at the moment I seem to get something vaguely
> reasonable with 150 sample grains, Kaiser beta=15, with sinc zero-crossings
> scaled to 0.95 of Nyquist. Am I in the ballpark? I'm not even sure whether
> 100 samples is long or short for this technique.
>
> Thanks,
>
> Ross.
>
> [1] https://ccrma.stanford.edu/~stilti/papers/blit.pdf
> ___
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
>
>
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] minBLEP parameters: grain design and duration?

2016-08-05 Thread Stefan Stenzel

> On 05 Aug 2016, at 5:40 , robert bristow-johnson  
> wrote:
> 
> []
> 
> 5. how is this question different from the FIR brickwall LPF design question 
> for polyphase interpolation?

For BLIT, these sub-sample delayed grains are usually integrated to get a 
saw/square/pwm signal. 
If you consider the integration in the design, your criteria might get a bit 
more relaxed towards fs/2.

However, you usually also want all sub-sample grains to contain exactly the 
same DC magnitude, which might 
be less important for polyphase interpolation.

Stefan



___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp