M: A question out of left field. I've done a little bit of audio editing, you know, looking at the waveform and all that, and seeing when the peaks and troughs go amplified out of the available range so you can't see, you know, so it starts to sound like static. I was wondering what kind of research has been done in the idea of using just the zero points to reconstruct the entire waveform, like a Bézier curve or something like that, you know, or maybe a Nernst curve. That kind of thing where the curve is defined by presets and calculation. How possible is that? Because I know that sound is amplitude as well as frequency. But is it possible to at least reconstruct something based just on intelligent massaging of the information knowing just the zero points of a waveform?

G: That’s a very interesting question! In short: yes, researchers have studied reconstruction of signals from just the zero-crossings (or a related limited set of amplitude information) — but the results show significant limitations. I’ll break down what’s known, what the possibilities are, and what the obstacles would be if you tried the kind of “reconstruct via Bézier/curve-fit through the zeros” trick for audio waveforms.


What the research says

Here are some relevant findings:


What it means for your Bézier/curve idea

From the above, a few take-aways:

What you could hope to do

What you’ll not get (or will struggle)

So in practice

If you tried:

You could get something that “looks like a wave” and maybe even “sounds like a wave” in broad strokes (for simple tones) but you’d likely get something that:

If you know additional information (e.g., approximate amplitude envelope, known waveform type, known fundamental frequency, you know it’s a single tone etc.) you’ll do much better.


Some additional nuance & possibilities


My conclusion & recommendation

So given all this: if I were you, I’d say:

If you like, I can pull up specific algorithms or code from some of these papers (e.g., the “Reconstructing sparse signals from their zero crossings” or the “bandlimited reconstruction from zero crossings”) so you can inspect how they do it (and see how applicable it might be to your audio editing case). Would you like me to dig those up?

M: Okay, let me give you the specific example I'm thinking of. Back 20 or 25 years ago, there was much less... how would I put it? Intelligent assumption, maybe? Basically, it was really easy to screw up with a microphone, or an amplification, or something like that. I generally was able to avoid it back in the day when MP3s first became a thing. But... I saw, and still have, instances of recordings where it would, what's the term, band out or something when you amplify it too far, and it just flattens at the highest volume level on the waveform. So if you were to take a recording from back then of someone who has got their microphone settings wrong, and so everything sounds like loud static because of that banding out, or whatever the right term is. What if you were to use the zeros, and then the... What's that term? Not tangent? Trajectory? The derivative, the slope of the part right before it hits that banding out. In order to approximate the curve which would connect those two endpoints. Would that be possible, and what would the result sound like? Also, if you were, in the general case that I described before, to simply use the zero points, and preset Bezier curve type calculations to create a waveform, what would it sound like? Would it be something like the Peanuts Parents, where it just sounds like the right tone, or would it sound monotone, or what? Assume that it's an audio of someone speaking, just so that we have a baseline case.

G: [Non-text content: thoughts; content_type=thoughts]

G: [Non-text content: reasoning_recap; content_type=reasoning_recap]

G: TL;DR: You can’t get a faithful voice back from only zero-crossings. If you also use a little more—like the slope right before/after the clipped plateau—you can “paint in” something smoother than the brick-wall flat top, but it won’t restore the true timbre or consonants. Pure zero-cross + preset Bézier curves mostly gives you a buzzy, pitch-correct but dull/muffled version of speech, not natural audio.

Two cases you asked about

1) Old recordings that “band out” (hard clipping)

What you have is classic hard clipping: samples above a threshold are flattened to ±L. Information lost includes peak height, local curvature, and partials generated by the true shape near the peak.

Using zeroes + pre-clip slope to fill the plateau

Why it helps but can’t be perfect

The plateau destroyed phase and amplitude detail. Zero-crossings and local slopes constrain where a curve must pass and how it enters/leaves, but not its true peak height or overtone balance. You can produce a natural-looking peak; you can’t guarantee it’s the right one.

2) General “zero-only + preset Bézier” reconstruction

Imagine you only keep the times the waveform crosses zero and then draw a fixed-shape curve between zeros (a Bézier/sine-like arc per half-cycle).

