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 import os
from contextlib import contextmanager
from dataclasses import dataclass from dataclasses import dataclass
import librosa import librosa
@ -8,7 +7,7 @@ import torch.nn.functional as F
import torchaudio import torchaudio
from coqpit import Coqpit 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.gpt import GPT
from TTS.tts.layers.xtts.hifigan_decoder import HifiDecoder from TTS.tts.layers.xtts.hifigan_decoder import HifiDecoder
from TTS.tts.layers.xtts.stream_generator import init_stream_support 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 # better load setting following: https://github.com/faroit/python_audio_loading_benchmark
if audiopath[-4:] == ".mp3": if audiopath[-4:] == ".mp3":
# it uses torchaudio with sox backend to load 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: else:
# it uses torchaudio soundfile backend to load all the others data type # 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 # stereo to mono if needed
if audio.size(0) != 1: if audio.size(0) != 1: