| 48 | _FloatLike_co = Union[_IntLike_co, float, "np.floating[Any]"] |
| 49 | |
| 50 | def process_audio(file_path, target_sample_rate=24000): |
| 51 | audio, sample_rate = torchaudio.load(file_path) |
| 52 | # Check if the audio needs to be resampled |
| 53 | if sample_rate != target_sample_rate: |
| 54 | audio = torchaudio.transforms.Resample(orig_freq=sample_rate, new_freq=target_sample_rate)(audio) |
| 55 | # Convert stereo to mono (if necessary) |
| 56 | audio = audio.mean(dim=0, keepdim=True) if audio.size(0) == 2 else audio |
| 57 | return audio, target_sample_rate |
| 58 | |
| 59 | def load_wav(full_path): |
| 60 | sampling_rate, data = read(full_path) |