Hi Robert, Yes, the polyphase impulse response prototype is a Kaiser-windowed sinc, whose beta comes from the target attenuation (beta ~= 0.1102*(A-8.7) for A > 50 dB). That prototype is sampled Lx finer than the input rate and sliced into L polyphase branches of T taps. Default is L=256 phases x T=48 taps. L sets phase resolution (images drop ~12 dB per doubling), T sets transition width / stopband depth (group delay ~= T/2 samples).
For the polyphase execution at runtime I take the two bracketing phase rows and linearly interpolate their coefficients before the dot product. The inter-phase blend is what gives resolution well beyond L discrete phases. mu itself lives in a 64-bit accumulator that carries the deviation eps from unity ratio. And for the controller, it takes the target vs. instantaneous delay to calculate the adjustment ratio using a type-2 (PI) servo on FIFO occupancy: * Observable = FIFO backlog in frames plus current mu (adding mu removes the +/-1-frame staircase as whole samples slip to make it continuous). * Error e vs. a target setpoint feeds a PI filter outputting eps_hat; the resampler then consumes (1 + eps_hat) frames per output frame. * The plant is a pure integrator (occupancy = integral of rate mismatch, gain fs), so PI gives a clean 2nd-order loop: Kp = 2zetawn/fs, Ki = wn^2/fs, wn = 2pif_L. The integrator nulls a constant ppm offset to zero standing error. The one wrinkle: it's gain-scheduled across three bandwidths - ~10 Hz to acquire, 1 Hz to track, 0.05 Hz steady-state. The occupancy observable carries a quantization sawtooth (one push-block peak-to-peak), and a PI's proportional path would leak that as FM sidebands; dropping to 0.05 Hz with a 3-pole error cascade rejects it to ~-120 dBc-equivalent at 20 kHz while still following a 1 ppm/s drift with under half a frame of error. best, Tim _________________ *Timothy Place* [email protected] On Fri, Jun 26, 2026 at 9:13 PM robert bristow-johnson < [email protected]> wrote: > I don't really want to decode your code, but am interested in how you're > doing the polyphase thingie, how your polyphase impulse response is defined > (windowed-sinc or something else), and how your controller works (what > compares the target delay > ZjQcmQRYFpfptBannerStart > This Message Is From an External Sender > This message came from outside your organization. > > ZjQcmQRYFpfptBannerEnd > > I don't really want to decode your code, but am interested in how you're > doing the polyphase thingie, how your polyphase impulse response is defined > (windowed-sinc or something else), and how your controller works (what > compares the target delay with the actual instantaneous delay and adjusts the > SRC ratio to control it). > > That would be interesting to me. > > -- > > r b-j . _ . _ . _ . _ [email protected] > > "Imagination is more important than knowledge." > > . > . > . > > > On 06/26/2026 9:59 PM EDT Timothy Place <[email protected]> wrote: > > > > > > Hi all, A couple weeks back I created a software ASRC, MIT license, with > > some assistance from Claude Fable while it was online. It was partly > > motivated as an experiment to see if/what the LLM would actually do. I'm > > still in the process of > > ZjQcmQRYFpfptBannerStart > > This Message Is From an External Sender > > This message came from outside your organization. > > ZjQcmQRYFpfptBannerEnd > > Hi all, > > > > A couple weeks back I created a software ASRC, MIT license, with some > > assistance from Claude Fable while it was online. It was partly motivated > > as an experiment to see if/what the LLM would actually do. > > > > I'm still in the process of verifying the results, but so far it is looking > > pretty good. Thought I would share here as it may be of interest and I > > welcome any feedback. > > > > https://urldefense.com/v3/__https://github.com/tap/SampleRateTap__;!!BDUfV1Et5lrpZQ!QnirfUSux-u7cttThG_bYCu7i6WKe4qHNH0sOT0qOX6TOi3JkqX2EoZ3_wQXpgEAnyD5Y_GXnXtEZmGcVrzG_vD1H20$ > > > > (https://urldefense.com/v3/__https://github.com/tap/SampleRateTap__;!!BDUfV1Et5lrpZQ!TlEQrC9mvnPYnpHGXdl_0QcFG_7rR0lnNreby02I8K29g8qeGsIQ1B_dQG8UpSYeebuDiB521EldoIUsNGB2EDlZKKfIhUei$) > > <https://urldefense.com/v3/__https://github.com/tap/SampleRateTap__;!!BDUfV1Et5lrpZQ!TlEQrC9mvnPYnpHGXdl_0QcFG_7rR0lnNreby02I8K29g8qeGsIQ1B_dQG8UpSYeebuDiB521EldoIUsNGB2EDlZKKfIhUei$)%3E> > > Cheers, > > Tim > > _________________ > > Timothy Place > > [email protected] > > > >
