TorchAudio: Migrating The I/O Functions To Use The Dispatcher Mechanism

This commit is contained in:
Matthew Boakes 2023-11-08 19:27:26 +00:00
parent f00c52602d
commit d0f34b2fd9
1 changed files with 3 additions and 4 deletions

View File

@ -1,5 +1,4 @@
import os
from contextlib import contextmanager
from dataclasses import dataclass
import librosa
@ -8,7 +7,7 @@ import torch.nn.functional as F
import torchaudio
from coqpit import Coqpit
from TTS.tts.layers.tortoise.audio_utils import denormalize_tacotron_mel, wav_to_univnet_mel
from TTS.tts.layers.tortoise.audio_utils import wav_to_univnet_mel
from TTS.tts.layers.xtts.gpt import GPT
from TTS.tts.layers.xtts.hifigan_decoder import HifiDecoder
from TTS.tts.layers.xtts.stream_generator import init_stream_support
@ -71,10 +70,10 @@ def load_audio(audiopath, sampling_rate):
# better load setting following: https://github.com/faroit/python_audio_loading_benchmark
if audiopath[-4:] == ".mp3":
# it uses torchaudio with sox backend to load mp3
audio, lsr = torchaudio.backend.sox_io_backend.load(audiopath)
audio, lsr = torchaudio.load(audiopath, backend="sox")
else:
# it uses torchaudio soundfile backend to load all the others data type
audio, lsr = torchaudio.backend.soundfile_backend.load(audiopath)
audio, lsr = torchaudio.load(audiopath, backend="soundfile")
# stereo to mono if needed
if audio.size(0) != 1: