41 lines
906 B
Python
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;
|
|
)
|