Hi Marco, Use linear phase BLEP / BLAMP, 16 taps should be plenty for very clean results. You need linear phase so you won't accrue DC when you overlap the taps when generating high frequency waveforms.
Andy -- cytomic - sound music software On 17 May 2013 00:05, Marco Lo Monaco <marco.lomon...@teletu.it> wrote: > > Hi guys, here is a repost of a conversation between me and RBJ under his > permission, since he couldnt send to the NG via plain text from his browser. > Pls if some of you guys have some suggestion, it would be very much > appreciated. > Marco > > ---------------------------- Original Message ---------------------------- > Subject: [music-dsp] Sweeping tones via alias-free BLIT synthesis and TRI > gain adjust formula > From: "Marco Lo Monaco" <marco.lomon...@teletu.it> > Date: Tue, May 14, 2013 6:34 am > To: music-dsp@music.columbia.edu > -------------------------------------------------------------------------- > >> I am here asking what is the best practice to deal with frequency > modulation via BLIT generation. > > hi Marco, > > i've fiddled with BLIT longer ago. as i recall i generated a string of > sinc() functions instead of a string of impulses and i integrated them along > with a little DC bias to get a saw. for squareit were two little BLITs, > alternating in sign, per cycle, and integrated. and triangle was an > integrated square. i found generating the BLITs to be difficult, i > eventually just used wavetables for the BLITs at different ranges. and then > i thought why not just use wavetable to generate the waveforms directly. > i know with the sawtooth, the bias going into the integrator had to change > as the pitch changes. i dunno what to do about leftover "charge" left in the > integrator other than maybe make the integrator a little bit leaky. so that > is my only suggestion, if you have the rest of the BLIT already > licked. > > the net advice i can give you is to consider some other method than BLIT > (like wavetable) and if you're using BLIT with a digital integrator, you > might have to make the integrator a little "leaky" so that an DC component > inside can "leak" out. > > bestest, > > r b-j > > ---------------------------- Original Message ---------------------------- > Subject: R: [music-dsp] Sweeping tones via alias-free BLIT synthesis and TRI > gain adjust formula > From: "Marco Lo Monaco" <marco.lomon...@teletu.it> > Date: Wed, May 15, 2013 4:46 am > To: r...@audioimagination.com > -------------------------------------------------------------------------- > > Hi Robert, > I tried with leaky: the thing is that it seems you need to compensate for > amplitudes if you are using a fixed cutoff leaky integrator (if you filter a > 12kHz blit, its amplitude with an LPF 5Hz will be much lower than a 100Hz > blit and compensating the amplitude could generate roundoff noise at high > freqs). As a hack one could use a varying cutoff depending on the f0 tone to > be synthesized, but that could have problem again in sweeping tones (an LPF > changing cutoff at audio rate is not generally artifact free). In both cases > transient and not steady textbook waveforms are the result, which could be a > problem if there is a distortion stage following (like a moog ladder with > its non linearities). > > I tried also with wavetables, and the clean solution is a memory eager, > starting to midi note 0 (8Hz) you need thousands of harmonics until Nyquist, > with PWL interpolation with at list 2001pts …you can easily reach 300 MB for > SQR/TRI/SAW!!! Probably a tradeoff and accepting aliasing a bit is the only > solution. The open problem there is the click (also happening with sincM) > that you get when you simply add/cut an harmonic in a sweeping context. > Maybe the SWS BLIT method is the only solution to avoid this and I must > investigate. > > I also tried HardSync ala Eli Brandt and its consequent method of generating > aliasfree waveforms, but I get too much aliasing with his implementation for > minBLEP and with a 32 zerocrossing impulse seems that you cant treat > waveforms that has a lower 32 samples period (because the OLA method would > add up creating subsequent DC steps). > > I thought it was much simpler to do an alias free synth, honestly!!! > > Thank you for time > > Marco > > ---------------------------- Original Message ---------------------------- > From: r...@audioimagination.com [mailto:r...@audioimagination.com] > Date: mercoledì 15 maggio 2013 17:08 > To: Marco Lo Monaco > Subject: Re: [music-dsp] Sweeping tones via alias-free BLIT synthesis and > TRI gain adjust formula > -------------------------------------------------------------------------- > > i don't quite see the memory issues of wavetable as bad as you do, with > back-of-envelope calculation. how many ranges do you need? maybe 2 per > octave? there are 10 octaves of MIDI notes. maybe 4K per wavetable (unless > you do some tricky stuff so that the high-pitch wavetables may have fewer > points) so that's 80K for a single waveform going up and down the whole > MIDI range. HardSync will have a large collection of waveforms given the > different values of oscillator ratios (the main mod control for hardsync). > is it hardsync saw or hardsync square? > > i gotta reacquaint myself with Eli Brandt's hardsync. i don't know it. > > L8r, > > r b-j > > > -- > dupswapdrop -- the music-dsp mailing list and website: > subscription info, FAQ, source code archive, list archive, book reviews, dsp > links > http://music.columbia.edu/cmc/music-dsp > http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp