# Working with a sound's magnitude instead of amplitude

I'm working on a project, where we're recording sound with a piezo-disc which looks a little something like this:

Now, unless we're doing something horribly horribly wrong, I've discovered that we're only recording the magnitude of sound, since a piezo-disc emits a response to pressure, regardless of direction.

This is a sound-recognition project and previously, we'd been working with smartphone microphones. Back then, we could MFCC to perform feature extraction, yet now it looks like some things will break:

I fear that the pre-emphasis step in particular might lead to faulty results.

What kind of an approach could we follow?

1. Is there a way to "guesstimate" the amplitude from the magnitude?
2. Assuming that I do skip pre-emphasis, I don't expect the Fourier transform of the magnitude over time to differ from that of the Fourier transform of the amplitude over time. But am I better of skipping it, or fine-tuning it?
3. I should just ignore all of these concerns and just continue to take MFCC's as usual.

Any other ideas?

• Are you sure it's only magnitude? I thought piezo discs could generate both positive and negative output signal. Jul 16, 2020 at 16:38
• I think your analog-to-digital converter (ADC), or preamp if you have one, is unable to handle negative voltages, which the piezo does also generate. So you need biasing. Jul 17, 2020 at 4:24
• @OlliNiemitalo This!
– jojeck
Jul 17, 2020 at 8:35

Working with the magnitude only is probably a non-starter. $$y = |x|$$ is a highly non-linear operation and will dramatically change your spectrum. For example a sine wave at $$f_0$$ has just a single spectral line. The spectrum of the magnitude has a strong DC bias, lots of even harmonics $$2f_0, 4f_0 ...$$ but no content at $$f_0$$ at all anymore