live-beatbox/scanlib.sc

41 lines
906 B
Python

// This is the script I used to batch analyse a directory of audio samples.
// It scans a directory, analyses each suitable audio
// sample found and stores the results in the environment variable
// ~output.
// This output should be saved in a file called "data.sc" in the root directory.
// At present sound samples are limited to 1 second in length..
// TODO improve this system!
(
var maxFrames = 44100;
var path = Document.current.dir ++ "/samples/".standardizePath; // edit to your path
var files = (path ++ "*.wav").pathMatch;
~output = ();
Routine {
files.do { |fname|
var len;
try {
Post << "Processing " << fname << $\n;
Beat.newFromPath(fname, s) { |beat|
beat.analyse { |beat|
~output[fname] = beat.features;
};
};
} { |error|
error.errorString.postln;
};
1.wait
};
}.play;
)