jamie@25: #N canvas 685 60 450 725 10; jamie@25: #X text 21 12 [xtract~]; jamie@25: #X text 24 19 ________; jamie@25: #X text 22 52 [xtract~] provides a wrapper for the feature extraction jamie@25: library: LibXtract. Please refer to the documentation at libxtract.sourceforge.net jamie@25: \, for a full explanation of the library and the functions it provides. jamie@25: Only the operation of the PD external will be explained here along jamie@25: with a few use case scenarios.; jamie@25: #X text 20 148 [xtract~] must always be called with one argument \, jamie@25: in the following form: [xtract~ ] \, where is a jamie@25: feature supported by the LibXtract library. A complete list of features jamie@25: may be obtained by sending the external a |help( message:; jamie@25: #X obj 27 262 xtract~; jamie@25: #X msg 27 233 help; jamie@25: #X text 26 298 Other than this help message \, the data sent to the jamie@25: left inlet should always be a 'signal' (i.e. audio rate). This is the jamie@25: data from a which a given feature will be extracted.; jamie@25: #X text 27 405 Any additional arguments that need to be passed to the jamie@25: feature extraction funtion must be provided as a list to the right jamie@25: inlet \, e.g.; jamie@25: #X obj 182 490 xtract~ mean; jamie@25: #X floatatom 132 586 10 0 0 0 - - -; jamie@25: #X floatatom 253 523 5 0 0 0 - - -; jamie@25: #X msg 182 522 list \$1; jamie@25: #X obj 132 556 xtract~ variance; jamie@25: #X obj 181 466 phasor~ 0.1; jamie@25: #X text 39 641 Below are some possible use cases (click to open):; jamie@25: #X text 26 352 The outlet may be a scalar (control rate) \, or a vector jamie@25: (audio rate) \, depending on the nature of the feature that is being jamie@25: extracted.; jamie@25: #X obj 44 674 cnv 15 82 22 empty empty empty 20 12 0 14 -99865 -66577 jamie@25: 0; jamie@25: #X obj 47 675 bng 15 250 50 0 f0-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 64 675 bng 15 250 50 0 f0-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 79 675 bng 15 250 50 0 f0-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 96 675 bng 15 250 50 0 f0-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 42 672 cnv 15 80 20 f0-open empty f0 20 12 0 14 -195568 -66577 jamie@25: 0; jamie@25: #N canvas 0 0 450 300 hidden 0; jamie@25: #X msg 27 133 \; pd open f0.pd ./ \;; jamie@25: #X obj 27 110 r f0-open; jamie@25: #X obj 26 42 r mfcc-open; jamie@25: #X msg 26 65 \; pd open mfcc.pd ./ \;; jamie@25: #X connect 1 0 0 0; jamie@25: #X connect 2 0 3 0; jamie@25: #X restore 379 736 pd hidden; jamie@25: #X obj 136 675 cnv 15 82 22 empty empty empty 20 12 0 14 -99865 -66577 jamie@25: 0; jamie@25: #X obj 140 678 bng 15 250 50 0 mfcc-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 155 678 bng 15 250 50 0 mfcc-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 170 678 bng 15 250 50 0 mfcc-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 185 678 bng 15 250 50 0 mfcc-open empty empty 0 -6 0 8 -262144 jamie@25: -1 -1; jamie@25: #X obj 134 673 cnv 15 80 20 f0-open empty MFCC 20 12 0 14 -195568 -66577 jamie@25: 0; jamie@25: #X connect 5 0 4 0; jamie@25: #X connect 8 0 10 0; jamie@25: #X connect 8 0 11 0; jamie@25: #X connect 11 0 12 1; jamie@25: #X connect 12 0 9 0; jamie@25: #X connect 13 0 8 0; jamie@25: #X connect 13 0 12 0;