Using Audiowrite is clipping WAV files

Audiowrite is only capable of writing data to WAV in a range of +/- 1.0. I have sound files that get up to around +/-8.0 Pa. I understand that the documentation says the sound data should be normalized to fit in the +/-1.0 range, and I know how to do it, but it screws up my data processing later on if I do that. My question is, why is the range +/-1? Why can't it be whatever I need it to be? Is there a different way to get this done without clipping?

Réponses (1)

Walter Roberson
Walter Roberson le 3 Juin 2019

0 votes

Sound file formats such as wav are not data files. They are not intended to represent specific signal levels, and make not attempt to deal with very common issues such as Mic Level (about 1 millivolt) or Line Level (about sqrt(3) volts for pro, about 1/2 V for consumer), let alone pre-amp speaker levels or post-amp driving speakers. They are not Pa readings. Sound file formats store information about signal levels relative to the maximum of the system. The signal information dealt with stays the same regardless of whether someone has their volume set at half or if they have turned it up to 11.
The way to do this without clipping is to not use a sound file.

Catégories

En savoir plus sur Audio I/O and Waveform Generation dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by