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

Reply via email to