tmilovan
Member
- Joined
- Mar 9, 2026
- Messages
- 25
- Likes
- 5
**UPDATE: V2 samples and plots posted below (post #27). The original version had a processing error that skewed the spectral balance. Corrected version is flat through 6 kHz with a gentle HF rolloff.**
Hi all,
I've been working on a reconstruction method for PCM upsampling that takes a different approach from sinc-based interpolation. Instead of band-limited reconstruction, it uses locally adaptive polynomial fitting, each inter-sample region gets its own curve based on the surrounding sample geometry. The result is nonlinear and input-dependent, so it doesn't have a fixed impulse response in the traditional sense, so it doesn't have a fixed impulse response in the traditional sense. It works in the time domain — the inter-sample curve is fitted directly from sample values, not derived from a band-limiting assumption.
I'm sharing measurements and listening samples. I'm curious what you see in the data and what concerns you'd have.
Impulse Response Comparison
Difference: Top: Impulse response. This method (Composite (green)) shows no pre-ringing and faster settling, but a sharper post-impulse dip. Bottom: Amplitude response. Both methods are closely matched through the audible band. Composite does not enforce a band limit, spectral content extends above 22 kHz. This is a design choice, not an oversight (see note on ultrasonic content below).
Spectrogram Comparison
Source: 16-bit/44.1 kHz → 24-bit/176.4 kHz (4× upsampling)
The method generates spectral content above the original 22.05 kHz Nyquist. Sinc does not, by design. The ultrasonic content correlates with the harmonic series of the source material — it's not noise or random artifacts.
Note on ultrasonic content: This can be filtered out with a standard low-pass at 22 kHz post-reconstruction, the samples here are unfiltered to better showcase what the reconstruction actually produces. The audible-band behavior is preserved either way.
Spectral Band Analysis (Method vs Sinc)
Output is spectrally close to sinc through 6 kHz, with a gentle rolloff above (-0.7 dB at presence, -1.0 dB at air). Correlation with sinc output: 0.997
Clipping: 1,503 samples out of 50M+ (0.003%).
Sample-level plots added in V2
Black dots are the original 44.1 kHz samples and are now drawn properly.
Listening Samples
Four tracks, all CC-BY licensed. Each folder contains: original 16/44.1, sinc 4×, this method 4×. Look at files prefixed with V2.
https://drive.google.com/drive/folders/1mpEib3wkGSQMkhKZ-LXbcFBdX5vlj1Z1?usp=sharing
I'm not claiming this sounds "better", I'm saying it sounds different, and I'd like to understand why from a measurement perspective. If you hear no difference level-matched, that's a valid and useful result.
What it is
What it is not
What do you see in the impulse response? What would concern you?
Thanks for reading all this. If any of this caught your eye, even just the IR plot, I'd appreciate your take. And if you're up for it: download, level-match, ABX. Null results are just as valuable as positive ones. Happy to provide any additional measurements the community would find useful.
**This post has been updated: UPDATE: V2 samples and plots are from post #27. The original version had a processing error that skewed the spectral balance. Corrected version is flat through 6 kHz with a gentle HF rolloff.**
Hi all,
I've been working on a reconstruction method for PCM upsampling that takes a different approach from sinc-based interpolation. Instead of band-limited reconstruction, it uses locally adaptive polynomial fitting, each inter-sample region gets its own curve based on the surrounding sample geometry. The result is nonlinear and input-dependent, so it doesn't have a fixed impulse response in the traditional sense, so it doesn't have a fixed impulse response in the traditional sense. It works in the time domain — the inter-sample curve is fitted directly from sample values, not derived from a band-limiting assumption.
I'm sharing measurements and listening samples. I'm curious what you see in the data and what concerns you'd have.
Impulse Response Comparison
Difference: Top: Impulse response. This method (Composite (green)) shows no pre-ringing and faster settling, but a sharper post-impulse dip. Bottom: Amplitude response. Both methods are closely matched through the audible band. Composite does not enforce a band limit, spectral content extends above 22 kHz. This is a design choice, not an oversight (see note on ultrasonic content below).
Spectrogram Comparison
Source: 16-bit/44.1 kHz → 24-bit/176.4 kHz (4× upsampling)
The method generates spectral content above the original 22.05 kHz Nyquist. Sinc does not, by design. The ultrasonic content correlates with the harmonic series of the source material — it's not noise or random artifacts.
Note on ultrasonic content: This can be filtered out with a standard low-pass at 22 kHz post-reconstruction, the samples here are unfiltered to better showcase what the reconstruction actually produces. The audible-band behavior is preserved either way.
Spectral Band Analysis (Method vs Sinc)
| Band | Hz | Delta (dB) |
|---|---|---|
| Sub-bass | 20–60 | +0.00 |
| Bass | 60–250 | -0.00 |
| Low-mid | 250–2kHz | -0.02 |
| High-mid | 2–6kHz | -0.16 |
| Presence | 6–12kHz | -0.68 |
| Air | 12–20kHz | -0.98 |
| Ultrasonic | >20kHz | +52.32 |
Output is spectrally close to sinc through 6 kHz, with a gentle rolloff above (-0.7 dB at presence, -1.0 dB at air). Correlation with sinc output: 0.997
Clipping: 1,503 samples out of 50M+ (0.003%).
Sample-level plots added in V2
Black dots are the original 44.1 kHz samples and are now drawn properly.
Listening Samples
Four tracks, all CC-BY licensed. Each folder contains: original 16/44.1, sinc 4×, this method 4×. Look at files prefixed with V2.
https://drive.google.com/drive/folders/1mpEib3wkGSQMkhKZ-LXbcFBdX5vlj1Z1?usp=sharing
I'm not claiming this sounds "better", I'm saying it sounds different, and I'd like to understand why from a measurement perspective. If you hear no difference level-matched, that's a valid and useful result.
What it is
- Locally adaptive — different reconstruction paths between different pairs of samples
- Nonlinear overall (though each local reconstruction is a polynomial, so locally smooth)
- Input-dependent — no fixed impulse response, no fixed frequency response
- Deterministic — same input always produces same output, no randomness
What it is not
- Not a filter in the LTI sense — concepts like "minimum phase" or "linear phase" don't directly apply
- Not AI/ML — no neural networks, no training data
- Not just EQ on top of sinc — the spectral shaping emerges from the reconstruction weights, not from a separate filter chain
What do you see in the impulse response? What would concern you?
Thanks for reading all this. If any of this caught your eye, even just the IR plot, I'd appreciate your take. And if you're up for it: download, level-match, ABX. Null results are just as valuable as positive ones. Happy to provide any additional measurements the community would find useful.
**This post has been updated: UPDATE: V2 samples and plots are from post #27. The original version had a processing error that skewed the spectral balance. Corrected version is flat through 6 kHz with a gentle HF rolloff.**
Attachments
Last edited: