diff options
author | Miller Puckette <millerpuckette@users.sourceforge.net> | 2006-06-03 19:13:08 +0000 |
---|---|---|
committer | Miller Puckette <millerpuckette@users.sourceforge.net> | 2006-06-03 19:13:08 +0000 |
commit | beb2211b63b4b80ee07a807e5ffdd441aeea6354 (patch) | |
tree | 876eb052d5cec7755053328a470c75e0638b6b94 /pd/extra/bonk~ | |
parent | eb976fa09171036cbaeaabf920708b2d39c49acc (diff) |
FFT package selection
Zmoelnig's multi-'$' patch
big-soundfile support
Patch to set open directories (openpanel, savepanel)
patch to allow funny characters in extern names
fixed makefile.in to support intel mac
svn path=/trunk/; revision=5164
Diffstat (limited to 'pd/extra/bonk~')
-rw-r--r-- | pd/extra/bonk~/bonk~-help.pd | 189 | ||||
-rw-r--r-- | pd/extra/bonk~/makefile | 8 |
2 files changed, 94 insertions, 103 deletions
diff --git a/pd/extra/bonk~/bonk~-help.pd b/pd/extra/bonk~/bonk~-help.pd index 45b4e403..915d543b 100644 --- a/pd/extra/bonk~/bonk~-help.pd +++ b/pd/extra/bonk~/bonk~-help.pd @@ -1,24 +1,14 @@ -#N canvas 133 65 958 626 10; -#X obj 320 579 print; -#X floatatom 314 501 0 0 0 0 - - -; -#X obj 320 549 spigot; -#X msg 314 471 0; -#X msg 351 471 1; -#X msg 442 427 bang; -#X obj 429 518 bonk~; -#X msg 442 244 learn 1; -#X msg 442 304 learn 0; -#X msg 437 486 print; -#X obj 390 467 adc~; -#X text 320 597 cooked; -#X msg 565 76 \; pd dsp 1; -#X obj 257 579 print; -#X floatatom 251 501 0 0 0 0 - - -; -#X obj 257 549 spigot; -#X msg 251 471 0; -#X msg 282 471 1; -#X text 257 597 raw; -#N canvas 366 126 600 400 synth 0; +#N canvas 193 43 967 599 10; +#X obj 370 524 spigot; +#X msg 442 397 bang; +#X obj 429 488 bonk~; +#X msg 442 214 learn 1; +#X msg 442 274 learn 0; +#X msg 437 456 print; +#X obj 390 437 adc~; +#X msg 614 538 \; pd dsp 1; +#X obj 277 524 spigot; +#N canvas 366 126 604 404 synth 0; #X obj 112 24 r bonk-cooked; #X obj 112 49 unpack; #X obj 112 99 * 12; @@ -69,104 +59,99 @@ #X connect 21 0 1 0; #X connect 22 0 6 0; #X connect 23 0 9 0; -#X restore 804 86 pd synth; -#X obj 454 549 s bonk-cooked; -#X floatatom 804 63 0 0 0 0 - - -; -#X msg 804 33 0; -#X msg 442 274 learn 10; -#X msg 442 334 forget; -#X msg 442 364 write templates.txt; -#X msg 442 394 read templates.txt; -#X msg 835 33 90; -#X msg 442 120 thresh 6 50; -#X text 8 70 The Bonk object takes an audio signal input and looks +#X restore 846 555 pd synth; +#X floatatom 846 532 0 0 0 0 - - -; +#X msg 846 502 0; +#X msg 442 244 learn 10; +#X msg 442 304 forget; +#X msg 442 334 write templates.txt; +#X msg 442 364 read templates.txt; +#X msg 877 502 90; +#X msg 442 81 thresh 6 50; +#X text 8 56 The Bonk object takes an audio signal input and looks for "attacks" defined as sharp changes in the spectral envelope of the incoming sound. Optionally \, and less reliably \, you can have Bonk check the attack against a collection of stored templates to try to guess which of two or more instruments was hit. Bonk is described theoretically in the 1998 ICMC proceedings \, reprinted on http://man104nfs.ucsd.edu/~mpuckett. ; -#X text 470 70 click here; -#X text 471 83 to start DSP; -#X text 8 191 Bonk's two outputs are the raw spectrum of the attack -(provided as a list of 11 numbers giving the signal "loudness" in the -11 frequency bands used) \, and the "cooked" output which gives only -an instrument number (counting up from zero) and a "velocity". The -instrumnent number is significant only if Bonk has a "template set" -in memory.; -#X text 8 368 In this patch \, after starting DSP \, you can print +#X text 602 504 click here; +#X text 603 517 to start DSP; +#X text 8 377 In this patch \, after starting DSP \, you can print out the raw or cooked output using the two "spigots" or listen to a synthesizer output by raising its volume.; -#X text 259 448 enable printout; -#X text 705 32 output volume; -#X text 719 50 (0-100); -#X text 533 118 Set low and high thresholds. Signal growth must exceed -the high one and then fall to the low one to make an attack.; -#X text 533 151 Minimum velocity to output (quieter notes are ignored.) -; -#X msg 442 180 mask 4 0.7; -#X msg 442 214 debounce 0; -#X text 8 299 Bonk's analysis is carried out on a 256-point window +#X text 747 501 output volume; +#X text 761 519 (0-100); +#X msg 442 150 mask 4 0.7; +#X msg 442 184 debounce 0; +#X text 8 309 Bonk's analysis is carried out on a 256-point window (6 msec at 44.1 kHz) and by default the analysis period is 128 samples. The analysis period can be specified as Bonk's creation argument but must be a multiple of 64; -#X text 532 219 Minimum time (msec) between attacks; -#X text 532 170 Describes how energy in each frequency band masks later +#X text 532 185 Minimum time (msec) between attacks; +#X text 532 140 Describes how energy in each frequency band masks later energy in the band. Here the masking is total for 4 analysis periods and then drops by 0.7 each period.; -#X text 530 244 Forget all templates and start learning new ones. The +#X text 530 214 Forget all templates and start learning new ones. The argument gives the number of times you will hit each instrument (10 recommended.) Turn on the output volume above for audible feedback as you train Bonk. "Learn 0" exits learn mode.; -#X text 530 328 Forget the last template. In Learn mode \, use "forget" +#X text 530 298 Forget the last template. In Learn mode \, use "forget" to erase and record over a template.; -#X text 595 368 Write templates to a file in text-editable format. +#X text 595 334 Write templates to a file in text-editable format. ; -#X text 596 398 Read templates from a file.; -#X text 538 493 Print out all settings and templates.; -#X msg 442 150 minvel 10; -#X text 538 426 Poll the current spectrum via "raw" outlet \, You can +#X text 596 364 Read templates from a file.; +#X text 538 453 Print out all settings and templates.; +#X msg 442 120 minvel 10; +#X text 538 392 Poll the current spectrum via "raw" outlet \, You can set a very high threshold if you don't want attacks mixed in.; -#X text 218 12 BONK - an attack detector for small percussion instruments +#X msg 437 426 debug 0; +#X text 538 426 turn debugging on or off.; +#X obj 326 525 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 419 525 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 370 554 print cooked; +#X obj 277 554 print raw; +#X text 253 490 enable printout:; +#X text 533 121 Minimum "velocity" to output (quieter notes are ignored.) ; -#X msg 634 517 print; -#X msg 437 456 debug 0; -#X text 538 466 turn debugging on or off.; -#X obj 118 422 phasor~ 110; -#X obj 106 510 dac~; -#X obj 105 483 *~; -#X floatatom 160 466 5 0 0 0 - - -; -#X obj 157 488 dbtorms; -#X connect 1 0 2 1; -#X connect 2 0 0 0; -#X connect 3 0 1 0; -#X connect 4 0 1 0; -#X connect 5 0 6 0; -#X connect 6 0 15 0; -#X connect 6 1 2 0; -#X connect 6 1 20 0; -#X connect 7 0 6 0; -#X connect 8 0 6 0; -#X connect 9 0 6 0; -#X connect 10 0 6 0; -#X connect 14 0 15 1; -#X connect 15 0 13 0; -#X connect 16 0 14 0; -#X connect 17 0 14 0; -#X connect 21 0 19 0; -#X connect 22 0 21 0; -#X connect 23 0 6 0; -#X connect 24 0 6 0; -#X connect 25 0 6 0; -#X connect 26 0 6 0; -#X connect 27 0 21 0; -#X connect 28 0 6 0; -#X connect 39 0 6 0; -#X connect 40 0 6 0; -#X connect 49 0 6 0; -#X connect 53 0 6 0; -#X connect 55 0 57 0; -#X connect 57 0 56 0; -#X connect 57 0 56 1; -#X connect 58 0 59 0; -#X connect 59 0 57 1; +#X obj 462 513 s bonk-cooked; +#X text 218 12 BONK~ - an attack detector for small percussion instruments +; +#X text 8 174 Bonk's two outputs are the raw spectrum of the attack +(provided as a list of 11 numbers giving the signal "loudness" in the +11 frequency bands used) \, and the "cooked" output which gives only +an instrument number (counting up from zero) and a "velocity". This +"velocity" is the sum of the square roots of the amplitudes of the +bands \, normalized so that 100 is an attack of amplitude of about +1 The instrument number is significant only if Bonk has a "template +set" in memory.; +#X text 532 52 Set low and high thresholds. Signal growth must exceed +the high one and then fall to the low one to make an attack. The unit +is the sum of the proportional growth in the 11 filter bands. Proportional +growth is essentially the logarithmic time derivative.; +#X connect 0 0 40 0; +#X connect 1 0 2 0; +#X connect 2 0 8 0; +#X connect 2 1 0 0; +#X connect 2 1 44 0; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 8 0 41 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 2 0; +#X connect 13 0 2 0; +#X connect 14 0 2 0; +#X connect 15 0 2 0; +#X connect 16 0 10 0; +#X connect 17 0 2 0; +#X connect 24 0 2 0; +#X connect 25 0 2 0; +#X connect 34 0 2 0; +#X connect 36 0 2 0; +#X connect 38 0 8 1; +#X connect 39 0 0 1; diff --git a/pd/extra/bonk~/makefile b/pd/extra/bonk~/makefile index 578f7b8d..5c805bcd 100644 --- a/pd/extra/bonk~/makefile +++ b/pd/extra/bonk~/makefile @@ -75,8 +75,9 @@ LINUXINCLUDE = -I../../src # ----------------------- Mac OSX ----------------------- pd_darwin: $(NAME).pd_darwin +pd_imac: $(NAME).pd_imac -.SUFFIXES: .pd_darwin +.SUFFIXES: .pd_darwin .pd_imac DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ -Wno-unused -Wno-parentheses -Wno-switch @@ -86,6 +87,11 @@ DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ $(CC) -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o rm -f $*.o +.c.pd_imac: + $(CC) $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c + $(CC) -bundle -undefined suppress -flat_namespace -o $*.pd_imac $*.o + rm -f $*.o + # ---------------------------------------------------------- clean: |