Edits:
Paragraph 1
...assuming you're going to end up *masking* the aliased components
Masking ≠ making
Paragraph 2
...or otherwise *generic* samples
Generic ≠ genetic
Stefan
On Sun, Jun 3, 2018, 19:41 Stefan Sullivan
wrote:
> You can still take a heuristic approach. You probably have some idea of
> the max modulation rate, right? I would just indiscriminately apply a
> low-pass filter at Nyquist/fastest rate of change (forgive my fast and
> loose math here). You can also relax that a little bit by taking a
> perceptual criteria (say -60dB or so assuming you're going to end up making
> the aliased components). You can further relax your constraints if you know
> anything about the frequency content of your samples. For example, if
> they're constructed to have a certain number of partials with a known
> rolloff than your highest frequency content may already be at, say -20dB.
> If your highest partial were my completely arbitrarily chosen -20dB and it
> didn't come very close to Nyquist and it shifted into a range where you
> know it's going to be completely masked at some level, you might get away
> with a pretty gentle (relatively) roll-off instead of the usual brick-wall
> criteria (cue comments from oversampling-philes).
>
> Knowing the frequency content may be a generous assumption depending on
> your application. Wavetables can be pretty well categorized, but if there's
> any user-provided or otherwise genetic samples it may not be very useful to
> you. Still, it's probably safe to assume that you don't have a 0dBFS
> partial right below Nyquist, and I'm guessing that your modulated delay
> line is probably not being applied to percussive samples.
>
> Actually now that I say that, I wouldn't be surprised if there's some
> papers about perceptual alias-free resampling of wavetables by Dattoro or
> Pirkle, or one of the other authors who like synthesis. Anybody on the list
> know some papers on the subject?
>
> Stefan
>
>
> On Fri, Jun 1, 2018, 12:04 Kevin Chi wrote:
>
>> Thanks for your ideas, I'll look into those!
>>
>> It's actually just a digital delay effect or a sample playback system,
>> where I have a playhead that have to read samples from a buffer, but the
>> playhead
>> position can be modulated, so the output will be pitching up/down
>> depending on the
>> actual direction. It's realtime resampling of the original material
>> where if the playhead is
>> moving faster than the original sample rate, then the higher frequencies
>> will be folding back
>> at Nyquist. So before sampling I should apply an antialias filter to
>> prevent it, but as the rate of
>> the playback is always modulated, there is not an exact frequency where
>> I should apply the
>> lowpass filter, it's changing constantly.
>>
>> This is what I meant by comparing to resampling.
>>
>> --
>> Kevin
>>
>>
>> > Hello Kevin
>> >
>> > I am not convinced that your application totally compares to a
>> > continously changed sampling rate, but anyway:
>> >
>> > The maths stays the same, so you will have to respect Nyquist and take
>> > the artifacts of your AA filter as well as your signal processing into
>> > account. This means you might use a sampling rate significantly higher
>> > than the highest frequency to be represented correctly and this is the
>> > edge frequency of the stop band of your AA-filter.
>> >
>> > For a wave form generator in an industrial device, having similar
>> > demands, we are using something like DSD internally and perform a
>> > continous downsampling / filtering. According to the fully digital
>> > representation no further aliasing occurs. There is only the alias from
>> > the primary sampling process, held low because of the high input rate.
>> >
>> > What you can / must do is an internal upsampling, since I expect to
>> > operate with normal 192kHz/24Bit input (?)
>> >
>> > Regarding your concerns: It is a difference if you playback the stream
>> > with a multiple of the sampling frequency, especially with the same
>> > frequency, performing modulation mathematically or if you perform a
>> > slight variation of the output frequency, such as with an analog PLL
>> > with modulation taking the values from a FIFO. In the first case, there
>> > is a convolution with the filter behaviour of you processing, in the
>> > second case, there is also a spreading, according to the individual
>> > ratio to the new sampling frequency.
>> >
>> > From the view of a musical application, case 2 is preferred, because
>> > any harmonics included in the stream , such as the wave table, can be
>> > preprocess, easier controlled and are a "musical" harmonic. In one of my
>> > synths I operate this way, that all primary frequencies come from a PLL
>> > buffered 2 stage DDS accesssing the wave table with 100% each so there
>> > are no gaps and jumps in the wave table as with classical DDS.
>> >
>> > j
>> >
>> ___
>> dupswapdrop: music-dsp mailing list
>>