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.
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 czhenry@gmail.com wrote:
On Mon, Mar 27, 2023 at 3:33 AM Claude Heiland-Allen claude@mathr.co.uk 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
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list