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 <stefan.sulli...@gmail.com> 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 <s...@finecutbodies.com> 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 >> 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