Mercurial > hg > btrack
annotate modules-and-plug-ins/python-module/example.py @ 110:0fdaf082ad1a
Got compiling on M1 mac and Python 3
author | Adam Stark <adamstark.uk@gmail.com> |
---|---|
date | Sun, 31 Oct 2021 23:34:44 +0000 |
parents | edb071c0cd1f |
children |
rev | line source |
---|---|
adamstark@67 | 1 # need scikits audiolab for reading audio files |
adamstark@67 | 2 from scikits.audiolab import wavread |
adamstark@67 | 3 |
adamstark@109 | 4 # import numpy (needed to convert stereo audio to mono) |
adamstark@109 | 5 import numpy as np |
adamstark@109 | 6 |
adamstark@67 | 7 # need to import btrack, our beat tracker |
adamstark@67 | 8 import btrack |
adamstark@67 | 9 |
adamstark@67 | 10 # set the path to an audio file on your machine |
adamstark@94 | 11 audioFilePath = "/path/to/your/audioFile.wav" |
adamstark@67 | 12 |
adamstark@67 | 13 # read the audio file |
adamstark@109 | 14 audioData, fs, enc = wavread (audioFilePath) # extract audio from file |
adamstark@67 | 15 |
adamstark@67 | 16 # convert to mono if need be |
adamstark@67 | 17 if (audioData[0].size == 2): |
adamstark@67 | 18 print "converting to mono" |
adamstark@109 | 19 audioData = np.average (audioData, axis = 1) |
adamstark@67 | 20 |
adamstark@67 | 21 # ========================================== |
adamstark@67 | 22 # Usage A: track beats from audio |
adamstark@109 | 23 beats = btrack.trackBeats (audioData) |
adamstark@67 | 24 |
adamstark@67 | 25 # ========================================== |
adamstark@67 | 26 # Usage B: extract the onset detection function |
adamstark@109 | 27 onsetDF = btrack.calculateOnsetDF (audioData) |
adamstark@67 | 28 |
adamstark@67 | 29 # ========================================== |
adamstark@67 | 30 # Usage C: track beats from the onset detection function (calculated in Usage B) |
adamstark@109 | 31 ODFbeats = btrack.trackBeatsFromOnsetDF (onsetDF) |