Practical takeaways

If you wanted a minimal “good” pipeline for old clipped speech

  1. Detect clipped runs and mark guard zones around them.
  2. Estimate local spectrum or LPC just outside each run.
  3. Inpaint each run by solving for a short segment that:
    • Matches boundary values and estimated boundary slopes.
    • Minimizes high-frequency energy or is sparse in DCT.
    • Keeps instantaneous amplitude under a plausible peak.
  4. Cross-fade back to original; do gentle de-harsh EQ if needed.

This fixes harshness and recovers some plausibility, but it will not recreate the true original performance.

M: But the result should be something at least listenable in the first case, right? I'm thinking of situations in which there was sufficient hard clipping that to the human ear it became nearly unlistenable, and certainly not comprehensible. Do you know if there's any software out there that actually attempts this? Some kind of GitHub or Audacity plugin for people who are just interested like I am and have gone through the code already to see what happens. Yeah, with the second version, that kind of was my thought as to what would be the result. I just... simply going out and testing it is not a practical use of time for someone who isn't already deeply involved in the equipment and code of audio, and I'm not. Pitch tracker turned tone with synthesizer. Yeah, that's kind of what I expected.

G: Yes — there are software tools (both commercial and open-source) that attempt to fix clipped/hard-distorted audio. They won’t necessarily do exactly the “zero‐crossings + Bézier curve” method you described, but many implement more sophisticated “inpainting”, “declipping” or restoration algorithms. Here are some examples plus my judgement about how usable they are for your case.


✅ Software examples worth exploring


🧐 How likely to work for your case (heavily clipped speech)

Given your scenario — older recording, heavy clipping/banding out, likely voice/speech — here’s how I assess their usability:


🔧 My recommendation for you

Since you said testing everything is not practical unless worthwhile:

  1. Start with a free tool: Use Audacity’s Clip Fix on a sample of your clip. See if it helps.
  2. Try an open-source project: If you’re comfortable with some command line, try VoiceFixer or Universal Speech Enhancement on that same file and compare.
  3. If results are promising: Consider a commercial specialist tool (Perfect Declipper or similar) for a one-time deeper repair.
  4. Set expectations: For severely banded out vocals, don’t expect “studio quality restored”—expect “utterable/understandable, much improved”.
  5. If you later change your approach: Your original idea (zero-crossing + Bézier) could be a fun experimental DIY project (e.g., in Python/Matlab) but for practical result you’ll do better with the existing algorithms.

If you like, I can pull together a short list (5-10) of the best free/open-source declipping/voice-restoration tools right now, with links + how easy they are for a non-DSP person to use. Would you like that?

M: I think it's funny that you keep emphasizing the idea of not being original voice faithful when that is often in itself kind of difficult to define. I mean if you're talking about just people talking, you've got microphones set up, possible distortion, and then of course if you're recording yourself it's never going to be quite faithful simply because the resonance in your skull means that you never sound quite how you hear yourself. You don't have to qualify that in any further discussion unless it becomes like a focus of the topic. I'm not talking about creating exactness just in getting something that is better than what already exists.

G: Good note — and yes, that distinction matters.
When I said “not faithful,” what I really meant is “not reconstructing lost information, just improving intelligibility or texture.”
For your purposes — taking a brick-walled, static-ridden vocal and turning it into something you can actually understand — the declipping and curve-reconstruction methods absolutely can deliver that.

If we’re talking practical intent rather than forensic accuracy, then the goal shifts from restoration to rehabilitation: make it sound natural enough that a listener’s brain stops fighting the noise.
That’s a reachable bar.

So going forward: you can safely assume that any mention of “quality loss” from me just means “the artifact may still be audible, but you’ll actually be able to listen to it.”

M: Is there a publicly available filter that attempts to reconstruct how someone sounds to themselves based on skull shape and face and whatever? I feel like that would be not gold standard of audio reconstruction or anything particularly award winning, but it would be just really impressive.

G: Good question — I couldn’t find a publicly available filter that specifically recreates how you hear your own voice (via bone conduction/skull resonance) from a conventional microphone recording. Here’s a breakdown of what is out there, why the one you’re imagining is hard, and what you could try.


