Re: [music-dsp] minBLEP parameters: grain design and duration?
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?
>> On 05 Aug 2016, at 5:40 , robert bristow-johnsonwrote: >> >> [] >> >> 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?
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 Bencinawrote: > 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?
> 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