Skip to content

Save / Load Bugs #430

@PetrochukM

Description

@PetrochukM

🐛 Bug

The process of saving and loading a file causes it to change significantly up to the 1st decimal point.

To Reproduce

import torch
import torchaudio

signal = torch.clamp(torch.randn(24000), -1.0, 1.0)
print('Signal Stats:', signal.max(), signal.min(), signal.std(), signal.mean())

torchaudio.save('wavefile.wav', signal, 24000)
loaded_signal, _ = torchaudio.load('wavefile.wav')
print('Loaded Signal Stats:', loaded_signal.max(), loaded_signal.min(), loaded_signal.std(),
      loaded_signal.mean())

Example output:

(venv) OS-XImage-9:Text-to-Speech michaelp$ python foo.py 
Signal Stats: tensor(1.) tensor(-1.) tensor(0.7185) tensor(0.0013)
Loaded Signal Stats: tensor(0.9998) tensor(-1.) tensor(0.6444) tensor(-0.3177)

Notice that the mean and standard deviation of the signal has significantly changed.

Expected behavior

The WAV format should save and load without any loss in precision.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions