you don't really need symmetric to prevent phase cancellations.� you just need 
to make the phases of each harmonic (and in wavetable synthesis, **each** 
partial or overtone is harmonic) of the two wavetables that you're crossfading 
or blending to be aligned.
what even
symmetry does is line up all of the harmonics represented as cosines all with 
phase of zero.� or odd symmetry lines up all of the harmonics as sines with 
phase of zero.� since they all have phase of zero, they're all lined up.� but 
if you extract the wavetables from a sampled note,
your waveshape will likely have neither even nor odd symmetry.� and sometimes 
phase is salient; it affects the waveshape.� so unlike Andrew Horner, i would 
not toss the phase information for each harmonic to the wind.� i would preserve 
that information.
you can circularly shift
a wavetable and keep its waveshape.� a good way to optimally align the phase of 
the harmonics (without disassembling the wave into harmonics and changing the 
waveform by shifting harmonics independently) is to *circularly* 
cross-correlate one wavetable with the other.� the correlation lag
that gives you the maximum (positive) correlation is the lag value used to 
"spin" or "rotate" one wavetable w.r.t. the other to line up the waveforms.
if sequential wavetables are extracted directly from a sampled note (with 
waveshape and timbre that evolves in time after
the onset), this is what you would do anyway.� the set of wavetables **should** 
be aligned when you load them ready to rock-n-roll in your wavetable synth.

---------------------------- Original Message ----------------------------

Subject: Re: [music-dsp] wavetable filtering

From: "gm" <g...@voxangelica.net>

Date: Fri, June 29, 2018 7:39 am

To: music-dsp@music.columbia.edu


> You could use FFT where you can also make the waves symmetric

> which prevents phase cancellations when you blend waves.



> Am 29.06.2018 um 16:19 schrieb alexandre niger:


>> Hello everyone,


>> I just joined the list in order to find help in making a wavetable

>> synth. This synth would do both morphing and frequency wavetables.

>> Morphing is a way to play different waveforms over time and so to get

>> an additional sound dimension. Frequency wavetables are used to avoid

>> aliasing by filtering harmonics the higher the frequency go. I started

>> with the frequency wavetables and then I will do the morphing between

>> different waveforms.


>> As an intern at Rebel Technology, I started making wavetables patches

>> from earlevel articles. In those patches, common waveforms are

>> generated inside the code (tri, square, saw). Now I want to generate

>> some more complex waveforms from an editor called WaveEdit (free).

>> They come as 256 samples single cycle .wav files. Then I change�them

>> into static data in a header file. Once I have this, I can start with

>> frequency wavetables. The key point of frequency wavetables is the

>> filtering. I have to filter enough harmonics so the aliased

>> frequencies do not come back under 18KHz (audiable range). But I must

>> not filter too much if I don't want to get gain loss.


>> At the moment I managed to make a 3550 taps FIR to filter every octave

>> wavetables. Unfortunately, with complex harmonic rich waveforms, I

>> still have audiable aliasing from 2kHz and gain/amplitude difference

>> when wavetables cross.

>> So now I am wondering:

>> About aliasing, should I cascade two FIR instead of increasing the taps?

>> That could be a solution if the stop band is not attenuated enough.

>> According to octave fir1, stop band attenuation is 50dB to 70dB.

>> About gain loss, will "harmonic rich signal" always sound lower when

>> filtered even if gain is the same?

>> I haven't normalize wavetables yet. I might have my answer afterwards.


>> You can have a look at the patch code but you won't be able to try it

>> if you don't get Rebel Technology Owl files.

>> https://github.com/alexniger/OLWpatches-RebelTech/blob/master/WTExtWavePatch.hpp

>> All other links are in the readme.


>> Best,


>> Alex





>> _______________________________________________

>> 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


r b-j� � � � � � � � � � � � �r...@audioimagination.com

"Imagination is more important than knowledge."

dupswapdrop: music-dsp mailing list

Reply via email to