Skip to content

Instantly share code, notes, and snippets.

@aravindpai
Created July 10, 2019 07:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aravindpai/e077b793e9c3204031d069d0976bafb9 to your computer and use it in GitHub Desktop.
Save aravindpai/e077b793e9c3204031d069d0976bafb9 to your computer and use it in GitHub Desktop.
train_audio_path = '../input/tensorflow-speech-recognition-challenge/train/audio/'
samples, sample_rate = librosa.load(train_audio_path+'yes/0a7c2a8d_nohash_0.wav', sr = 16000)
fig = plt.figure(figsize=(14, 8))
ax1 = fig.add_subplot(211)
ax1.set_title('Raw wave of ' + '../input/train/audio/yes/0a7c2a8d_nohash_0.wav')
ax1.set_xlabel('time')
ax1.set_ylabel('Amplitude')
ax1.plot(np.linspace(0, sample_rate/len(samples), sample_rate), samples)
@jdigruttola
Copy link

I got the same issue and sounds logic, so I decided to generate the graphic with librosa.display.waveplot

import os
import librosa #for audio processing
import librosa.display
import IPython.display as ipd
import matplotlib.pyplot as plt
import numpy as np
from scipy.io import wavfile #for audio processing
import warnings
warnings.filterwarnings("ignore")

# Constants
FOLDER_PATH = '/foo/'
FILE_PATH = FOLDER_PATH + '001.wav'
PLOT_TITLE = 'Raw wave of ' + FILE_PATH

# Creates the main plot
fig = plt.figure(figsize=(14, 8))

# Creates the sub-plot for the graphic
ax1 = fig.add_subplot(211)
ax1.set_title(PLOT_TITLE)
ax1.set_xlabel('time')
ax1.set_ylabel('Amplitude')

# Loads audio file
samples, sample_rate = librosa.load(FILE_PATH, sr=16000)
print('Sampling rate: ' + str(sample_rate))
print('Sample number: ' + str(len(samples)))

# Generates the graphic
librosa.display.waveplot(samples, sr=sample_rate, ax=ax1)

# Prints plots
plt.show()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment