[PD] noise floor: median in audio signals, for peak extraction

Alexandre Torres Porres porres at gmail.com
Fri Dec 23 21:53:19 CET 2011


Hi there, I had no idea there was such a thing as the [pack~] & [unpack~]
objects. I was about to ask about something like this, or propose it,
because it is very cool the idea of acting on audio blocks as if they were
lists, and do all sorts of operations we cant with audio objects.

Anyway, now that I there is such a thing, and since I already had
programmed the median filter I needed with control objetcs... voilá! I have
the thing working well.

But then, I need to delay the signal, since [pack~]/[unpack~] delays a
block of audio.

My question is, is it possible to have it done without the delays?

thanks a lot, here's my code for you people to check this out.

==============================================

#N canvas 733 146 357 400 12;
#X obj 59 149 readsf~;
#X obj 59 67 openpanel;
#X obj 59 94 symbol;
#X msg 59 122 open \$1 \, start;
#X obj 59 47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 193 259 *~ 1;
#X obj 218 234 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 129 232 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 148 308 +~;
#X obj 136 348 dac~;
#X obj 104 258 *~ 1;
#N canvas 965 228 735 754 filter-noise-floor 1;
#X obj 9 631 *~;
#X obj -32 74 *~;
#X obj 50 499 *~;
#X obj -32 46 inlet~;
#X obj 9 500 *~;
#X obj -32 103 rfft~;
#X obj 9 530 rifft~;
#X obj 9 661 outlet~;
#X obj 9 74 tabreceive~ \$0-hann;
#X obj 27 593 tabreceive~ \$0-hann;
#X text 25 100 real Fourier transform;
#X obj 314 291 loadbang;
#X obj -104 634 *~;
#X obj -63 502 *~;
#X obj -104 503 *~;
#X obj -104 533 rifft~;
#X obj -104 661 outlet~;
#X obj -104 562 /~ 1536;
#X obj 68 190 expr~ ($v1*$v1+$v2*$v2);
#X obj 303 47 inlet;
#X obj 9 560 /~ 1536;
#N canvas 0 22 450 300 (subpatch) 0;
#X array \$0-hann 1024 float 1;
#A 0 0 1.88351e-05 3.76403e-05 9.41157e-05 0.000150591 0.000244677
0.000338793 0.000470519 0.000602275 0.000771582 0.000940919 0.00114784
0.00135475 0.00159922 0.00184369 0.00212565 0.00240761 0.00272706 0.00304651
0.00340337 0.00376022 0.00415444 0.00454867 0.00498021 0.00541171 0.00588048
0.00634927 0.00685519 0.00736114 0.00790417 0.00844723 0.0090273 0.00960734
0.0102243 0.0108413 0.0114951 0.0121489 0.0128394 0.01353 0.0142572
0.0149843 0.015748 0.0165117 0.0173118 0.0181119 0.0189483 0.0197847
0.0206572 0.0215298 0.0224383 0.0233469 0.0242914 0.0252359 0.0262161
0.0271963 0.0282121 0.0292279 0.0302792 0.0313304 0.032417 0.0335035
0.0346252 0.0357469 0.0369035 0.0380602 0.0392516 0.040443 0.041669
0.042895 0.0441555 0.0454159 0.0467106 0.0480052 0.0493339 0.0506626
0.0520252 0.0533877 0.0547839 0.05618 0.0576096 0.0590392 0.060502
0.0619648 0.0634606 0.0649563 0.0664849 0.0680134 0.0695744 0.0711355
0.0727288 0.0743222 0.0759476 0.077573 0.0792302 0.0808874 0.0825762
0.084265 0.085985 0.0877051 0.0894562 0.0912073 0.0929892 0.0947711
0.0965835 0.0983959 0.100239 0.102081 0.103954 0.105826 0.107729 0.109631
0.111563 0.113494 0.115455 0.117416 0.119406 0.121395 0.123413 0.125431
0.127478 0.129524 0.131598 0.133672 0.135774 0.137876 0.140005 0.142134
0.14429 0.146446 0.148629 0.150811 0.15302 0.155229 0.157464 0.159699
0.161959 0.16422 0.166506 0.168792 0.171102 0.173413 0.175748 0.178084
0.180443 0.182803 0.185186 0.18757 0.189977 0.192384 0.194814 0.197244
0.199697 0.20215 0.204625 0.2071 0.209598 0.212095 0.214614 0.217133
0.219674 0.222214 0.224775 0.227337 0.229919 0.2325 0.235102 0.237704
0.240326 0.242948 0.245589 0.24823 0.25089 0.25355 0.256229 0.258907
0.261604 0.264301 0.267015 0.26973 0.272462 0.275194 0.277942 0.280691
0.283457 0.286222 0.289003 0.291785 0.294582 0.297379 0.300191 0.303003
0.305831 0.308658 0.311499 0.314341 0.317196 0.320052 0.322921 0.32579
0.328672 0.331555 0.334449 0.337344 0.340252 0.343159 0.346078 0.348997
0.351927 0.354857 0.357798 0.36074 0.363691 0.366643 0.369605 0.372567
0.375538 0.37851 0.38149 0.384471 0.38746 0.390449 0.393447 0.396444
0.399449 0.402455 0.405467 0.40848 0.411499 0.414519 0.417545 0.420571
0.423603 0.426635 0.429672 0.432709 0.435752 0.438794 0.441842 0.444889
0.44794 0.450991 0.454046 0.457101 0.460159 0.463218 0.466279 0.46934
0.472403 0.475466 0.478531 0.481596 0.484663 0.487729 0.490797 0.493864
0.496932 0.5 0.503068 0.506136 0.509203 0.512271 0.515337 0.518404
0.521469 0.524534 0.527597 0.53066 0.533721 0.536782 0.539841 0.542899
0.545954 0.549009 0.55206 0.555111 0.558158 0.561205 0.564248 0.56729
0.570328 0.573365 0.576397 0.579429 0.582455 0.585481 0.588501 0.59152
0.594533 0.597545 0.600551 0.603556 0.606553 0.609551 0.61254 0.615529
0.61851 0.62149 0.624462 0.627433 0.630395 0.633357 0.636308 0.63926
0.642201 0.645143 0.648073 0.651003 0.653922 0.656841 0.659748 0.662656
0.66555 0.668445 0.671328 0.67421 0.677079 0.679948 0.682804 0.685659
0.688501 0.691342 0.694169 0.696997 0.699809 0.702621 0.705418 0.708215
0.710997 0.713778 0.716543 0.719309 0.722057 0.724806 0.727538 0.73027
0.732984 0.735699 0.738396 0.741093 0.743771 0.74645 0.74911 0.75177
0.754411 0.757052 0.759674 0.762295 0.764897 0.767499 0.770081 0.772663
0.775224 0.777786 0.780326 0.782867 0.785386 0.787905 0.790402 0.7929
0.795375 0.79785 0.800303 0.802756 0.805186 0.807616 0.810023 0.812431
0.814814 0.817197 0.819557 0.821916 0.824252 0.826587 0.828898 0.831209
0.833494 0.83578 0.838041 0.840301 0.842536 0.844771 0.84698 0.849189
0.851372 0.853554 0.85571 0.857866 0.859995 0.862124 0.864226 0.866328
0.868402 0.870476 0.872523 0.874569 0.876587 0.878605 0.880595 0.882584
0.884545 0.886506 0.888438 0.890369 0.892272 0.894174 0.896047 0.897919
0.899762 0.901605 0.903417 0.905229 0.907011 0.908793 0.910544 0.912295
0.914015 0.915736 0.917424 0.919113 0.92077 0.922428 0.924053 0.925678
0.927272 0.928865 0.930426 0.931987 0.933516 0.935044 0.93654 0.938036
0.939499 0.940961 0.942391 0.94382 0.945217 0.946613 0.947975 0.949338
0.950667 0.951995 0.95329 0.954585 0.955845 0.957106 0.958332 0.959558
0.960749 0.96194 0.963097 0.964254 0.965375 0.966497 0.967584 0.96867
0.969721 0.970773 0.971788 0.972804 0.973784 0.974765 0.975709 0.976654
0.977562 0.978471 0.979343 0.980216 0.981052 0.981889 0.982689 0.983489
0.984252 0.985016 0.985743 0.98647 0.987161 0.987852 0.988505 0.989159
0.989776 0.990393 0.990973 0.991553 0.992096 0.992639 0.993145 0.993651
0.99412 0.994589 0.99502 0.995452 0.995846 0.99624 0.996597 0.996954
0.997273 0.997593 0.997874 0.998156 0.998401 0.998645 0.998852 0.999059
0.999229 0.999398 0.99953 0.999661 0.999755 0.999849 0.999906 0.999962
0.999981 1 0.999981 0.999962 0.999906 0.999849 0.999755 0.999661 0.999529
0.999398 0.999228 0.999059 0.998852 0.998645 0.998401 0.998156 0.997874
0.997592 0.997273 0.996953 0.996596 0.996239 0.995845 0.995451 0.995019
0.994588 0.994119 0.99365 0.993144 0.992638 0.992095 0.991552 0.990972
0.990392 0.989775 0.989158 0.988504 0.987851 0.98716 0.986469 0.985742
0.985015 0.984251 0.983488 0.982687 0.981887 0.981051 0.980215 0.979342
0.978469 0.977561 0.976652 0.975708 0.974763 0.973783 0.972803 0.971787
0.970771 0.96972 0.968669 0.967582 0.966495 0.965374 0.964252 0.963095
0.961939 0.960747 0.959556 0.95833 0.957104 0.955843 0.954583 0.953288
0.951993 0.950665 0.949336 0.947973 0.946611 0.945215 0.943818 0.942389
0.940959 0.939496 0.938034 0.936538 0.935042 0.933514 0.931985 0.930424
0.928863 0.927269 0.925676 0.924051 0.922425 0.920768 0.919111 0.917422
0.915733 0.914013 0.912293 0.910542 0.908791 0.907009 0.905227 0.903414
0.901602 0.899759 0.897917 0.896044 0.894171 0.892269 0.890367 0.888435
0.886503 0.884542 0.882582 0.880592 0.878602 0.876584 0.874566 0.87252
0.870473 0.868399 0.866325 0.864223 0.862121 0.859992 0.857863 0.855707
0.853551 0.851368 0.849186 0.846977 0.844768 0.842533 0.840298 0.838037
0.835777 0.833491 0.831205 0.828895 0.826584 0.824249 0.821913 0.819554
0.817194 0.814811 0.812427 0.81002 0.807613 0.805183 0.802753 0.8003
0.797847 0.795372 0.792896 0.790399 0.787901 0.785382 0.782863 0.780323
0.777782 0.775221 0.77266 0.770078 0.767496 0.764894 0.762292 0.75967
0.757048 0.754407 0.751766 0.749106 0.746446 0.743767 0.741089 0.738392
0.735695 0.732981 0.730266 0.727534 0.724802 0.722054 0.719305 0.71654
0.713774 0.710993 0.708211 0.705414 0.702617 0.699805 0.696993 0.694165
0.691338 0.688497 0.685655 0.6828 0.679944 0.677075 0.674206 0.671324
0.668441 0.665546 0.662652 0.659744 0.656837 0.653918 0.650999 0.648069
0.645139 0.642197 0.639256 0.636304 0.633353 0.630391 0.627429 0.624458
0.621486 0.618506 0.615525 0.612536 0.609547 0.606549 0.603552 0.600546
0.597541 0.594529 0.591516 0.588496 0.585477 0.582451 0.579425 0.576393
0.573361 0.570324 0.567286 0.564244 0.561201 0.558154 0.555107 0.552056
0.549004 0.545949 0.542894 0.539836 0.536778 0.533717 0.530656 0.527593
0.52453 0.521464 0.518399 0.515333 0.512266 0.509199 0.506131 0.503064
0.499996 0.496928 0.49386 0.490792 0.487725 0.484659 0.481592 0.478527
0.475462 0.472399 0.469335 0.466274 0.463213 0.460155 0.457097 0.454042
0.450987 0.447936 0.444884 0.441837 0.43879 0.435748 0.432705 0.429668
0.42663 0.423598 0.420566 0.417541 0.414515 0.411495 0.408476 0.405463
0.40245 0.399445 0.39644 0.393442 0.390445 0.387456 0.384466 0.381486
0.378505 0.375534 0.372563 0.369601 0.366639 0.363687 0.360736 0.357794
0.354853 0.351923 0.348993 0.346074 0.343155 0.340247 0.33734 0.334445
0.331551 0.328668 0.325786 0.322917 0.320048 0.317192 0.314337 0.311495
0.308654 0.305827 0.302999 0.300187 0.297375 0.294578 0.291781 0.288999
0.286218 0.283453 0.280687 0.277939 0.27519 0.272458 0.269726 0.267012
0.264297 0.2616 0.258904 0.256225 0.253547 0.250886 0.248226 0.245585
0.242944 0.240323 0.237701 0.235099 0.232497 0.229915 0.227333 0.224772
0.222211 0.21967 0.21713 0.214611 0.212092 0.209594 0.207097 0.204622
0.202146 0.199693 0.19724 0.19481 0.19238 0.189973 0.187566 0.185183
0.182799 0.18044 0.17808 0.175745 0.17341 0.171099 0.168788 0.166502
0.164217 0.161956 0.159696 0.157461 0.155226 0.153017 0.150808 0.148625
0.146443 0.144287 0.142131 0.140002 0.137873 0.135771 0.133669 0.131595
0.129521 0.127474 0.125428 0.12341 0.121392 0.119402 0.117413 0.115452
0.113491 0.11156 0.109628 0.107726 0.105823 0.103951 0.102078 0.100236
0.0983929 0.0965805 0.0947681 0.0929862 0.0912043 0.0894533 0.0877022
0.0859821 0.084262 0.0825733 0.0808845 0.0792274 0.0775702 0.0759448
0.0743194 0.0727261 0.0711327 0.0695717 0.0680107 0.0664822 0.0649537
0.0634579 0.0619622 0.0604994 0.0590366 0.0576071 0.0561775 0.0547814
0.0533852 0.0520227 0.0506602 0.0493315 0.0480028 0.0467082 0.0454136
0.0441532 0.0428927 0.0416667 0.0404407 0.0392494 0.038058 0.0369014
0.0357448 0.0346231 0.0335014 0.0324149 0.0313284 0.0302772 0.0292259
0.0282102 0.0271944 0.0262142 0.025234 0.0242896 0.0233451 0.0224366
0.0215281 0.0206555 0.019783 0.0189467 0.0181103 0.0173103 0.0165102
0.0157465 0.0149829 0.0142557 0.0135286 0.0128381 0.0121476 0.0114938
0.01084 0.0102231 0.00960612 0.00902611 0.0084461 0.0079031 0.0073601
0.00685418 0.00634828 0.00587955;
#A 1000 0.00541082 0.00497931 0.00454783 0.00415364 0.00375944 0.00340262
0.0030458 0.00272641 0.00240701 0.00212508 0.00184312 0.00159872 0.00135428
0.00114739 0.000940531 0.000771224 0.000601947 0.000470251 0.000338554
0.000244498 0.000150412 9.39965e-05 3.75509e-05 1.87755e-05;
#X coords 0 1 1023 0 300 100 1;
#X restore 180 471 graph;
#X obj 185 262 pack~;
#X obj 185 309 unpack~;
#N canvas 560 22 600 435 "median~" 0;
#X msg 273 285 \$16;
#X msg 273 247 set \, adddollar \$1;
#X obj 273 225 expr rint(($f1+1)/2);
#X obj 178 165 t l l;
#X obj 205 247 Uzi;
#X obj 258 319 f;
#X text 156 79 audio block;
#X obj 178 106 inlet;
#X obj 273 105 inlet;
#X obj 258 345 repack;
#X obj 354 104 inlet;
#X obj 258 378 outlet;
#X obj 232 247 sort;
#X msg 273 167 32;
#X obj 286 144 loadbang;
#X obj 205 201 list split;
#X obj 128 201 list split;
#X obj 205 224 t b l;
#X text 262 78 median size;
#X text 364 82 block size;
#X connect 0 0 5 1;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 16 0;
#X connect 3 1 15 0;
#X connect 4 0 5 0;
#X connect 5 0 9 0;
#X connect 7 0 3 0;
#X connect 8 0 13 0;
#X connect 9 0 11 0;
#X connect 10 0 9 1;
#X connect 12 0 0 0;
#X connect 13 0 2 0;
#X connect 13 0 15 1;
#X connect 13 0 16 1;
#X connect 13 0 4 1;
#X connect 14 0 13 0;
#X connect 15 0 17 0;
#X connect 16 1 3 0;
#X connect 17 0 4 0;
#X connect 17 1 12 0;
#X restore 185 285 pd "median~";
#X msg -218 254 set \$1 4;
#X obj -148 181 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0
10 -262144 -1 -1 1024 256;
#X obj -218 280 block~;
#X obj -126 353 delay~ 4096;
#X obj 68 316 delay~ 4096;
#X obj 68 344 expr~ if( $v1 <= $v2 * $f3 \, 1 \, 0) \; if( $v1 > $v2
*$f3 \, 1 \, 0);
#X msg 314 315 1;
#X msg 314 344 \; pd dsp \$1;
#X obj -28 353 delay~ 4096;
#X connect 0 0 7 0;
#X connect 1 0 5 0;
#X connect 2 0 6 1;
#X connect 3 0 1 0;
#X connect 4 0 6 0;
#X connect 5 0 18 0;
#X connect 5 0 28 0;
#X connect 5 1 18 1;
#X connect 5 1 33 0;
#X connect 6 0 20 0;
#X connect 8 0 1 1;
#X connect 9 0 0 1;
#X connect 9 0 12 1;
#X connect 11 0 31 0;
#X connect 12 0 16 0;
#X connect 13 0 15 1;
#X connect 14 0 15 0;
#X connect 15 0 17 0;
#X connect 17 0 12 0;
#X connect 18 0 22 0;
#X connect 18 0 29 0;
#X connect 19 0 30 2;
#X connect 20 0 0 0;
#X connect 22 0 24 0;
#X connect 23 0 30 1;
#X connect 24 0 23 0;
#X connect 25 0 27 0;
#X connect 26 0 25 0;
#X connect 26 0 24 2;
#X connect 26 0 28 1;
#X connect 26 0 29 1;
#X connect 26 0 33 1;
#X connect 28 0 14 0;
#X connect 28 0 4 0;
#X connect 29 0 30 0;
#X connect 30 0 13 1;
#X connect 30 0 14 1;
#X connect 30 1 4 1;
#X connect 30 1 2 1;
#X connect 31 0 30 2;
#X connect 31 0 32 0;
#X connect 33 0 13 0;
#X connect 33 0 2 0;
#X restore 59 179 pd filter-noise-floor;
#X floatatom 203 148 5 1 100 0 - - -;
#X text 242 147 floor level;
#X text 117 212 noise;
#X text 206 215 signal;
#X connect 0 0 11 0;
#X connect 0 1 2 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 8 1;
#X connect 6 0 5 1;
#X connect 7 0 10 1;
#X connect 8 0 9 0;
#X connect 8 0 9 1;
#X connect 10 0 8 0;
#X connect 11 0 10 0;
#X connect 11 1 5 0;
#X connect 12 0 11 1;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20111223/13f93d86/attachment-0001.htm>


More information about the Pd-list mailing list