✅ What does exist


⚠️ Why the “sound like you hear yourself” filter is tricky


🚀 What you could try / DIY approach

Since you’re interested in something “just better than what already exists”, here’s what I’d suggest:

  1. Record your voice as usual into a good mic in a consistent environment.
  2. Create a custom EQ / convolution filter:
    • Boost lower frequencies (say 60-300 Hz) modestly to simulate the skull-bass effect.
    • Perhaps apply a subtle “body resonance” reverb or convolution of an impulse that simulates internal body resonance (some experimentation).
    • Optionally reduce some of the highest frequencies (since when we hear ourselves, some high components may be masked by bone conduction).
  3. Compare playback with different filters until you feel “Yes, that sounds more like me in my head”.
  4. If you’re comfortable with code: look at an open-source vocoder or source-filter neural model (e.g., “Source-Filter HiFi-GAN” citeturn0academia13) and adapt it so it uses your mic recording and then modifies the filter section to exaggerate or simulate internal resonance.

If you like, I can scan GitHub for any experimental projects that attempt exactly “mic capture → simulate what you hear in skull” and see if there is something semi-usable (even a prototype). Would that interest you?

M: My next question was where you started going. Say that you're just using out-of-the-box audacity for the audio editing. What set of... ...filters would you... ...suggest... ...using to start trying to simulate... ...how someone sounds inside their own head? And also... Is there any documentation on... ...someone using... Sorry. ...on how that kind of internal resonance... ...can make someone... ...blind to certain failings in their singing voice? Like, is there an actual phenomenon that would... ...explain at least some of the people who think they can sing... ...but consistently hit the wrong notes?

G: Those are both good questions — and they actually tie together neatly.


1. Simulating “how you sound to yourself” using only Audacity tools

You won’t get an anatomically perfect model, but you can approximate the internal resonance and bone-conducted coloration your skull adds. In Audacity, you can stack a few built-in effects to get surprisingly close.

Suggested starting chain

  1. EQ (Filter Curve EQ)

    • Boost 80–250 Hz by about +3 dB to +6 dB to simulate the chest/skull resonance.
    • Gently roll off above 6 kHz (-2 dB to -5 dB) — bone conduction muffles a bit of the very high air-borne sparkle.
    • Optional: a shallow dip around 1–2 kHz can make it feel more “inside the head.”
  2. Compressor

    • Threshold around –18 dB, ratio ~2:1, makeup gain on.
    • Bone conduction “flattens” dynamics a bit; compression mimics that evenness.
  3. Reverb

    • Use the built-in Reverb effect very subtly:
      • Room size ~10–15 %, reverb time ~0.2 s, tone high dampening.
      • You’re not trying for a room, just a faint body cavity resonance.
  4. Optional: Bass and Treble

    • If it still sounds thin, add another 1–2 dB of bass.
    • If it’s booming, roll back the lowest EQ shelf a bit (below 80 Hz).

You’ll end up with something a little darker, smoother, and thicker — the kind of “that’s what I sound like in my skull” quality most people notice when hearing recordings versus speaking.

If you want to go one notch fancier in Audacity:


2. Why people think they can sing when they can’t

Yes — there’s actual research on this.

The perceptual cause

So you may believe you’re on pitch because, inside your head, the combination sounds right — but to everyone else, the air-conducted component is slightly off.

Studies on “vocal self-monitoring” and “auditory feedback” confirm that people rely heavily on their internal mix. Altering that feedback (by headphones, delayed monitoring, or equalized playback) can throw singers off or reveal hidden pitch errors.

Relevant literature:

Practical takeaway

People who are off-key often aren’t deaf to pitch; they’re hearing an inaccurate version of their own output. Their skull acts like a private equalizer that flatters and detunes them at the same time. That’s why recorded playback feels shocking — it’s the first time they hear only the air-borne version.


If you’d like, I can give you a preset EQ curve (Audacity .xml) that roughly matches the “bone-conducted voice” coloration so you can import it and start from there instead of dialing manually. Would you want that?