Derivative features: The tempogram
One benefit of cleaning up your data is that it lets you compute more sophisticated
features. For example, the envelope calculation you performed is a common technique
in computing tempo and rhythm features. In this exercise, you'll use librosa
to compute some tempo and rhythm features for heartbeat data, and fit a model once more.
Note that librosa
functions tend to only operate on numpy arrays instead of DataFrames,
so we'll access our Pandas data as a Numpy array with the .values
attribute.
This exercise is part of the course
Machine Learning for Time Series Data in Python
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Calculate the tempo of the sounds
tempos = []
for col, i_audio in audio.items():
tempos.append(lr.beat.____(i_audio.values, sr=sfreq, hop_length=2**6, aggregate=None))
# Convert the list to an array so you can manipulate it more easily
tempos = np.array(tempos)
# Calculate statistics of each tempo
tempos_mean = tempos.____(axis=-1)
tempos_std = tempos.____(axis=-1)
tempos_max = tempos.____(axis=-1)