adamstark@67: # need scikits audiolab for reading audio files adamstark@67: from scikits.audiolab import wavread adamstark@67: adamstark@109: # import numpy (needed to convert stereo audio to mono) adamstark@109: import numpy as np adamstark@109: adamstark@67: # need to import btrack, our beat tracker adamstark@67: import btrack adamstark@67: adamstark@67: # set the path to an audio file on your machine adamstark@94: audioFilePath = "/path/to/your/audioFile.wav" adamstark@67: adamstark@67: # read the audio file adamstark@109: audioData, fs, enc = wavread (audioFilePath) # extract audio from file adamstark@67: adamstark@67: # convert to mono if need be adamstark@67: if (audioData[0].size == 2): adamstark@67: print "converting to mono" adamstark@109: audioData = np.average (audioData, axis = 1) adamstark@67: adamstark@67: # ========================================== adamstark@67: # Usage A: track beats from audio adamstark@109: beats = btrack.trackBeats (audioData) adamstark@67: adamstark@67: # ========================================== adamstark@67: # Usage B: extract the onset detection function adamstark@109: onsetDF = btrack.calculateOnsetDF (audioData) adamstark@67: adamstark@67: # ========================================== adamstark@67: # Usage C: track beats from the onset detection function (calculated in Usage B) adamstark@109: ODFbeats = btrack.trackBeatsFromOnsetDF (onsetDF)