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)