Note
Click here to download the full example code
Audio Datasets¶
Author: Moto Hira
torchaudio
provides easy access to common, publicly accessible
datasets. Please refer to the official documentation for the list of
available datasets.
import torch
import torchaudio
print(torch.__version__)
print(torchaudio.__version__)
2.10.0.dev20251013+cu126
2.8.0a0+1d65bbe
import os
import IPython
import matplotlib.pyplot as plt
_SAMPLE_DIR = "_assets"
YESNO_DATASET_PATH = os.path.join(_SAMPLE_DIR, "yes_no")
os.makedirs(YESNO_DATASET_PATH, exist_ok=True)
def plot_specgram(waveform, sample_rate, title="Spectrogram"):
waveform = waveform.numpy()
figure, ax = plt.subplots()
ax.specgram(waveform[0], Fs=sample_rate)
figure.suptitle(title)
figure.tight_layout()
Here, we show how to use the
torchaudio.datasets.YESNO
dataset.
dataset = torchaudio.datasets.YESNO(YESNO_DATASET_PATH, download=True)
2.8%
5.6%
8.4%
11.1%
13.9%
16.7%
19.5%
22.3%
25.1%
27.9%
30.7%
33.4%
36.2%
39.0%
41.8%
44.6%
47.4%
50.2%
52.9%
55.7%
58.5%
61.3%
64.1%
66.9%
69.7%
72.5%
75.2%
78.0%
80.8%
83.6%
86.4%
89.2%
92.0%
94.7%
97.5%
100.0%
i = 1
waveform, sample_rate, label = dataset[i]
plot_specgram(waveform, sample_rate, title=f"Sample {i}: {label}")
IPython.display.Audio(waveform, rate=sample_rate)
![Sample 1: [0, 0, 0, 1, 0, 0, 0, 1]](../_images/sphx_glr_audio_datasets_tutorial_001.png)
i = 3
waveform, sample_rate, label = dataset[i]
plot_specgram(waveform, sample_rate, title=f"Sample {i}: {label}")
IPython.display.Audio(waveform, rate=sample_rate)
![Sample 3: [0, 0, 1, 0, 0, 0, 1, 0]](../_images/sphx_glr_audio_datasets_tutorial_002.png)
i = 5
waveform, sample_rate, label = dataset[i]
plot_specgram(waveform, sample_rate, title=f"Sample {i}: {label}")
IPython.display.Audio(waveform, rate=sample_rate)
![Sample 5: [0, 0, 1, 0, 0, 1, 1, 1]](../_images/sphx_glr_audio_datasets_tutorial_003.png)
Total running time of the script: ( 0 minutes 3.295 seconds)