#N canvas 13 108 496 416 10; #N canvas 0 22 450 300 (subpatch) 0; #X array voice 153259 float 0; #X coords 0 1 153258 -1 100 70 1; #X restore 334 94 graph; #N canvas 0 22 450 300 (subpatch) 0; #X array excitation 194810 float 0; #X coords 0 1 194809 -1 100 70 1; #X restore 334 183 graph; #X obj -5 71 bng 15 250 50 0 empty empty empty -38 -6 0 8 -262144 -1 -1; #X obj 154 71 bng 15 250 50 0 empty empty empty -10 -6 0 8 -262144 -1 -1; #X obj 41 133 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 -1; #X floatatom 219 163 5 1 100 2 - - -; #X obj 122 133 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 ; #X obj 219 120 loadbang; #X obj 9 304 output~; #X text -37 362 2010-02-23 Dan Ellis dpwe@ee.columbia.edu; #X obj -5 95 loadsoundfile voice; #N canvas 533 49 647 519 lpcanalysis 1; #X obj -6 104 inlet~; #X obj -6 128 rzero~ 0.97; #X obj 25 398 rpole~ 0.97; #X obj 25 447 outlet~; #X text -47 397 De-emphasis; #X text -85 127 Pre-emphasis; #X obj 194 447 outlet; #X obj 108 104 inlet; #X text 114 464 Residual; #X text 193 464 LPC coeffs; #X text 279 36 with 2x (50%) overlap; #X obj 349 124 samplerate~; #X floatatom 349 146 5 0 0 0 - - -; #X obj 349 105 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 343 164 Read back actual SR; #X obj 25 426 *~; #X obj 26 166 lpc~ 12; #X obj 115 447 outlet~; #X text 279 24 Set block size to 512 points; #X text 278 49 running at 0.5 of parent SR; #X text 282 194 512/22050 = 23.2 ms windows; #X obj 185 105 inlet~; #X obj 25 337 lpreson~; #X obj 3 273 *~; #X obj 185 129 rzero~ 0.97; #X obj 115 426 *~; #X obj 115 398 rpole~ 0.97; #X obj 185 153 *~ 20; #X text -71 3 LPC Analysis sub-patch; #N canvas 0 22 450 300 (subpatch) 0; #X array \$0-hanning 1027 float 1; #A 0 9.41234e-06 0 9.41234e-06 3.7649e-05 8.4709e-05 0.00015059 0.000235291 0.000338807 0.000461135 0.000602271 0.000762208 0.000940942 0.00113846 0.00135477 0.00158985 0.00184369 0.00211629 0.00240763 0.00271771 0.00304651 0.00339402 0.00376023 0.00414512 0.00454867 0.00497089 0.00541174 0.00587121 0.00634928 0.00684594 0.00736117 0.00789494 0.00844724 0.00901805 0.00960734 0.0102151 0.0108413 0.0114859 0.0121489 0.0128303 0.01353 0.014248 0.0149843 0.0157389 0.0165117 0.0173027 0.0181119 0.0189393 0.0197847 0.0206482 0.0215298 0.0224294 0.0233469 0.0242824 0.0252359 0.0262072 0.0271963 0.0282032 0.0292279 0.0302703 0.0313304 0.0324082 0.0335035 0.0346165 0.0357469 0.0368948 0.0380602 0.0392429 0.040443 0.0416604 0.0428951 0.0441469 0.0454159 0.0467021 0.0480053 0.0493255 0.0506627 0.0520168 0.0533878 0.0547755 0.0561801 0.0576014 0.0590393 0.0604938 0.0619649 0.0634524 0.0649564 0.0664768 0.0680135 0.0695664 0.0711356 0.0727209 0.0743223 0.0759397 0.0775731 0.0792224 0.0808875 0.0825684 0.0842651 0.0859773 0.0877052 0.0894486 0.0912074 0.0929817 0.0947712 0.0965761 0.0983961 0.100231 0.102081 0.103947 0.105827 0.107722 0.109631 0.111556 0.113495 0.115448 0.117416 0.119399 0.121395 0.123406 0.125432 0.127471 0.129524 0.131591 0.133673 0.135768 0.137876 0.139999 0.142134 0.144284 0.146446 0.148622 0.150812 0.153014 0.155229 0.157458 0.159699 0.161953 0.16422 0.1665 0.168792 0.171096 0.173413 0.175743 0.178084 0.180437 0.182803 0.185181 0.18757 0.189971 0.192384 0.194808 0.197244 0.199691 0.20215 0.20462 0.207101 0.209593 0.212096 0.214609 0.217134 0.219669 0.222215 0.224771 0.227337 0.229914 0.232501 0.235098 0.237705 0.240322 0.242948 0.245585 0.24823 0.250886 0.253551 0.256225 0.258908 0.2616 0.264301 0.267011 0.26973 0.272458 0.275194 0.277939 0.280691 0.283453 0.286222 0.288999 0.291785 0.294578 0.297379 0.300187 0.303004 0.305827 0.308658 0.311496 0.314341 0.317193 0.320052 0.322918 0.32579 0.328669 0.331555 0.334446 0.337344 0.340248 0.343159 0.346075 0.348997 0.351924 0.354857 0.357796 0.36074 0.363689 0.366643 0.369602 0.372567 0.375536 0.378509 0.381488 0.38447 0.387457 0.390449 0.393444 0.396444 0.399447 0.402454 0.405465 0.408479 0.411497 0.414518 0.417543 0.42057 0.423601 0.426634 0.42967 0.432709 0.43575 0.438794 0.44184 0.444888 0.447939 0.450991 0.454045 0.457101 0.460158 0.463217 0.466277 0.469339 0.472402 0.475466 0.47853 0.481596 0.484662 0.487729 0.490796 0.493864 0.496931 0.499999 0.503067 0.506135 0.509203 0.51227 0.515337 0.518403 0.521468 0.524533 0.527597 0.53066 0.533721 0.536782 0.539841 0.542898 0.545954 0.549008 0.55206 0.55511 0.558159 0.561205 0.564248 0.56729 0.570328 0.573364 0.576398 0.579428 0.582456 0.58548 0.588501 0.591519 0.594534 0.597544 0.600552 0.603555 0.606554 0.60955 0.612541 0.615528 0.618511 0.621489 0.624463 0.627432 0.630396 0.633356 0.63631 0.639259 0.642203 0.645142 0.648075 0.651002 0.653924 0.65684 0.65975 0.662654 0.665552 0.668444 0.67133 0.674209 0.677081 0.679947 0.682806 0.685658 0.688503 0.691341 0.694172 0.696995 0.699811 0.70262 0.705421 0.708214 0.710999 0.713777 0.716546 0.719307 0.72206 0.724805 0.727541 0.730269 0.732987 0.735698 0.738399 0.741091 0.743774 0.746448 0.749113 0.751768 0.754414 0.757051 0.759677 0.762294 0.764901 0.767498 0.770085 0.772662 0.775228 0.777784 0.78033 0.782865 0.78539 0.787903 0.790406 0.792898 0.795379 0.797849 0.800308 0.802755 0.805191 0.807615 0.810028 0.812429 0.814818 0.817196 0.819561 0.821915 0.824256 0.826586 0.828903 0.831207 0.833499 0.835779 0.838046 0.8403 0.842541 0.84477 0.846985 0.849187 0.851377 0.853553 0.855715 0.857865 0.860001 0.862123 0.864232 0.866326 0.868408 0.870475 0.872528 0.874568 0.876593 0.878604 0.880601 0.882583 0.884551 0.886505 0.888444 0.890368 0.892278 0.894173 0.896053 0.897918 0.899768 0.901603 0.903423 0.905228 0.907018 0.908792 0.910551 0.912294 0.914022 0.915734 0.917431 0.919112 0.920777 0.922426 0.92406 0.925677 0.927278 0.928864 0.930433 0.931986 0.933523 0.935043 0.936547 0.938035 0.939506 0.94096 0.942398 0.943819 0.945224 0.946612 0.947983 0.949337 0.950674 0.951994 0.953297 0.954584 0.955853 0.957104 0.958339 0.959556 0.960757 0.961939 0.963105 0.964253 0.965383 0.966496 0.967591 0.968669 0.969729 0.970772 0.971796 0.972803 0.973792 0.974764 0.975717 0.976653 0.97757 0.97847 0.979351 0.980215 0.98106 0.981888 0.982697 0.983488 0.984261 0.985015 0.985752 0.98647 0.987169 0.987851 0.988514 0.989158 0.989785 0.990392 0.990982 0.991553 0.992105 0.992639 0.993154 0.99365 0.994129 0.994588 0.995029 0.995451 0.995855 0.99624 0.996606 0.996953 0.997282 0.997592 0.997884 0.998156 0.99841 0.998645 0.998861 0.999059 0.999238 0.999398 0.999539 0.999661 0.999765 0.999849 0.999915 0.999962 0.999991 1 0.999991 0.999962 0.999915 0.999849 0.999765 0.999661 0.999539 0.999398 0.999238 0.999059 0.998862 0.998645 0.99841 0.998156 0.997884 0.997593 0.997282 0.996954 0.996606 0.99624 0.995855 0.995452 0.995029 0.994588 0.994129 0.993651 0.993154 0.992639 0.992105 0.991553 0.990982 0.990393 0.989785 0.989159 0.988514 0.987851 0.98717 0.98647 0.985752 0.985016 0.984261 0.983489 0.982698 0.981888 0.981061 0.980216 0.979352 0.978471 0.977571 0.976653 0.975718 0.974765 0.973793 0.972804 0.971797 0.970773 0.96973 0.96867 0.967592 0.966497 0.965384 0.964254 0.963106 0.96194 0.960758 0.959558 0.95834 0.957105 0.955854 0.954585 0.953299 0.951995 0.950675 0.949338 0.947984 0.946613 0.945225 0.943821 0.942399 0.940961 0.939507 0.938036 0.936548 0.935044 0.933524 0.931987 0.930434 0.928865 0.92728 0.925678 0.924061 0.922428 0.920778 0.919113 0.917432 0.915736 0.914023 0.912296 0.910552 0.908793 0.907019 0.90523 0.903425 0.901605 0.89977 0.897919 0.896054 0.894174 0.892279 0.89037 0.888445 0.886506 0.884553 0.882585 0.880602 0.878605 0.876594 0.874569 0.87253 0.870477 0.868409 0.866328 0.864233 0.862125 0.860002 0.857867 0.855717 0.853555 0.851379 0.849189 0.846987 0.844772 0.842543 0.840302 0.838048 0.835781 0.833501 0.831209 0.828905 0.826588 0.824259 0.821917 0.819564 0.817198 0.81482 0.812431 0.81003 0.807617 0.805193 0.802757 0.80031 0.797851 0.795381 0.7929 0.790408 0.787906 0.785392 0.782867 0.780332 0.777787 0.77523 0.772664 0.770087 0.7675 0.764903 0.762296 0.759679 0.757053 0.754417 0.751771 0.749115 0.746451 0.743777 0.741093 0.738401 0.7357 0.73299 0.730271 0.727543 0.724807 0.722063 0.71931 0.716549 0.713779 0.711002 0.708216 0.705423 0.702622 0.699814 0.696998 0.694174 0.691343 0.688505 0.68566 0.682808 0.679949 0.677083 0.674211 0.671332 0.668447 0.665555 0.662657 0.659753 0.656843 0.653927 0.651005 0.648077 0.645144 0.642206 0.639262 0.636312 0.633358 0.630399 0.627435 0.624466 0.621492 0.618514 0.615531 0.612544 0.609552 0.606557 0.603558 0.600554 0.597547 0.594536 0.591522 0.588504 0.585483 0.582458 0.579431 0.576401 0.573367 0.570331 0.567292 0.564251 0.561207 0.558161 0.555113 0.552063 0.549011 0.545956 0.542901 0.539843 0.536784 0.533724 0.530662 0.5276 0.524536 0.521471 0.518406 0.515339 0.512273 0.509205 0.506138 0.50307 0.500002 0.496934 0.493866 0.490799 0.487731 0.484665 0.481598 0.478533 0.475468 0.472404 0.469342 0.46628 0.46322 0.460161 0.457103 0.454048 0.450993 0.447941 0.444891 0.441843 0.438797 0.435753 0.432712 0.429673 0.426637 0.423603 0.420573 0.417545 0.414521 0.4115 0.408482 0.405468 0.402457 0.39945 0.396446 0.393447 0.390451 0.38746 0.384473 0.38149 0.378512 0.375538 0.372569 0.369605 0.366646 0.363691 0.360742 0.357798 0.35486 0.351927 0.348999 0.346077 0.343161 0.340251 0.337347 0.334449 0.331557 0.328672 0.325793 0.32292 0.320054 0.317196 0.314343 0.311498 0.30866 0.305829 0.303006 0.30019 0.297381 0.29458 0.291787 0.289002 0.286224 0.283455 0.280694 0.277941 0.275196 0.27246 0.269733 0.267014 0.264304 0.261602 0.25891 0.256227 0.253553 0.250888 0.248233 0.245587 0.242951 0.240324 0.237707 0.2351 0.232503 0.229916 0.227339 0.224773 0.222217 0.219671 0.217136 0.214611 0.212098 0.209595 0.207103 0.204622 0.202152 0.199694 0.197246 0.19481 0.192386 0.189973 0.187572 0.185183 0.182805 0.18044 0.178086 0.175745 0.173415 0.171098 0.168794 0.166502 0.164222 0.161955 0.159701 0.15746 0.155231 0.153016 0.150814 0.148624 0.146448 0.144286 0.142136 0.14 0.137878 0.135769 0.133674 0.131593 0.129526 0.127473 0.125433 0.123408 0.121397 0.1194 0.117418 0.11545 0.113496 0.111557 0.109633 0.107723 0.105828 0.103948 0.102083 0.100233 0.0983977 0.0965776 0.0947728 0.0929832 0.091209 0.0894501 0.0877067 0.0859788 0.0842665 0.0825699 0.080889 0.0792238 0.0775745 0.0759411 0.0743237 0.0727223 0.0711369 0.0695678 0.0680148 0.0664781 0.0649577 0.0634537 0.0619661 0.0604951 0.0590405 0.0576026 0.0561813 0.0547768 0.053389 0.052018 0.0506638 0.0493266 0.0480064 0.0467032 0.045417 0.044148 0.0428961 0.0416615 0.0404441 0.0392439 0.0380612 0.0368958 0.0357479 0.0346174 0.0335045 0.0324091 0.0313314 0.0302712 0.0292288 0.0282041 0.0271972 0.026208 0.0252367 0.0242833 0.0233477 0.0224302 0.0215306 0.020649 0.0197854 0.01894 0.0181126 0.0173034 0.0165124 0.0157396 0.014985 0.0142487 0.0135306 0.0128309 0.0121495 0.0114865 0.0108418 0.0102156 0.00960786 0.00901855 0.00844773 0.00789541 0.00736162 0.00684638 0.0063497; #A 1000 0.00587161 0.00541213 0.00497126 0.00454903 0.00414546 0.00376055 0.00339433 0.0030468 0.00271799 0.00240789 0.00211653 0.00184392 0.00159006 0.00135496 0.00113864 0.000941105 0.000762355 0.000602401 0.000461249 0.000338905 0.000235372 0.000150656 8.47578e-05 3.76816e-05 9.42863e-06 7.04153e-12 9.39607e-06; #X coords 0 1 1026 0 100 70 1; #X restore 284 248 graph; #X text 281 349 Tapered window for overlap-add; #X text -48 85 Signal to be modeled; #X text 94 85 Model order; #X text 177 86 Excitation; #X text -65 427 Tapered window; #X text -64 160 Analyze to LPC; #X text -81 212 Find envelope; #X text -81 224 of residual; #X text -7 182 residual; #X text 54 183 LPC coeffs; #X text -80 256 Scale excitation; #X text -80 267 by envelope; #X text -66 344 to excitation; #X text -53 171 filters; #X text -81 333 Apply LPC filters; #X text 154 308 Normalize residual; #X text 163 336 .. and scale down; #X text 277 69 Block length must match; #X text 277 80 length of hanning array.; #X text -72 16 We run this in a sub-patch to take advantage of block~ which allows us to vary the frame length \, overlap \, and sample rate. ; #X text 187 170 Scale-up; #X text 183 181 excitation; #X text 281 206 2x overlap -> 11.6 ms frames; #X text 19 464 Synthesis; #N canvas 320 356 450 300 myenv 0; #X obj 94 129 pack~; #X obj 94 151 sum; #X obj 94 108 *~; #X obj 94 84 +~ 0; #X obj 94 208 sqrt; #X obj 95 229 sig~; #X obj 92 49 inlet~; #X obj 95 270 outlet~; #X obj 94 178 / 512; #X obj 145 86 iem_blocksize~; #X obj 178 268 outlet; #X text 230 269 frame-rate gain; #X connect 0 0 1 0; #X connect 1 0 8 0; #X connect 2 0 0 0; #X connect 3 0 2 0; #X connect 3 0 2 1; #X connect 4 0 5 0; #X connect 4 0 10 0; #X connect 5 0 7 0; #X connect 6 0 3 0; #X connect 6 0 9 0; #X connect 8 0 4 0; #X connect 9 0 8 1; #X restore 3 219 pd myenv; #X obj 67 278 list; #X obj 65 254 t l b; #X obj 284 6 block~ 1024 2 0.5; #X text 35 305 one frame; #X text 34 316 to match gain; #X obj 275 447 outlet; #X text 274 463 Gain; #X msg 284 321 \; \$0-hanning cosinesum 1024 0.5 -0.5; #X obj 284 365 tabreceive~ \$0-hanning; #X obj 115 313 /~ 1; #X obj 115 255 pack~; #X obj 115 275 unpack~; #X text 165 251 Delay residual; #X text 165 263 one block; #X text 36 296 Delay coeffs; #X text 164 275 to match gain; #X text 154 319 by gain (envelope); #X text -69 60 2010 \, 2011 \, 2012 Dan Ellis dpwe@ee.columbia.edu ; #X obj 115 337 *~ 0.01; #X connect 0 0 1 0; #X connect 1 0 16 0; #X connect 2 0 15 0; #X connect 7 0 16 1; #X connect 11 0 12 0; #X connect 13 0 11 0; #X connect 15 0 3 0; #X connect 16 0 54 0; #X connect 16 0 65 0; #X connect 16 1 56 0; #X connect 21 0 24 0; #X connect 22 0 2 0; #X connect 23 0 22 0; #X connect 24 0 27 0; #X connect 25 0 17 0; #X connect 26 0 25 0; #X connect 27 0 23 1; #X connect 54 0 23 0; #X connect 54 1 60 0; #X connect 54 1 64 1; #X connect 55 0 22 0; #X connect 55 0 6 0; #X connect 56 0 55 1; #X connect 56 1 55 0; #X connect 63 0 15 1; #X connect 63 0 25 1; #X connect 64 0 73 0; #X connect 65 0 66 0; #X connect 66 0 64 0; #X connect 73 0 26 0; #X restore 9 255 pd lpcanalysis; #X obj -4 163 playloop voice; #X text 255 169 order; #X obj 90 163 playloop excitation; #X obj 153 94 loadsoundfile excitation; #X obj 120 184 noise~; #X text -39 8 LPC analysis-synthesis; #X text 151 38 Click here to select sound; #X text 151 51 for excitation (or use noise); #X text -39 38 Click here to select sound; #X text -40 50 that LPC filter will model; #X text 255 159 Filter; #X msg 219 141 24; #X obj 90 229 audiosel~; #X obj 120 205 *~ 0.1; #X text -16 271 synth; #X text 17 271 resid; #X text 51 271 coeffs; #X text -37 379 based on lpc-cross-synthesis by; #X text -37 391 Edward Kelly and Nicolas Chetry 2005; #X text 93 271 gain; #X connect 2 0 10 0; #X connect 3 0 15 0; #X connect 4 0 12 0; #X connect 4 0 14 0; #X connect 5 0 11 1; #X connect 6 0 12 1; #X connect 6 0 14 1; #X connect 7 0 23 0; #X connect 11 0 8 0; #X connect 11 0 8 1; #X connect 12 0 11 0; #X connect 14 0 24 0; #X connect 16 0 25 0; #X connect 23 0 5 0; #X connect 24 0 11 2; #X connect 25 0 24 1;