diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5eb8b7a..cc9d4c2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: - uses: flucoma/actions/env@main - uses: flucoma/actions/pd@v5 with: - branch: origin/production + branch: origin/${{ github.ref_name }} - name: sign binaries uses: flucoma/actions/distribution@main @@ -37,7 +37,7 @@ jobs: - uses: flucoma/actions/env@main - uses: flucoma/actions/pd@v5 with: - branch: origin/production + branch: origin/${{ github.ref_name }} - name: compress archive run: 7z a FluCoMa-PD-Windows.zip FluidCorpusManipulation @@ -57,7 +57,7 @@ jobs: - uses: flucoma/actions/env@main - uses: flucoma/actions/pd@v5 with: - branch: origin/production + branch: origin/${{ github.ref_name }} - name: compress archive run: tar -zcvf FluCoMa-PD-Linux.tar.gz FluidCorpusManipulation @@ -69,7 +69,7 @@ jobs: path: release-packaging/FluCoMa-PD-Linux.tar.gz - id: get-version - run: echo "::set-output name=version::$(cat flucoma.version.rc)" + run: echo "version=$(cat flucoma.version.rc)" >> $GITHUB_OUTPUT working-directory: build/_deps/flucoma-core-src release: @@ -92,6 +92,14 @@ jobs: with: name: winbuild + - name: delete pre-existing release + uses: dev-drprasad/delete-tag-and-release@v0.2.1 + with: + delete_release: true # default: false + tag_name: ${{ needs.linuxbuild.outputs.version }} # tag name to delete + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: package and upload uses: softprops/action-gh-release@v1 with: @@ -100,4 +108,5 @@ jobs: files: FluCoMa* prerelease: true tag_name: ${{ needs.linuxbuild.outputs.version }} + target_commitish: ${{ github.sha }} draft: false diff --git a/help/fluid.box.pd b/help/fluid.box.pd index c5df7f2..c275108 100644 --- a/help/fluid.box.pd +++ b/help/fluid.box.pd @@ -1,6 +1,5 @@ -#N canvas 1522 -1046 1163 822 12; -#X obj 101 101 cnv 15 40 40 empty \$0-col empty 20 12 0 14 #e3e38e -#fcfcfc 0; +#N canvas 143 148 1163 822 12; +#X obj 101 101 cnv 15 40 40 empty \$0-col empty 20 12 0 14 #e3e3e3 #fcfcfc 0; #X obj 220 83 inlet; #X obj 220 726 s \$0-col; #X obj 392 543 makefilename %02x; diff --git a/help/fluid.bufmelbands.polyoscil.pd b/help/fluid.bufmelbands.polyoscil.pd index 57a5917..e22d816 100644 --- a/help/fluid.bufmelbands.polyoscil.pd +++ b/help/fluid.bufmelbands.polyoscil.pd @@ -1,4 +1,4 @@ -#N canvas 938 -980 745 649 12; +#N canvas 68 141 745 649 12; #X obj 409 31 inlet; #X obj 409 121 osc~ 1; #X obj 176 31 loadbang; diff --git a/help/fluid.bufpitch.grain.pd b/help/fluid.bufpitch.grain.pd index 0037355..7b368e4 100644 --- a/help/fluid.bufpitch.grain.pd +++ b/help/fluid.bufpitch.grain.pd @@ -1,4 +1,4 @@ -#N canvas 1902 -790 600 443 10; +#N canvas 143 206 600 443 10; #X obj 31 39 inlet; #X obj 31 59 t f b; #X obj 32 232 *~; diff --git a/help/fluid.bufspectralshape-help.pd b/help/fluid.bufspectralshape-help.pd index acc1cda..88bfada 100644 --- a/help/fluid.bufspectralshape-help.pd +++ b/help/fluid.bufspectralshape-help.pd @@ -1,20 +1,12 @@ #N canvas 8 41 700 728 12; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufspectralshape 1 22 -0 36 #4ba3fb #ffffff 0; -#X obj 465 592 cnv 15 215 110 empty empty More\\\ information 4 10 -0 13 #e0e0e0 #404040 0; -#X obj 509 60 fluid.referencelauncher fluid.bufspectralshape.html reference/bufspectralshape/ -; -#X obj 17 60 cnv 15 488 17 empty empty Seven\\\ Spectral\\\ Shape\\\ Descriptors\\\ on\\\ a\\\ Buffer -4 8 0 13 #e0e0e0 #404040 0; -#X text 17 79 Seven of the spectral shape descriptors \, computed on -a linear scale for both amplitude and frequency.; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufspectralshape 1 22 0 36 #4ba3fb #ffffff 0; +#X obj 465 592 cnv 15 215 110 empty empty More\ information 4 10 0 13 #e0e0e0 #404040 0; +#X obj 509 60 fluid.referencelauncher fluid.bufspectralshape.html reference/bufspectralshape/; +#X obj 17 60 cnv 15 488 17 empty empty Seven\ Spectral\ Shape\ Descriptors\ on\ a\ Buffer 4 8 0 13 #e0e0e0 #404040 0; +#X text 17 79 Seven of the spectral shape descriptors \, computed on a linear scale for both amplitude and frequency.; #N canvas 119 59 706 918 layout_of_results 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufspectralshape 1 22 -0 36 #4ba3fb #ffffff 0; -#X text 17 79 fluid.bufspectralshape~ outputs its results to a buffer -where each channel is a different descriptor and each "frame" is a -window of spectral analysis.; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufspectralshape 1 22 0 36 #4ba3fb #ffffff 0; +#X text 17 79 fluid.bufspectralshape~ outputs its results to a buffer where each channel is a different descriptor and each "frame" is a window of spectral analysis.; #N canvas 1955 -858 448 179 loadsrc 0; #X obj 16 83 soundfiler; #X obj 16 19 inlet; @@ -26,22 +18,17 @@ window of spectral analysis.; #X connect 1 0 2 0; #X connect 2 0 0 0; #X restore 18 228 pd loadsrc; -#X obj 18 161 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 18 161 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X obj 18 180 fluid.demoaudiofiles; #X text 19 161 1) select a source; #X obj 435 176 array define help.specshape.2.src; -#X obj 18 279 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 18 299 fluid.bufspectralshape -source help.specshape.2.src -features -help.specshape.2.features -numchans 1; -#X obj 435 206 clone 7 fluid.multiarray help.specshape.2.features, -f 31; +#X obj 18 279 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 18 299 fluid.bufspectralshape -source help.specshape.2.src -features help.specshape.2.features -numchans 1; +#X obj 435 206 clone 7 fluid.multiarray help.specshape.2.features, f 31; #X floatatom 17 357 5 0 0 0 - - - 0; #X obj 140 421 loadbang; #X msg 140 446 0; -#X obj 140 487 vradio 15 1 0 7 empty empty empty 0 -8 0 10 #fcfcfc -#000000 #000000 0; +#X obj 140 487 vradio 15 1 0 7 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; #X text 156 499 spread, f 13; #X text 156 514 skewness, f 13; #X text 156 529 kurtosis, f 13; @@ -52,8 +39,7 @@ f 31; #X msg 140 619 symbol help.specshape.2.features-\$1, f 30; #X floatatom 17 802 5 0 0 0 - - - 0; #X text 59 802 value; -#X obj 38 279 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 38 279 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 39 279 2) Do spectral shape analysis; #N canvas 1876 -561 678 492 draw_visualisation 0; #X obj 37 61 t a a, f 26; @@ -66,13 +52,11 @@ f 31; #X connect 2 0 1 0; #X connect 4 0 0 0; #X restore 209 714 pd draw_visualisation; -#X obj 192 742 hsl 345 100 0 1 0 0 empty empty empty -2 -8 0 10 #fcfcfc -#e3c6ff #000000 0 1; +#X obj 192 742 hsl 345 100 0 1 0 0 empty empty empty -2 -8 0 10 #fcfcfc #e3c6ff #000000 0 1; #X obj 189 742 fluid.waveform 350 100 1 empty empty 0; #N canvas 1838 -1021 450 300 indexwave 0; #X obj 24 24 inlet; -#X obj 131 102 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X obj 131 102 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 137 150 6 0 0 0 - - - 0; #X obj 25 191 outlet; #X obj 131 74 r draw; @@ -86,12 +70,10 @@ f 31; #X connect 6 0 5 1; #X restore 189 693 pd indexwave; #X obj 17 662 t f f, f 25; -#X obj 268 529 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 268 529 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 163 484 centroid, f 12; #X text 269 529 4) Select one of the seven descriptors; -#X obj 58 359 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 58 359 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 59 359 3) Select a frame of analysis; #X connect 2 0 7 0; #X connect 4 0 2 0; @@ -108,10 +90,8 @@ f 31; #X connect 30 1 29 0; #X restore 468 612 pd layout_of_results; #N canvas 216 104 711 872 select 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufspectralshape 1 22 -0 36 #4ba3fb #ffffff 0; -#X text 17 79 Seven of the spectral shape descriptors \, computed on -a linear scale for both amplitude and frequency.; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufspectralshape 1 22 0 36 #4ba3fb #ffffff 0; +#X text 17 79 Seven of the spectral shape descriptors \, computed on a linear scale for both amplitude and frequency.; #N canvas 1955 -858 448 179 loadsrc 0; #X obj 16 83 soundfiler; #X obj 16 19 inlet; @@ -119,45 +99,33 @@ a linear scale for both amplitude and frequency.; #X connect 1 0 2 0; #X connect 2 0 0 0; #X restore 18 228 pd loadsrc; -#X obj 18 161 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 18 161 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X obj 18 180 fluid.demoaudiofiles; #X text 19 161 1) select a source; #X obj 445 176 array define help.specshape.3.src; -#X obj 18 588 fluid.bufspectralshape -source help.specshape.3.src -features -help.specshape.3.features -numchans 1; -#X text 105 265 No matter what order you specify the selection in \, -the order that those choices are returned will follow the same order -as if you didn't select any. A good trick for getting the order is -to see the attributes listed out in the object when no '-select' is -chosen., f 63; -#X text 105 355 Think of this parameter like a filter \, rather than -a reordering of the outputs., f 63; +#X obj 18 588 fluid.bufspectralshape -source help.specshape.3.src -features help.specshape.3.features -numchans 1; +#X text 105 265 No matter what order you specify the selection in \, the order that those choices are returned will follow the same order as if you didn't select any. A good trick for getting the order is to see the attributes listed out in the object when no '-select' is chosen., f 63; +#X text 105 355 Think of this parameter like a filter \, rather than a reordering of the outputs., f 63; #X msg 39 450 select centroid skew \, bang; -#X obj 18 409 cnv 15 500 20 empty empty order:\ centroid\ /\ spread\ /\ skew\ /\ kurtosis\ /\ rolloff\ /\ flatness\ /\ crest -3 10 0 12 #c6ffc7 #404040 0; +#X obj 18 409 cnv 15 500 20 empty empty order:\ centroid\ /\ spread\ /\ skew\ /\ kurtosis\ /\ rolloff\ /\ flatness\ /\ crest 3 10 0 12 #c6ffc7 #404040 0; #X msg 59 490 select skew centroid \, bang; #X msg 79 530 select skew kurtosis centroid \, bang; #X text 250 448 only return the centroid and skew; #X text 261 487 this is actually the same as above; -#X msg 18 631 features help.specshape.3.features; #X obj 18 661 fluid.waveform 480 110 1 empty empty 0; -#X obj 445 205 clone 7 fluid.multiarray help.specshape.3.features, -f 33; +#X obj 445 205 clone 7 fluid.multiarray help.specshape.3.features, f 33; +#X msg 18 631 waveform help.specshape.3.src \, features help.specshape.3.features, f 65; #X connect 4 0 2 0; -#X connect 7 0 16 0; +#X connect 7 0 18 0; #X connect 10 0 7 0; #X connect 12 0 7 0; #X connect 13 0 7 0; -#X connect 16 0 17 0; +#X connect 18 0 16 0; #X restore 468 634 pd select; -#X obj 17 326 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 17 346 fluid.bufspectralshape -source help.specshape.src -features -help.specshape.features -numchans 1; +#X obj 17 326 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 17 346 fluid.bufspectralshape -source help.specshape.src -features help.specshape.features -numchans 1; #X obj 453 176 array define help.specshape.src; -#X obj 453 206 clone 7 fluid.multiarray help.specshape.features, f -31; +#X obj 453 206 clone 7 fluid.multiarray help.specshape.features, f 31; #N canvas 1955 -858 448 179 loadsrc 0; #X obj 16 83 soundfiler; #X obj 16 19 inlet; @@ -165,8 +133,7 @@ help.specshape.features -numchans 1; #X connect 1 0 2 0; #X connect 2 0 0 0; #X restore 18 228 pd loadsrc; -#X obj 18 161 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 18 161 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X obj 18 180 fluid.demoaudiofiles; #X text 19 161 1) select a source; #N canvas 1433 -768 477 251 drawing_commands 0; @@ -182,11 +149,9 @@ help.specshape.features -numchans 1; #X connect 4 1 3 0; #X restore 17 384 pd drawing_commands; #X obj 17 408 fluid.waveform 490 100 0 empty empty 0; -#X obj 38 326 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 38 326 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 38 325 2) Do spectral shape analysis; -#X text 515 422 Use the mouse to scrub through different parts of the -audio file and retrieve the analysis, f 24; +#X text 515 422 Use the mouse to scrub through different parts of the audio file and retrieve the analysis, f 24; #N canvas 998 -1001 1511 939 feature_lookup 0; #X obj 102 -580 inlet; #X obj 103 -396 *; @@ -273,8 +238,7 @@ audio file and retrieve the analysis, f 24; #X connect 41 0 28 0; #X coords 0 -1 1 1 185 160 1 100 100; #X restore 17 543 pd feature_lookup; -#X text 213 547 These are the features taken from reading the arrays -, f 14; +#X text 213 547 These are the features taken from reading the arrays, f 14; #X obj 468 678 note_on_multithreading; #X obj 468 656 note_on_automatic_multiarrays; #X connect 7 0 8 0; diff --git a/help/fluid.bufstats-help.pd b/help/fluid.bufstats-help.pd index 0d5ca59..bd9dc27 100644 --- a/help/fluid.bufstats-help.pd +++ b/help/fluid.bufstats-help.pd @@ -70,48 +70,33 @@ #X coords 0 1 101 0 202 140 1 0 0; #X restore 16 286 graph; #X obj 518 125 note_on_multithreading; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb -#ffffff 0; -#X obj 509 60 fluid.referencelauncher fluid.bufstats.html reference/bufstats/ -; -#X obj 17 60 cnv 15 488 17 empty empty Statistically\\\ summarise\\\ a\\\ time\\\ series\\\ in\\\ an\\\ array -4 8 0 13 #e0e0e0 #404040 0; -#X obj 465 545 cnv 15 215 152 empty empty More\\\ information 4 10 -0 13 #e0e0e0 #404040 0; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb #ffffff 0; +#X obj 509 60 fluid.referencelauncher fluid.bufstats.html reference/bufstats/; +#X obj 17 60 cnv 15 488 17 empty empty Statistically\ summarise\ a\ time\ series\ in\ an\ array 4 8 0 13 #e0e0e0 #404040 0; +#X obj 465 545 cnv 15 215 152 empty empty More\ information 4 10 0 13 #e0e0e0 #404040 0; #N canvas 155 91 698 745 musical_example 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb -#ffffff 0; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb #ffffff 0; #X obj 19 230 soundfiler; #X text 17 79 sort buffer segments by descriptor statistics; -#X obj 39 158 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 39 158 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 39 157 1) load a soundfile; -#X obj 19 158 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 358 159 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X obj 19 158 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 358 159 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 358 179 tabplay~ help.bufstats.src.2; #X obj 358 203 fluid.out~ bufstatshelp; -#X msg 19 178 read -resize media/Tremblay-AaS-AcBassGuit-Melo-M.wav -help.bufstats.src.2, f 40; -#X obj 377 159 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X msg 19 178 read -resize media/Tremblay-AaS-AcBassGuit-Melo-M.wav help.bufstats.src.2, f 40; +#X obj 377 159 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 377 158 2) listen to the source (an acoustic bass); -#X obj 20 296 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 42 296 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X text 42 295 3) slice and analyse the segments of the source sound -; +#X obj 20 296 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 42 296 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X text 42 295 3) slice and analyse the segments of the source sound; #X obj 448 62 array define help.bufstats.src.2; #N canvas 239 179 967 654 analysis_and_statistics 0; #X obj 27 22 inlet; #X obj 27 238 fluid.bufselect -channels 0, f 17; #X obj 381 238 fluid.bufselect -channels 1, f 16; -#X obj 27 78 fluid.bufonsetslice -source help.bufstats.src.2 -indices -help.bufstats.slices.2 -minslicelength 40, f 57; -#X obj 27 299 fluid.bufstats -source help.bufstats.pitch.2 -stats help.bufstats.stats.2 --select mid; +#X obj 27 78 fluid.bufonsetslice -source help.bufstats.src.2 -indices help.bufstats.slices.2 -minslicelength 40, f 57; +#X obj 27 299 fluid.bufstats -source help.bufstats.pitch.2 -stats help.bufstats.stats.2 -select mid; #N canvas 1179 393 556 696 iterate_slice_pairs 0; #X obj 32 41 inlet; #X obj 127 572 outlet; @@ -122,16 +107,14 @@ help.bufstats.slices.2 -minslicelength 40, f 57; #X msg 320 468 numframes \$1, f 9; #X obj 127 320 f; #X msg 223 468 startframe \$1, f 10; -#X obj 127 468 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X obj 127 468 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 127 417 t b f l, f 28; #X obj 127 344 t f f; #X obj 127 240 t f b; #X obj 127 156 array size help.bufstats.slices.2; #X obj 127 393 array get help.bufstats.slices.2 0 2; #X floatatom 127 181 5 0 0 0 - - - 0; -#X obj 32 70 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 32 70 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 159 368 s itercount; #X obj 32 96 t b b, f 14; #X msg 32 124 \; done bang, f 7; @@ -164,18 +147,13 @@ help.bufstats.slices.2 -minslicelength 40, f 57; #X text 194 120 iterate over slice pairs, f 28; #X text 417 153 analyse the pitch of contiguous segments; #X text 154 237 calculate the stats of the segment's pitch, f 22; -#X text 506 235 use the pitch confidence channel of analysis as statistical -weights. This makes analysis frames with higher pitch confidence worth -more in the statistical analysis; +#X text 506 235 use the pitch confidence channel of analysis as statistical weights. This makes analysis frames with higher pitch confidence worth more in the statistical analysis; #X obj 615 514 array define help.bufstats.slices.2; #X obj 545 535 clone fluid.multiarray 2 help.bufstats.pitch.2; #X obj 615 556 array define help.bufstats.stats.2 14; #X text 434 85 slice the source sound file, f 28; -#X obj 92 24 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X text 187 347 Using -select we extract only the "mid" statistic (by -default this is the 50th percentile and therefore the median). This -is a little more robust to outliers than the mean; +#X obj 92 24 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X text 187 347 Using -select we extract only the "mid" statistic (by default this is the 50th percentile and therefore the median). This is a little more robust to outliers than the mean; #X obj 27 198 t a a, f 51; #X floatatom 27 436 5 0 0 0 - - - 0; #X obj 27 412 array get help.bufstats.stats.2; @@ -185,8 +163,7 @@ is a little more robust to outliers than the mean; #X obj 27 555 outlet; #X obj 171 558 outlet; #X obj 27 51 t b b, f 21; -#X obj 27 150 fluid.bufpitch -source help.bufstats.src.2 -features -help.bufstats.pitch.2 -fftsettings 4096 1024 4096; +#X obj 27 150 fluid.bufpitch -source help.bufstats.src.2 -features help.bufstats.pitch.2 -fftsettings 4096 1024 4096; #X connect 0 0 24 0; #X connect 1 0 4 0; #X connect 2 0 4 1; @@ -205,10 +182,8 @@ help.bufstats.pitch.2 -fftsettings 4096 1024 4096; #X connect 24 1 23 0; #X connect 25 0 16 0; #X restore 20 333 pd analysis_and_statistics; -#X text 214 332 look in here for detailed explanation of the analysis -processing chain; -#X text 214 466 Sort each segment's value of fundamental pitch analysis -and retrieve the ordinal.; +#X text 214 332 look in here for detailed explanation of the analysis processing chain; +#X text 214 466 Sort each segment's value of fundamental pitch analysis and retrieve the ordinal.; #N canvas 249 209 608 767 sortslices 0; #X obj 53 27 inlet; #X text 110 28 slice pairs; @@ -218,8 +193,7 @@ and retrieve the ordinal.; #X msg 210 138 clear; #X obj 187 196 text define SLICES; #X obj 210 171 text define PROCSLICES; -#X obj 53 270 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 53 270 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X msg 100 392 0; #X floatatom 76 323 5 0 0 0 - - - 0; #X obj 53 393 until; @@ -309,13 +283,10 @@ and retrieve the ordinal.; #X connect 6 0 3 0; #X connect 6 1 2 0; #X restore 31 642 pd start_and_duration; -#X text 156 581 By indexing the ordinal linearly we effectively "sort" -the segments by their pitch value; -#X obj 80 563 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X text 156 581 By indexing the ordinal linearly we effectively "sort" the segments by their pitch value; +#X obj 80 563 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 80 562 5) Playback slices sorted by pitch; -#X obj 103 714 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 103 714 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 103 713 4) audio on; #X connect 5 0 9 0; #X connect 6 0 7 0; @@ -334,12 +305,9 @@ the segments by their pitch value; #X connect 26 0 24 0; #X restore 468 565 pd musical_example; #N canvas 160 78 869 772 derivative 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb -#ffffff 0; -#X text 17 79 Calculating derivatives to differentiate distributions -; -#X obj 18 191 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb #ffffff 0; +#X text 17 79 Calculating derivatives to differentiate distributions; +#X obj 18 191 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #N canvas 1474 -1040 384 447 fill_up 0; #X obj 37 37 inlet; #X obj 37 102 until; @@ -376,50 +344,34 @@ the segments by their pitch value; #X array help.bufstats.src.down 100 float 2; #X coords 0 1 100 -1 250 30 1 0 0; #X restore 278 136 graph; -#X obj 36 191 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X text 36 190 1) fill buffers with some upward and downward ramps -; -#X obj 18 281 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 36 281 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X text 36 280 2) Calculate the raw statistics with no derivatives -; +#X obj 36 191 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X text 36 190 1) fill buffers with some upward and downward ramps; +#X obj 18 281 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 36 281 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X text 36 280 2) Calculate the raw statistics with no derivatives; #X listbox 18 455 47 0 0 0 - - - 0; #X obj 39 402 array define help.bufstats.stats.up; #X obj 403 402 array define help.bufstats.stats.down; -#X obj 18 351 fluid.bufstats -source help.bufstats.src.up -stats help.bufstats.stats.up -, f 28; +#X obj 18 351 fluid.bufstats -source help.bufstats.src.up -stats help.bufstats.stats.up, f 28; #X listbox 378 455 65 0 0 0 - - - 0; -#X obj 378 351 fluid.bufstats -source help.bufstats.src.down -stats -help.bufstats.stats.down, f 29; +#X obj 378 351 fluid.bufstats -source help.bufstats.src.down -stats help.bufstats.stats.down, f 29; #X obj 18 427 array get help.bufstats.stats.up; #X obj 378 427 array get help.bufstats.stats.down; #X obj 38 676 array define help.bufstats.skew.up; #X obj 402 676 array define help.bufstats.skew.down; -#X obj 18 521 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 36 521 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 18 521 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 36 521 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X listbox 18 735 47 0 0 0 - - - 0; #X listbox 378 735 47 0 0 0 - - - 0; #X obj 18 707 array get help.bufstats.stats.up; #X obj 378 707 array get help.bufstats.stats.down; -#X text 36 520 3) Only calculate the skewness of the 0th (raw) and -1st derivative, f 75; -#X obj 378 581 fluid.bufstats -source help.bufstats.src.down -numderivs -1 -select skew -stats help.bufstats.stats.down, f 45; -#X obj 18 581 fluid.bufstats -source help.bufstats.src.up -numderivs -1 -select skew -stats help.bufstats.stats.up, f 43; -#X obj 18 404 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 377 405 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; -#X obj 18 676 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 378 677 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X text 36 520 3) Only calculate the skewness of the 0th (raw) and 1st derivative, f 75; +#X obj 378 581 fluid.bufstats -source help.bufstats.src.down -numderivs 1 -select skew -stats help.bufstats.stats.down, f 45; +#X obj 18 581 fluid.bufstats -source help.bufstats.src.up -numderivs 1 -select skew -stats help.bufstats.stats.up, f 43; +#X obj 18 404 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 377 405 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 18 676 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 378 677 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X connect 2 0 3 0; #X connect 8 0 14 0; #X connect 8 0 16 0; @@ -439,33 +391,23 @@ help.bufstats.stats.down, f 29; #X connect 33 0 26 0; #X restore 468 609 pd derivative; #N canvas 281 38 696 840 weighted_statistics 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb -#ffffff 0; -#X text 17 69 apply weightings and removing outliers for refining observations -; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb #ffffff 0; +#X text 17 69 apply weightings and removing outliers for refining observations; #X obj 16 298 soundfiler; -#X obj 36 228 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 36 228 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 36 227 1) load a soundfile; -#X obj 16 228 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 390 228 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X obj 16 228 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 390 228 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 390 318 fluid.out~ bufstatshelp; -#X obj 409 228 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 36 378 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 16 378 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 409 228 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 36 378 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 16 378 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X text 36 377 3) Analyse a small portion of the source; #X obj 526 95 array define help.bufstats.src.3; #X f 21; -#X msg 16 247 read -resize media/Tremblay-ASWINE-ScratchySynth-M.wav -help.bufstats.src.3, f 32; +#X msg 16 247 read -resize media/Tremblay-ASWINE-ScratchySynth-M.wav help.bufstats.src.3, f 32; #X obj 390 268 tabplay~ help.bufstats.src.3; -#X obj 505 132 clone fluid.multiarray 2 help.bufstats.stats.3, f 24 -; +#X obj 505 132 clone fluid.multiarray 2 help.bufstats.stats.3, f 24; #X listbox 26 460 33 0 0 0 - - - 0; #X obj 26 436 list; #N canvas 1468 -564 521 536 just_the_mean 0; @@ -526,8 +468,7 @@ help.bufstats.src.3, f 32; #X connect 14 1 5 0; #X restore 186 516 pd weighted_by_confidence; #X f 23; -#N canvas 1414 -969 575 606 weighted_by_confidence_and_outliers_cutoff -0; +#N canvas 1414 -969 575 606 weighted_by_confidence_and_outliers_cutoff 0; #X obj 26 31 inlet; #X msg 27 315 0; #X obj 27 341 array get; @@ -541,8 +482,7 @@ help.bufstats.src.3, f 32; #X obj 27 399 outlet; #X msg 27 371 \$1; #X obj 26 55 t a a; -#X obj 26 147 fluid.bufstats -select mean -outlierscutoff 1.5 -numchans -1, f 32; +#X obj 26 147 fluid.bufstats -select mean -outlierscutoff 1.5 -numchans 1, f 32; #X obj 27 246 t b a; #X connect 0 0 12 0; #X connect 1 0 2 0; @@ -562,15 +502,13 @@ help.bufstats.src.3, f 32; #X connect 14 1 5 0; #X restore 356 516 pd weighted_by_confidence_and_outliers_cutoff; #X f 22; -#X obj 16 398 fluid.bufpitch -source help.bufstats.src.3 -startframe -42250 -numframes 44100; +#X obj 16 398 fluid.bufpitch -source help.bufstats.src.3 -startframe 42250 -numframes 44100; #N canvas 1525 -987 637 766 pitch_analysis_comparison 0; #X obj 73 73 inlet; #X obj 77 637 outlet~; #X obj 357 611 *~ 0.1; #X obj 357 637 outlet~; -#X obj 434 445 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X obj 434 445 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X msg 475 512 0 5; #X obj 475 485 delay 995; #X obj 434 541 line~; @@ -617,8 +555,7 @@ help.bufstats.src.3, f 32; #X connect 21 2 12 0; #X restore 16 768 pd pitch_analysis_comparison; #X obj 16 800 fluid.out~ bufstatshelp; -#X obj 209 639 vradio 30 1 0 3 empty empty empty 0 -8 0 10 #fcfcfc -#000000 #000000 0; +#X obj 209 639 vradio 30 1 0 3 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; #X text 242 698 weighted by confidence and outliers cutoff, f 23; #X text 421 670 <-, f 30; #X text 242 643 just the mean, f 23; @@ -628,12 +565,9 @@ help.bufstats.src.3, f 32; #X floatatom 186 556 5 0 0 0 - - - 0; #X floatatom 356 566 5 0 0 0 - - - 0; #X obj 16 493 t a a a, f 49; -#X text 409 226 2) listen to the source (an acoustic bass), f 23; -#X obj 443 632 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X text 443 631 4) Play back the section of the source that was analysed -alongside a sine tone at the detected frequency. Decide which one is -the closest for yourself!, f 27; +#X obj 443 632 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X text 443 631 4) Play back the section of the source that was analysed alongside a sine tone at the detected frequency. Decide which one is the closest for yourself!, f 27; +#X text 409 226 2) listen to the source (a scratchy synth), f 23; #X connect 5 0 13 0; #X connect 6 0 14 0; #X connect 10 0 21 0; @@ -658,12 +592,9 @@ the closest for yourself!, f 27; #X connect 33 2 20 0; #X restore 468 631 pd weighted_statistics; #N canvas 134 49 693 684 multichannel 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb -#ffffff 0; -#X obj 22 89 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 22 310 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb #ffffff 0; +#X obj 22 89 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 22 310 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #N canvas 741 516 859 503 composer 0; #X obj 37 37 inlet; #X obj 57 193 until; @@ -677,8 +608,7 @@ the closest for yourself!, f 27; #X obj 57 314 / 100; #X obj 250 357 expr random(0 \, 100001) * 1e-05; #X obj 267 403 tabwrite help.bufstats.src-1; -#X msg 138 121 \; help.bufstats.src-0 const \; help.bufstats.src-1 -const; +#X msg 138 121 \; help.bufstats.src-0 const \; help.bufstats.src-1 const; #X obj 48 405 tabwrite help.bufstats.src-0; #X connect 0 0 6 0; #X connect 1 0 3 0; @@ -817,22 +747,16 @@ const; #X connect 15 6 14 0; #X coords 0 -1 1 1 144 150 1 100 100; #X restore 352 488 pd stats on data; -#X obj 22 333 fluid.bufstats -source help.bufstats.src -stats help.bufstats.dst --numderivs 1, f 88; +#X obj 22 333 fluid.bufstats -source help.bufstats.src -stats help.bufstats.dst -numderivs 1, f 88; #X obj 352 422 array get help.bufstats.dst-1 0; #X obj 22 420 array get help.bufstats.dst-0 0; #X obj 353 657 clone 2 fluid.multiarray help.bufstats.dst; -#X obj 44 85 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 41 311 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 64 392 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X text 44 83 1) compose an artificially wide "stereo" array - a line -on the left channel \, and noise on the right channel, f 76; +#X obj 44 85 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 41 311 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 64 392 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X text 44 83 1) compose an artificially wide "stereo" array - a line on the left channel \, and noise on the right channel, f 76; #X text 41 309 2) process; -#X text 65 391 3) retrieves the stats of channel 0 and channel 1 separately -; +#X text 65 391 3) retrieves the stats of channel 0 and channel 1 separately; #X connect 1 0 3 0; #X connect 2 0 13 0; #X connect 3 0 2 0; @@ -847,55 +771,35 @@ on the left channel \, and noise on the right channel, f 76; #X connect 15 0 7 0; #X restore 468 653 pd multichannel; #X text 17 79 Statistical analysis on array channels.; -#X obj 17 174 vradio 15 1 0 4 empty empty empty 0 -8 0 10 #fcfcfc #000000 -#000000 0; +#X obj 17 174 vradio 15 1 0 4 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; #X text 36 172 ramp up; #X text 36 187 ramp down; #X text 36 202 sine; #X text 36 217 random; #X obj 16 653 array define help.bufstats.stats.1 14; -#X obj 251 168 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; -#X obj 251 234 fluid.bufstats -source help.bufstats.src.1 -stats help.bufstats.stats.1 --numderivs 1, f 43; +#X obj 251 168 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 251 234 fluid.bufstats -source help.bufstats.src.1 -stats help.bufstats.stats.1 -numderivs 1, f 43; #N canvas 139 82 693 620 select 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb -#ffffff 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb -#ffffff 0; -#X text 17 70 You can also select which outputs should even be copied -to the destination buffer. This removes the need for a fluid.bufselect~ -to capture descriptors you care about., f 83; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb #ffffff 0; +#X obj 17 13 cnv 15 660 42 empty empty fluid.bufstats 1 22 0 36 #4ba3fb #ffffff 0; +#X text 17 70 You can also select which outputs should even be copied to the destination buffer. This removes the need for a fluid.bufselect~ to capture descriptors you care about., f 83; #X obj 22 553 array define help.bufstats.select.src; #X obj 20 184 soundfiler; -#X msg 20 148 read -resize media/Tremblay-SA-UprightPianoPedalWide.wav -help.bufstats.select.src; +#X msg 20 148 read -resize media/Tremblay-SA-UprightPianoPedalWide.wav help.bufstats.select.src; #X msg 23 250 select mean skew \, bang; #X msg 51 282 select mean std skew kurtosis low mid high \, bang; #X msg 82 311 select skew mean \, bang; #X obj 22 575 array define help.bufstats.select.dst; -#X obj 23 459 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 23 423 fluid.bufstats -source help.bufstats.select.src -stats -help.bufstats.select.dst, f 47; +#X obj 23 459 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 23 423 fluid.bufstats -source help.bufstats.select.src -stats help.bufstats.select.dst, f 47; #X obj 23 479 array get help.bufstats.select.dst; #X listbox 23 502 71 0 0 0 - - - 0; -#X obj 93 341 cnv 15 580 75 empty empty empty 4 10 0 13 #e0e0e0 #404040 -0; -#X text 98 343 No matter what order you specify the selection in \, -the order that those choices are returned will follow the same order -as if you didn't select any. A good trick for getting the order is -to see the attributes listed out in the object when no -select is chosen. -Think of this parameter like a filter \, rather than a reordering of -the outputs., f 81; -#X obj 20 128 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 191 250 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 247 311 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 405 283 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 93 341 cnv 15 580 75 empty empty empty 4 10 0 13 #e0e0e0 #404040 0; +#X text 98 343 No matter what order you specify the selection in \, the order that those choices are returned will follow the same order as if you didn't select any. A good trick for getting the order is to see the attributes listed out in the object when no -select is chosen. Think of this parameter like a filter \, rather than a reordering of the outputs., f 81; +#X obj 20 128 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 191 250 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 247 311 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 405 283 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 19 127 1) Load a soundfile; #X text 191 249 2) Only returns the mean and skew; #X text 403 282 3) Back to default; @@ -987,10 +891,8 @@ the outputs., f 81; #X connect 9 0 3 0; #X restore 281 208 pd changing_the_centiles; #X obj 468 675 note_on_automatic_multiarrays; -#X obj 14 147 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X obj 273 167 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 14 147 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X obj 273 167 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 13 146 1) Select a source; #X text 273 166 2) Process the statistics; #X connect 12 0 0 0; diff --git a/help/fluid.comb~.pd b/help/fluid.comb~.pd index 623ef97..c617ca4 100644 --- a/help/fluid.comb~.pd +++ b/help/fluid.comb~.pd @@ -1,4 +1,4 @@ -#N canvas 1339 -784 875 404 12; +#N canvas 69 214 875 404 12; #X obj 101 6 inlet~; #X obj 101 287 outlet~; #X obj 101 190 +~, f 8; @@ -19,8 +19,7 @@ #X text 554 154 gain c; #X text 483 205 y(n) = a*x + b*x(n-d) + c*y(n-d); #X obj 294 2 inlet; -#X obj 426 122 cnv 15 3 140 empty empty empty 20 12 0 14 #00af00 #404040 -0; +#X obj 426 122 cnv 15 3 140 empty empty empty 20 12 0 14 #00af00 #404040 0; #X obj 101 251 *~ 0.3333; #X connect 0 0 4 0; #X connect 0 0 5 0; diff --git a/help/fluid.mds-help.pd b/help/fluid.mds-help.pd index 6149082..dfb7deb 100644 --- a/help/fluid.mds-help.pd +++ b/help/fluid.mds-help.pd @@ -1,32 +1,26 @@ -#N struct 1143-rectangle float x float c; -#N struct 1143-pixel float x0 float y0 float x1 float y1; -#N struct 1146-rectangle float x float c; -#N struct 1146-pixel float x0 float y0 float x1 float y1; -#N struct 1149-rectangle float x float c; -#N struct 1149-pixel float x0 float y0 float x1 float y1; -#N struct 1152-rectangle float x float c; -#N struct 1152-pixel float x0 float y0 float x1 float y1; -#N struct 1155-rectangle float x float c; -#N struct 1155-pixel float x0 float y0 float x1 float y1; -#N struct 1158-rectangle float x float c; -#N struct 1158-pixel float x0 float y0 float x1 float y1; -#N struct 1176-rectangle float x float c; -#N struct 1176-pixel float x0 float y0 float x1 float y1; +#N struct 5334-rectangle float x float c; +#N struct 5334-pixel float x0 float y0 float x1 float y1; +#N struct 5337-rectangle float x float c; +#N struct 5337-pixel float x0 float y0 float x1 float y1; +#N struct 5340-rectangle float x float c; +#N struct 5340-pixel float x0 float y0 float x1 float y1; +#N struct 5343-rectangle float x float c; +#N struct 5343-pixel float x0 float y0 float x1 float y1; +#N struct 5346-rectangle float x float c; +#N struct 5346-pixel float x0 float y0 float x1 float y1; +#N struct 5349-rectangle float x float c; +#N struct 5349-pixel float x0 float y0 float x1 float y1; +#N struct 5367-rectangle float x float c; +#N struct 5367-pixel float x0 float y0 float x1 float y1; #N canvas 64 112 697 1009 12; -#X obj 17 13 cnv 15 660 42 empty empty fluid.mds 1 22 0 36 #4ba3fb -#ffffff 0; -#X obj 455 920 cnv 15 222 68 empty empty More\\\ information 4 10 0 -13 #e0e0e0 #404040 0; -#X obj 509 60 fluid.referencelauncher fluid.mds.html reference/mds/ -; +#X obj 17 13 cnv 15 660 42 empty empty fluid.mds 1 22 0 36 #4ba3fb #ffffff 0; +#X obj 455 920 cnv 15 222 68 empty empty More\ information 4 10 0 13 #e0e0e0 #404040 0; +#X obj 509 60 fluid.referencelauncher fluid.mds.html reference/mds/; #X text 17 79 Multidimensional Scaling; -#X text 17 119 Dimensionality Reduction of a fluid.dataset Using Multidimensional -Scaling; -#N canvas 678 -1077 702 1052 comparing_distance_metrics 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.mds 1 22 0 36 #4ba3fb -#ffffff 0; -#X text 17 79 comparing distance metrics (-distancemetric parameter) -; +#X text 17 119 Dimensionality Reduction of a fluid.dataset Using Multidimensional Scaling; +#N canvas 273 175 702 1052 comparing_distance_metrics 0; +#X obj 17 13 cnv 15 660 42 empty empty fluid.mds 1 22 0 36 #4ba3fb #ffffff 0; +#X text 17 79 comparing distance metrics (-distancemetric parameter); #N canvas 1567 -787 425 151 loadsrc 0; #X obj 16 63 soundfiler; #X obj 16 19 loadbang; @@ -35,37 +29,27 @@ Scaling; #X connect 2 0 0 0; #X restore 20 133 pd loadsrc; #X obj 478 152 array define help.mds.src.2; -#X obj 24 199 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 24 229 fluid.bufmfcc -source help.mds.src.2 -numframes 176400 --startcoeff 1; +#X obj 24 199 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 24 229 fluid.bufmfcc -source help.mds.src.2 -numframes 176400 -startcoeff 1; #X obj 24 272 list; #X msg 24 301 frombuffer \$2; #X obj 24 330 fluid.dataset help.mds.mfccs; -#X obj 24 388 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 24 413 fluid.ds2text help.mds.mfccs help.mds.mfccs.text, f -24; -#X obj 424 199 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X obj 24 388 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 24 413 fluid.ds2text help.mds.mfccs help.mds.mfccs.text, f 24; +#X obj 424 199 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 424 239 s help.mds.load_comparison, f 25; -#X obj 44 199 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 44 199 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 45 198 1) Analyse the MFCCs of a source buffer; #N canvas 1213 -1038 838 883 help.mds.metrics.1 0; #X obj 0 -414 r help.mds.load_comparison; #X obj 0 -246 fluid.normalize; #X obj 0 -222 route fittransform; -#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 0 -169 t b b; #X obj 0 0 fluid.plotter; -#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.3, f -29; -#X msg 0 -329 fittransform help.mds.data.out.m.3 help.mds.data.out.m.3.norm -; -#X obj 32 -143 fluid.ds2text help.mds.data.out.m.3.norm help.mds.data.out.m.3.norm.text -, f 32; +#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.3, f 29; +#X msg 0 -329 fittransform help.mds.data.out.m.3 help.mds.data.out.m.3.norm; +#X obj 32 -143 fluid.ds2text help.mds.data.out.m.3.norm help.mds.data.out.m.3.norm.text, f 32; #X obj 42 -86 text define help.mds.data.out.m.3.norm.text; #X f 32; #X msg 0 -24 setpoints help.mds.data.out.m.3.norm.text; @@ -84,23 +68,18 @@ Scaling; #X connect 13 0 7 0; #X coords 0 -1 1 1 300 300 2 0 0; #X restore 24 892 pd help.mds.metrics.1; -#X obj 23 864 cnv 15 302 26 empty empty Squared\\\ Euclidian 90 12 -1 16 #ecefef #0400ff 0; +#X obj 23 864 cnv 15 302 26 empty empty Squared\ Euclidian 90 12 1 16 #ecefef #0400ff 0; #N canvas 1644 -1035 838 883 help.mds.metrics.1 0; #X obj 0 -414 r help.mds.load_comparison; #X obj 0 -246 fluid.normalize; #X obj 0 -222 route fittransform; -#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 0 -169 t b b; #X obj 0 0 fluid.plotter; #X obj 0 -354 fluid.mds -distancemetric 3; -#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.4, f -29; -#X msg 0 -329 fittransform help.mds.data.out.m.4 help.mds.data.out.m.4.norm -; -#X obj 32 -143 fluid.ds2text help.mds.data.out.m.4.norm help.mds.data.out.m.4.norm.text -, f 32; +#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.4, f 29; +#X msg 0 -329 fittransform help.mds.data.out.m.4 help.mds.data.out.m.4.norm; +#X obj 32 -143 fluid.ds2text help.mds.data.out.m.4.norm help.mds.data.out.m.4.norm.text, f 32; #X obj 42 -86 text define help.mds.data.out.m.4.norm.text; #X f 32; #X msg 0 -24 setpoints help.mds.data.out.m.4.norm.text; @@ -118,23 +97,18 @@ Scaling; #X connect 11 0 5 0; #X coords 0 -1 1 1 300 300 2 0 0; #X restore 344 892 pd help.mds.metrics.1; -#X obj 343 864 cnv 15 302 26 empty empty Max\\\ distance 100 12 1 16 -#ecefef #0400ff 0; +#X obj 343 864 cnv 15 302 26 empty empty Max\ distance 100 12 1 16 #ecefef #0400ff 0; #N canvas 1351 -978 838 883 help.mds.metrics.1 0; #X obj 0 -414 r help.mds.load_comparison; #X obj 0 -246 fluid.normalize; #X obj 0 -222 route fittransform; -#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 0 -169 t b b; #X obj 0 0 fluid.plotter; #X obj 0 -354 fluid.mds -distancemetric 4; -#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.5, f -29; -#X msg 0 -329 fittransform help.mds.data.out.m.5 help.mds.data.out.m.5.norm -; -#X obj 32 -143 fluid.ds2text help.mds.data.out.m.5.norm help.mds.data.out.m.5.norm.text -, f 32; +#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.5, f 29; +#X msg 0 -329 fittransform help.mds.data.out.m.5 help.mds.data.out.m.5.norm; +#X obj 32 -143 fluid.ds2text help.mds.data.out.m.5.norm help.mds.data.out.m.5.norm.text, f 32; #X obj 42 -86 text define help.mds.data.out.m.5.norm.text; #X f 32; #X msg 0 -24 setpoints help.mds.data.out.m.5.norm.text; @@ -152,23 +126,18 @@ Scaling; #X connect 11 0 5 0; #X coords 0 -1 1 1 300 300 2 0 0; #X restore 23 1232 pd help.mds.metrics.1; -#X obj 23 1204 cnv 15 302 26 empty empty Min\\\ Distance 100 12 1 16 -#ecefef #0400ff 0; +#X obj 23 1204 cnv 15 302 26 empty empty Min\ Distance 100 12 1 16 #ecefef #0400ff 0; #N canvas 1644 -1035 838 883 help.mds.metrics.1 0; #X obj 0 -414 r help.mds.load_comparison; #X obj 0 -246 fluid.normalize; #X obj 0 -222 route fittransform; -#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 0 -169 t b b; #X obj 0 0 fluid.plotter; #X obj 0 -354 fluid.mds -distancemetric 5; -#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.6, f -29; -#X msg 0 -329 fittransform help.mds.data.out.m.6 help.mds.data.out.m.6.norm -; -#X obj 32 -143 fluid.ds2text help.mds.data.out.m.6.norm help.mds.data.out.m.6.norm.text -, f 32; +#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.6, f 29; +#X msg 0 -329 fittransform help.mds.data.out.m.6 help.mds.data.out.m.6.norm; +#X obj 32 -143 fluid.ds2text help.mds.data.out.m.6.norm help.mds.data.out.m.6.norm.text, f 32; #X obj 42 -86 text define help.mds.data.out.m.6.norm.text; #X f 32; #X msg 0 -24 setpoints help.mds.data.out.m.6.norm.text; @@ -186,24 +155,19 @@ Scaling; #X connect 11 0 5 0; #X coords 0 -1 1 1 300 300 2 0 0; #X restore 344 1232 pd help.mds.metrics.1; -#X obj 343 1204 cnv 15 302 26 empty empty KL\\\ Divergence 100 12 1 -16 #ecefef #0400ff 0; +#X obj 343 1204 cnv 15 302 26 empty empty KL\ Divergence 100 12 1 16 #ecefef #0400ff 0; #N canvas -266 -936 838 883 help.mds.metrics.1 0; #X obj 0 -414 r help.mds.load_comparison; #X obj 0 -246 fluid.normalize; #X obj 379 -395 fluid.dataset help.mds.data.out.m.1, f 24; -#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.1, f -29; +#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.1, f 29; #X obj 0 -222 route fittransform; -#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 0 -169 t b b; #X obj 0 0 fluid.plotter; #X obj 379 -355 fluid.dataset help.mds.data.out.m.1.norm, f 24; -#X msg 0 -329 fittransform help.mds.data.out.m.1 help.mds.data.out.m.1.norm -; -#X obj 32 -143 fluid.ds2text help.mds.data.out.m.1.norm help.mds.data.out.m.1.norm.text -, f 32; +#X msg 0 -329 fittransform help.mds.data.out.m.1 help.mds.data.out.m.1.norm; +#X obj 32 -143 fluid.ds2text help.mds.data.out.m.1.norm help.mds.data.out.m.1.norm.text, f 32; #X obj 42 -86 text define help.mds.data.out.m.1.norm.text; #X f 32; #X msg 0 -24 setpoints help.mds.data.out.m.1.norm.text; @@ -220,24 +184,19 @@ Scaling; #X connect 13 0 9 0; #X coords 0 -1 1 1 300 300 2 0 0; #X restore 24 552 pd help.mds.metrics.1; -#X obj 23 524 cnv 15 302 26 empty empty Manhattan 115 12 1 16 #ecefef -#0400ff 0; +#X obj 23 524 cnv 15 302 26 empty empty Manhattan 115 12 1 16 #ecefef #0400ff 0; #N canvas 1644 -1035 838 883 help.mds.metrics.1 0; #X obj 0 -414 r help.mds.load_comparison; #X obj 0 -246 fluid.normalize; #X obj 0 -222 route fittransform; -#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 0 -196 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 0 -169 t b b; #X obj 0 0 fluid.plotter; -#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.2, f -29; +#X msg 0 -390 fittransform help.mds.mfccs help.mds.data.out.m.2, f 29; #X obj 379 -395 fluid.dataset help.mds.data.out.m.2, f 24; #X obj 379 -355 fluid.dataset help.mds.data.out.m.2.norm, f 24; -#X msg 0 -329 fittransform help.mds.data.out.m.2 help.mds.data.out.m.2.norm -; -#X obj 32 -143 fluid.ds2text help.mds.data.out.m.2.norm help.mds.data.out.m.2.norm.text -, f 32; +#X msg 0 -329 fittransform help.mds.data.out.m.2 help.mds.data.out.m.2.norm; +#X obj 32 -143 fluid.ds2text help.mds.data.out.m.2.norm help.mds.data.out.m.2.norm.text, f 32; #X obj 42 -86 text define help.mds.data.out.m.2.norm.text; #X f 32; #X msg 0 -24 setpoints help.mds.data.out.m.2.norm.text; @@ -254,14 +213,11 @@ Scaling; #X connect 13 0 9 0; #X coords 0 -1 1 1 300 300 2 0 0; #X restore 344 552 pd help.mds.metrics.1; -#X obj 343 524 cnv 15 302 26 empty empty Euclidian 115 12 1 16 #ecefef -#0400ff 0; -#X obj 444 199 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 343 524 cnv 15 302 26 empty empty Euclidian 115 12 1 16 #ecefef #0400ff 0; +#X obj 444 199 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 444 197 2) plot all six metrics below, f 17; #X obj 24 359 route frombuffer; -#X obj 30 466 cnv 15 145 32 empty empty empty 20 12 0 14 #dfdfdf #404040 -0; +#X obj 30 466 cnv 15 145 32 empty empty empty 20 12 0 14 #dfdfdf #404040 0; #X obj 30 465 text define help.mds.mfccs.text; #X f 20; #X connect 4 0 5 0; @@ -281,37 +237,28 @@ Scaling; #X connect 2 0 0 0; #X restore 39 185 pd loadsrc; #X obj 483 161 array define help.mds.src.1; -#X obj 39 242 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; -#X obj 39 262 fluid.bufmfcc -source help.mds.src.1 -features help.mds.features.1 -; -#X obj 58 242 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 39 242 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 39 262 fluid.bufmfcc -source help.mds.src.1 -features help.mds.features.1; +#X obj 58 242 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 59 241 1) Analyse the MFCCs of a source buffer; #X obj 39 361 fluid.dataset help.mds.data.in; #X msg 39 336 frombuffer \$2; -#X obj 483 185 clone fluid.multiarray 13 help.mds.features.1, f 27 -; -#X obj 39 395 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 483 185 clone fluid.multiarray 13 help.mds.features.1, f 27; +#X obj 39 395 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X text 55 392 store dataset into a text object; -#X obj 39 430 fluid.ds2text help.mds.data.in help.mds.data.in.text -, f 27; +#X obj 39 430 fluid.ds2text help.mds.data.in help.mds.data.in.text, f 27; #X obj 39 313 list; #X obj 372 376 fluid.mds -numdimensions 2; #N canvas 32 38 818 921 output_dataset 0; #X obj 37 17 inlet; #X obj 37 81 fluid.normalize; #X text 345 259 <- double-click 'text' to see data, f 18; -#X obj 104 172 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; +#X obj 104 172 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 435 47 fluid.dataset help.mds.data.out.norm, f 23; -#X obj 104 200 fluid.ds2text help.mds.data.out.norm help.mds.data.out.norm.text -, f 27; +#X obj 104 200 fluid.ds2text help.mds.data.out.norm help.mds.data.out.norm.text, f 27; #X obj 117 253 text define help.mds.data.out.norm.text; #X f 29; -#X msg 37 50 fittransform help.mds.data.out help.mds.data.out.norm -; +#X msg 37 50 fittransform help.mds.data.out help.mds.data.out.norm; #X obj 37 114 route fittransform; #X obj 37 172 outlet; #X obj 37 143 t b b, f 10; @@ -325,20 +272,16 @@ Scaling; #X restore 372 474 pd output_dataset; #X msg 510 474 print; #X obj 510 503 fluid.dataset help.mds.data.out, f 20; -#X msg 372 327 fittransform help.mds.data.in help.mds.data.out, f -31; +#X msg 372 327 fittransform help.mds.data.in help.mds.data.out, f 31; #X obj 372 579 fluid.plotter; #X msg 372 555 setpoints help.mds.data.out.norm.text; -#X obj 44 482 cnv 15 180 33 empty empty empty 20 12 0 14 #e0e0e0 #404040 -0; +#X obj 44 482 cnv 15 180 33 empty empty empty 20 12 0 14 #e0e0e0 #404040 0; #X obj 44 482 text define help.mds.data.in.text; #X f 25; #X obj 466 965 note_on_automatic_datasets; -#X obj 232 483 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 232 483 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 232 482 2) open text to see data, f 12; -#X obj 372 307 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 372 307 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 372 306 3) Click to reduce dimensions and draw.; #X connect 8 0 9 0; #X connect 9 0 18 0; diff --git a/help/fluid.onsetslice.help.ch.pd b/help/fluid.onsetslice.help.ch.pd index 4361524..4178ddd 100644 --- a/help/fluid.onsetslice.help.ch.pd +++ b/help/fluid.onsetslice.help.ch.pd @@ -1,8 +1,6 @@ -#N canvas 133 -776 527 648 12; -#X obj 100 100 cnv 15 18 18 empty empty empty 20 12 0 14 #ff8300 #404040 -0; -#X obj 102 102 tgl 14 0 empty empty empty 17 7 0 10 #131255 #ff8300 -#000000 0 1; +#N canvas 77 184 527 648 12; +#X obj 100 100 cnv 15 18 18 empty empty empty 20 12 0 14 #ff8300 #404040 0; +#X obj 102 102 tgl 14 0 empty empty empty 17 7 0 10 #131255 #ff8300 #000000 0 1; #X obj 102 180 pack \$1 \$2; #X msg 125 41 0; #X obj 102 142 sel 1; diff --git a/help/fluid.stats-help.pd b/help/fluid.stats-help.pd index 0c570cb..16fa114 100644 --- a/help/fluid.stats-help.pd +++ b/help/fluid.stats-help.pd @@ -1,34 +1,24 @@ -#N struct 1021-rectangle float x float c; -#N struct 1021-pixel float x0 float y0 float x1 float y1; +#N struct 1392-rectangle float x float c; +#N struct 1392-pixel float x0 float y0 float x1 float y1; #N canvas 31 42 695 748 12; -#X obj 17 13 cnv 15 660 42 empty empty fluid.stats 1 22 0 36 #4ba3fb -#ffffff 0; -#X obj 536 683 cnv 15 140 46 empty empty More\\\ information 4 10 0 -13 #e0e0e0 #404040 0; -#X obj 509 60 fluid.referencelauncher fluid.stats.html reference/stats/ -; -#X obj 56 189 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; -#X text 17 79 Rolling mean and standard deviation on control inputs -; -#X text 17 119 Computes the rolling mean and sample standard deviation -over a given window for multichannel control inputs.; +#X obj 17 13 cnv 15 660 42 empty empty fluid.stats 1 22 0 36 #4ba3fb #ffffff 0; +#X obj 536 683 cnv 15 140 46 empty empty More\ information 4 10 0 13 #e0e0e0 #404040 0; +#X obj 509 60 fluid.referencelauncher fluid.stats.html reference/stats/; +#X obj 56 189 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; +#X text 17 79 Rolling mean and standard deviation on control inputs; +#X text 17 119 Computes the rolling mean and sample standard deviation over a given window for multichannel control inputs.; #X text 57 188 1) switch the message rate noise generator on; -#X obj 22 189 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000 0 1; -#N canvas 1292 -1011 697 822 a_real_use_case 0; -#X obj 17 13 cnv 15 660 42 empty empty fluid.stats 1 22 0 36 #4ba3fb -#ffffff 0; +#X obj 22 189 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#N canvas 135 76 697 822 a_real_use_case 0; +#X obj 17 13 cnv 15 660 42 empty empty fluid.stats 1 22 0 36 #4ba3fb #ffffff 0; #X text 17 79 smoothing a stream of audio descriptors; -#X obj 41 129 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000; +#X obj 41 129 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 41 197 readsf~; #X msg 66 149 0; #X text 97 149 stop; #X obj 190 245 fluid.out~ helpstats; #X msg 41 173 open media/Tremblay-AaS-AcBassGuit-Melo-M.wav \, 1; -#X obj 41 106 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 41 106 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X obj 41 283 fluid.mfcc~ 20 -startcoeff 1; #N canvas 0 22 450 278 (subpatch) 0; #X array help.stats.array.mfcc 20 float 2; @@ -41,24 +31,17 @@ over a given window for multichannel control inputs.; #X obj 41 462 fluid.stats 20 -history 15; #X obj 51 310 array set help.stats.array.mfcc; #X text 42 105 2) play the acoustic bass sample; -#X obj 259 250 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 -0; +#X obj 259 250 cnv 15 15 15 empty empty empty 20 12 0 14 #c6ffc7 #404040 0; #X text 260 249 1) audio on, f 57; #X text 258 355 The raw MFCC values of the current frame., f 57; #X obj 41 489 array set help.stats.array.mean; -#X text 261 532 The mean values of the last 15 MFCC frames. The changes -are much smoother because the mean of the last 15 frames is being taken -instead of the raw values., f 57; +#X text 261 532 The mean values of the last 15 MFCC frames. The changes are much smoother because the mean of the last 15 frames is being taken instead of the raw values., f 57; #N canvas 0 22 450 278 (subpatch) 0; #X array help.stats.array.stddev 20 float 2; #X coords 0 10 20 -10 200 50 1 0 0; #X restore 51 616 graph; #X obj 271 489 array set help.stats.array.stddev; -#X text 261 612 The standard deviations of each coefficient. Higher -values mean that they have deviated from the mean more over the history -of the fluid.stats object. You might like to think of this as its own -kind of descriptor that can indicate variation or how sporadic the -data is over time., f 57; +#X text 261 612 The standard deviations of each coefficient. Higher values mean that they have deviated from the mean more over the history of the fluid.stats object. You might like to think of this as its own kind of descriptor that can indicate variation or how sporadic the data is over time., f 57; #X connect 2 0 7 0; #X connect 3 0 6 0; #X connect 3 0 6 1; diff --git a/help/note_on_multithreading.pd b/help/note_on_multithreading.pd index bd248f4..a0a6c31 100644 --- a/help/note_on_multithreading.pd +++ b/help/note_on_multithreading.pd @@ -1,4 +1,4 @@ -#N canvas 0 23 555 174 12; +#N canvas 171 159 555 174 12; #N canvas 0 23 450 300 (subpatch) 0; #X obj 83 51 inlet; #X obj 83 89 pdcontrol; @@ -9,14 +9,7 @@ #X connect 2 0 1 0; #X connect 3 0 1 0; #X restore 336 140 pd; -#X obj 336 123 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc -#000000 #000000; -#X text 14 16 By default \, all fluid.buf* objects behave like native -object and stay in PureData's main thread \, thus blocking it. All -fluid.buf* objects also have the possibility to spawn a new thread -\, so PureData is free to go about with its business. For a more detailed -discussion of the available threading and monitoring options \, please -read the tutorial located in the fluid.bufthreaddemo helpfile., f -75; +#X obj 336 123 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X text 14 16 By default \, all fluid.buf* objects behave like native object and stay in PureData's main thread \, thus blocking it. All fluid.buf* objects also have the possibility to spawn a new thread \, so PureData is free to go about with its business. For a more detailed discussion of the available threading and monitoring options \, please read the tutorial located in the fluid.bufthreaddemo helpfile., f 75; #X text 15 120 Click here to open the threading tutorial ->; #X connect 1 0 0 0; diff --git a/help/note_on_sampling_rates.pd b/help/note_on_sampling_rates.pd index 3309275..d29da73 100644 --- a/help/note_on_sampling_rates.pd +++ b/help/note_on_sampling_rates.pd @@ -1,8 +1,2 @@ -#N canvas 0 23 498 145 12; -#X text 18 20 As PureData arrays are simply list of numbers \, they -do not have a sampling rate per se \, and therefore the frequency of -the various descriptors can only be as true as long as we provide the -algorythm with a sampling rate. By default \, the objects will take -the current sampling rate of the real-time audio \, but a [-sr VALUE] -attribute/message can be set in the object to change that value \, -should that be desired and/or required., f 64; +#N canvas 168 172 498 145 12; +#X text 18 20 As PureData arrays are simply list of numbers \, they do not have a sampling rate per se \, and therefore the frequency of the various descriptors can only be as true as long as we provide the algorythm with a sampling rate. By default \, the objects will take the current sampling rate of the real-time audio \, but a [-sr VALUE] attribute/message can be set in the object to change that value \, should that be desired and/or required., f 64;