_summary_ Args: audiopath (_type_): audio_path sampling_rate (_type_): sampling_rate Returns: _type_: _description_
(audiopath, sampling_rate)
| 7 | |
| 8 | |
| 9 | def load_audio(audiopath, sampling_rate): |
| 10 | """_summary_ |
| 11 | |
| 12 | Args: |
| 13 | audiopath (_type_): audio_path |
| 14 | sampling_rate (_type_): sampling_rate |
| 15 | |
| 16 | Returns: |
| 17 | _type_: _description_ |
| 18 | """ |
| 19 | audio, lsr = torchaudio.load(audiopath) |
| 20 | |
| 21 | # stereo to mono if needed |
| 22 | if audio.size(0) != 1: |
| 23 | audio = torch.mean(audio, dim=0, keepdim=True) |
| 24 | |
| 25 | # resample |
| 26 | audio_resampled = torchaudio.functional.resample(audio, lsr, sampling_rate) |
| 27 | if torch.any(audio > 10) or not torch.any(audio < 0): |
| 28 | print(f"Error with {audiopath}. Max={audio.max()} min={audio.min()}") |
| 29 | |
| 30 | if torch.any(audio_resampled > 10) or not torch.any(audio_resampled < 0): |
| 31 | print( |
| 32 | f"Error with {audiopath}. Max={audio_resampled.max()} min={audio_resampled.min()}" |
| 33 | ) |
| 34 | # clip audio invalid values |
| 35 | audio.clip_(-1, 1) |
| 36 | audio_resampled.clip_(-1, 1) |
| 37 | return audio, lsr, audio_resampled |
no outgoing calls
no test coverage detected