diff --git a/funasr/datasets/large_datasets/dataset.py b/funasr/datasets/large_datasets/dataset.py index 33ed13ab5..748e4bf1c 100644 --- a/funasr/datasets/large_datasets/dataset.py +++ b/funasr/datasets/large_datasets/dataset.py @@ -135,7 +135,8 @@ class AudioDataset(IterableDataset): speed = random.choice(self.speed_perturb) if speed != 1.0: mat, _ = torchaudio.sox_effects.apply_effects_tensor( - mat, sampling_rate, [['speed', str(speed)], ['rate', str(sampling_rate)]]) + torch.tensor(mat).view(1, -1), sampling_rate, [['speed', str(speed)], ['rate', str(sampling_rate)]]) + mat = mat.view(-1).numpy() sample_dict[data_name] = mat sample_dict["sampling_rate"] = sampling_rate if data_name == "speech": diff --git a/funasr/fileio/sound_scp.py b/funasr/fileio/sound_scp.py index 11d582c53..fc2c3e354 100644 --- a/funasr/fileio/sound_scp.py +++ b/funasr/fileio/sound_scp.py @@ -8,6 +8,7 @@ import soundfile import librosa from typeguard import check_argument_types +import torch import torchaudio from funasr.fileio.read_text import read_2column_text @@ -62,8 +63,9 @@ class SoundScpReader(collections.abc.Mapping): speed = random.choice(self.speed_perturb) if speed != 1.0: array, _ = torchaudio.sox_effects.apply_effects_tensor( - array, rate, + torch.tensor(array).view(1, -1), rate, [['speed', str(speed)], ['rate', str(rate)]]) + array = array.view(-1).numpy() return rate, array