hi charles, interesting approach!
unfortunately i have a very busy few weeks with some (musical) deadlines, so i did not do much work on this. i tried my version of the gr300 guitar synth patch again for bass and it works quite well but needs a lot of filtering (maybe also adaptive filtering) to avoid octave jumps.
sinetosawtoothfullreplace.pd
Description: Binary data
this are the brains of one channel… it is a rather simple approach but with adequate filtering it should work well for a constrained range. it sure worked well on the gr300 in the 80ies, but that was in analog territory. my implementation works exceptionally well for vocals with a little filtering on the input, and there is very little lag. > On 27 Mar 2023, at 16:43, Charles Z Henry <[email protected]> wrote: > > On Mon, Mar 27, 2023 at 3:33 AM Claude Heiland-Allen <[email protected]> > wrote: > >> The [hilbert~] abstraction that comes with Pd has two all-pass biquad >> filters that give outputs approximately 90 degrees out of phase from >> each other, so calling its two outputs x and y, phase can be >> approximated with atan2(y, x) and amplitude with sqrt(x^2 + y^2). >> I don't know whether it works as-is for bass frequencies though - maybe >> needs a [deephilbert~] version? > > I'm starting in on looking at that with ELSE's [biplot] abstraction. > So far, just copying/pasting things, like coeff from hilbert~ biquads > (2 in series for the left outlet, 2 in series for the right). I'll > need to modify for adding/subtracting the phase results from each > other and to reduce the range to see the lowest freq in detail > https://github.com/czhenry/czbs/blob/master/analyze_hilbert.pd > > > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
