[PD-cvs] externals/earplug~ earplug~.c, NONE, 1.1 earplug_data.txt, NONE, 1.1 earplug~-help.pd, NONE, 1.1 makefile, NONE, 1.1

Georg Holzmann grholzi at users.sourceforge.net
Thu Jan 25 21:44:37 CET 2007


Update of /cvsroot/pure-data/externals/earplug~
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28377

Added Files:
	earplug~.c earplug_data.txt earplug~-help.pd makefile 
Log Message:
added earplug~ - binaural filters based on KEMAR impulse measurement - written by Pei Xiang


--- NEW FILE: earplug~-help.pd ---
#N canvas 451 156 828 741 10;
#X msg 531 179 \; pd dsp 1;
#X msg 149 561 0 \, 360 5000;
#X obj 152 472 earplug~ 270 -25;
#X floatatom 306 357 5 0 0 0 - - -;
#N canvas 0 22 385 256 (subpatch) 0;
#X floatatom 261 193 0 0 0 0 cpu-meter - -;
#X obj 260 129 cputime;
#X obj 260 33 loadbang;
#X obj 260 80 metro 1000;
#X msg 260 61 1;
#X obj 260 108 t b b;
#X obj 260 170 * 0.1;
#X obj 260 150 int;
#X text 331 203 comment;
#X connect 1 0 7 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X connect 5 1 1 1;
#X connect 6 0 0 0;
#X connect 7 0 6 0;
#X coords 0 1 100 -1 120 20 1;
#X restore 531 31 graph;
#X msg 610 179 \; pd dsp 0;
#X text 24 18 earplug~ - convolution binaural filter;
#X text 23 59 This filter utilizes HRTF measurements (compact set)
of KEMAR Dummy-Head Microphone (http://sound.media.mit.edu/KEMAR.html)
;
#X obj 531 146 soundfiler;
#N canvas 0 22 450 300 (subpatch) 0;
#X array table 4e+06 float 0;
#X coords 0 1 4e+06 -1 100 60 1;
#X restore 534 250 graph;
#X obj 152 413 tabplay~ table;
#X obj 306 399 line 0 1;
#X obj 306 376 pack 0 50;
#X floatatom 307 437 5 0 0 0 - - -;
#X obj 307 479 line 0 1;
#X obj 307 456 pack 0 50;
#X msg 151 618 0 \, 360 5000;
#X obj 151 643 line 0 1;
#X obj 149 586 line 0 50;
#X text 533 215 audio on;
#X obj 150 236 tabplay~ table;
#X obj 150 266 dac~;
#X text 27 99 The impulse response data "earplug_data.txt" must be
in the same path as this external. Must use headphone to hear effective
filter effects. Fitler could be DSP intensive due to convolution.;
#X msg 194 211 stop;
#X text 31 267 original --->;
#X obj 152 499 dac~ 1 2;
#X text 31 499 filtered --->;
#X msg 202 381 stop;
#X msg 152 381 bang;
#X msg 147 211 bang;
#X text 245 617 <---a better circle;
#X text 244 561 <--- circle with noise;
#X text 147 668 avoid zipper noise: uase small line grain;
#X text 351 354 <--- azimuth: 0 - 360 (degrees);
#X text 351 436 <--- elevation: -40 - 90 (degrees);
#X text 145 192 start;
#X text 150 362 start;
#X msg 532 124 read -resize Spring.wav table;
#X obj 532 103 openpanel;
#X obj 532 83 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X text 553 82 <- open a soundfile;
#X obj 306 303 noise~;
#X obj 342 331 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 294 281 for testing:;
#X obj 306 331 *~ 0;
#X connect 1 0 18 0;
#X connect 2 0 25 0;
#X connect 2 1 25 1;
#X connect 3 0 12 0;
#X connect 10 0 2 0;
#X connect 10 1 28 0;
#X connect 11 0 2 1;
#X connect 12 0 11 0;
#X connect 13 0 15 0;
#X connect 14 0 2 2;
#X connect 15 0 14 0;
#X connect 16 0 17 0;
#X connect 17 0 2 1;
#X connect 18 0 2 1;
#X connect 20 0 21 0;
#X connect 20 0 21 1;
#X connect 23 0 20 0;
#X connect 27 0 10 0;
#X connect 28 0 10 0;
#X connect 29 0 20 0;
#X connect 37 0 8 0;
#X connect 38 0 37 0;
#X connect 39 0 38 0;
#X connect 41 0 44 0;
#X connect 42 0 44 1;
#X connect 44 0 2 0;

--- NEW FILE: makefile ---
current:
	echo make pd_linux, pd_nt, pd_irix5, or pd_irix6

clean: ; rm -f *.pd_linux *.o

# ----------------------- NT -----------------------

pd_nt: earplug~.dll

.SUFFIXES: .obj .dll

PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo
VC="D:\Program Files\Microsoft Visual Studio\Vc98"

PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include

PDNTLDIR = $(VC)\lib
PDNTLIB = $(PDNTLDIR)\libc.lib \
	$(PDNTLDIR)\oldnames.lib \
	$(PDNTLDIR)\kernel32.lib \
	..\..\bin\pd.lib 

.c.dll:
	cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
	link /dll /export:$*_setup $*.obj $(PDNTLIB)

# override explicitly for tilde objects like this:
dspobj~.dll: dspobj~.c; 
	cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
	link /dll /export:dspobj_tilde_setup $*.obj $(PDNTLIB)

# ----------------------- IRIX 5.x -----------------------

pd_irix5: earplug~.pd_irix5

.SUFFIXES: .pd_irix5

SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2


SGIINCLUDE =  -I../../src/

.c.pd_irix5:
	cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c
	ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o
	rm $*.o

# ----------------------- LINUX i386 -----------------------

pd_linux: earplug~.pd_linux

.SUFFIXES: .pd_linux

LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \
    -Wall -W -Wshadow -Wstrict-prototypes -Werror \
    -Wno-unused -Wno-parentheses -Wno-switch

LINUXINCLUDE =  -I../../pd/src

.c.pd_linux:
	cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
	ld -export_dynamic  -shared -o $*.pd_linux $*.o -lc -lm
	strip --strip-unneeded $*.pd_linux
	rm $*.o

# ----------------------- Mac OSX -----------------------

pd_darwin: earplug~.pd_darwin

.SUFFIXES: .pd_darwin

DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
    -Wno-unused -Wno-parentheses -Wno-switch

.c.pd_darwin:
	cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
	cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o 
	rm -f $*.o


--- NEW FILE: earplug_data.txt ---
** Impulse Index: 0, Sub Index: 0, File:  H-40e000a.wav **
-0.000244 -0.000244 0.000244 0.000244 -0.000183 -0.000183 0.000427 0.000427 -0.000366 -0.000366 0.000549 0.000549 -0.000824 -0.000824 0.000610 0.000610 -0.000610 -0.000610 0.000305 0.000305 -0.000519 -0.000519 0.000610 0.000610 -0.001190 -0.001190 0.065247 0.065247 0.202118 0.202118 -0.077972 -0.077972 -0.246307 -0.246307 0.005524 0.005524 -0.039581 -0.039581 0.044189 0.044189 0.269470 0.269470 0.240631 0.240631 0.101532 0.101532 0.147186 0.147186 0.315979 0.315979 0.090790 0.090790 -0.149109 -0.149109 -0.108032 -0.108032 -0.195007 -0.195007 -0.226135 -0.226135 -0.013153 -0.013153 -0.066833 -0.066833 -0.204620 -0.204620 -0.117950 -0.117950 -0.038696 -0.038696 -0.021851 -0.021851 -0.013336 -0.013336 0.030579 0.030579 0.048035 0.048035 0.026947 0.026947 0.052216 0.052216 0.093262 0.093262 0.028748 0.028748 0.001404 0.001404 0.016327 0.016327 0.009186 0.009186 -0.009155 -0.009155 -0.034454 -0.034454 -0.031097 -0.031097 -0.035645 -0.035645 -0.040405 -0.040405 -0.020660 -0.020660 -0.021606 -0.021606 -0.030396 -0.030396 -0.006042 -0.006042 0.006989 0.006989 0.002686 0.002686 0.008911 0.008911 0.015564 0.015564 0.020203 0.020203 0.013702 0.013702 -0.002014 -0.002014 -0.001556 -0.001556 -0.013916 -0.013916 -0.015778 -0.015778 0.004150 0.004150 0.007263 0.007263 0.005402 0.005402 0.008545 0.008545 0.005493 0.005493 -0.000305 -0.000305 -0.011261 -0.011261 -0.017181 -0.017181 -0.023804 -0.023804 -0.037628 -0.037628 -0.030640 -0.030640 -0.014526 -0.014526 -0.005341 -0.005341 0.005341 0.005341 0.010651 0.010651 0.014404 0.014404 0.015656 0.015656 0.008911 0.008911 0.008179 0.008179 0.000977 0.000977 -0.009766 -0.009766 -0.016724 -0.016724 -0.019379 -0.019379 -0.014404 -0.014404 -0.006195 -0.006195 -0.000916 -0.000916 0.002289 0.002289 0.001495 0.001495 0.000946 0.000946 0.001587 0.001587 -0.002319 -0.002319 -0.003601 -0.003601 -0.002747 -0.002747 -0.001801 -0.001801 -0.004425 -0.004425 -0.007690 -0.007690 -0.006348 -0.006348 -0.003601 -0.003601 -0.003143 -0.003143 -0.002930 -0.002930 -0.005829 -0.005829 -0.008575 -0.008575 -0.007507 -0.007507 -0.005615 -0.005615 -0.005432 -0.005432 -0.003632 -0.003632 0.000061 0.000061 0.001373 0.001373 0.001770 0.001770 0.002869 0.002869 0.003143 0.003143 0.001740 0.001740 -0.000916 -0.000916 -0.002502 -0.002502 -0.003326 -0.003326 -0.004639 -0.004639 -0.005707 -0.005707 -0.006897 -0.006897 -0.006531 -0.006531 -0.008118 -0.008118 -0.007599 -0.007599 -0.004547 -0.004547 -0.001343 -0.001343 

** Impulse Index: 1, Sub Index: 1, File:  H-40e006a.wav **
0.000000 0.000092 -0.000153 -0.000092 0.000183 0.000366 -0.000061 -0.000214 0.000275 0.000244 0.000000 -0.000305 0.000122 -0.000305 -0.000061 0.000458 -0.000214 -0.001038 0.000336 0.001038 -0.000671 -0.001709 0.000824 0.001160 -0.001007 0.032898 0.000824 0.212555 0.023590 0.021454 0.158264 -0.300110 0.046112 -0.050354 -0.221741 -0.020294 -0.094391 -0.010559 -0.058319 0.263123 -0.034393 0.294708 0.208679 0.143799 0.248871 0.107025 0.155975 0.336395 0.130981 0.187683 0.246002 -0.165985 0.191315 -0.141052 -0.031769 -0.176147 -0.071899 -0.258911 -0.132721 -0.033600 -0.237579 -0.017487 -0.093750 -0.218536 -0.011078 -0.156219 -0.130249 -0.047577 -0.151886 -0.033112 -0.096405 -0.037842 -0.039825 0.014801 -0.015747 0.053040 0.009399 0.039551 0.034363 0.051300 0.023163 0.104370 0.030090 0.056091 0.081024 0.008118 0.063202 0.021210 0.018280 0.007324 0.020355 -0.006714 0.018188 -0.036621 -0.003754 -0.045593 -0.023560 -0.043365 -0.030457 -0.045044 -0.039795 -0.025848 -0.044617 -0.017426 -0.031006 -0.030853 -0.022430 -0.008972 -0.026581 0.013092 -0.017212 0.008301 -0.004913 0.008698 0.004852 0.014740 0.013306 0.018097 0.014038 0.015472 0.008942 -0.004150 0.007935 -0.006378 -0.002594 -0.011200 0.005646 -0.021301 0.020538 -0.000977 0.012482 0.009308 0.011475 0.004944 0.010773 0.006927 -0.000122 0.004089 -0.007935 0.000397 -0.010040 -0.007690 -0.010956 -0.017487 -0.023163 -0.024109 -0.034180 -0.038971 -0.029175 -0.033844 -0.024536 -0.012939 -0.014740 -0.001892 0.000092 0.005463 0.004578 0.011444 0.008118 0.014038 0.015228 0.018951 0.015259 0.013885 0.012665 0.009338 0.002258 0.001404 -0.006226 -0.011749 -0.013763 -0.018097 -0.020630 -0.021881 -0.015778 -0.017670 -0.007629 -0.009369 -0.003479 -0.004120 -0.001282 -0.000519 0.001190 0.000732 0.004395 0.000519 0.003510 0.003082 -0.001434 0.000549 -0.002045 -0.000610 -0.002960 0.000885 -0.002014 0.001709 -0.002411 -0.000702 -0.007568 -0.005249 -0.010956 -0.006378 -0.008759 -0.004456 -0.006531 -0.004486 -0.006256 -0.004700 -0.005249 -0.007477 -0.004120 -0.011169 -0.003540 -0.010437 -0.001556 -0.007721 -0.000854 -0.005920 -0.001587 -0.004669 -0.002014 -0.001282 -0.002197 0.000244 -0.000854 0.000946 0.001434 0.002869 0.001648 0.003784 -0.000732 0.003021 -0.001648 0.001770 -0.002686 0.000061 -0.003571 -0.000977 -0.002808 -0.003906 -0.001312 -0.005737 -0.002625 -0.008392 -0.002197 -0.010132 -0.002533 -0.009857 -0.007019 -0.009247 -0.007660 -0.005768 -0.005981 -0.002869 -0.004456 0.001709 

** Impulse Index: 2, Sub Index: 2, File:  H-40e013a.wav **
-0.000031 0.000031 -0.000061 0.000153 -0.000153 0.000153 0.000122 -0.000244 -0.000092 0.000427 0.000275 -0.001129 -0.000122 0.001404 0.000275 -0.002014 -0.000397 0.002258 0.000122 -0.003326 -0.000122 0.003479 -0.000122 0.009644 0.000183 0.189636 -0.000092 0.134796 -0.000214 -0.306366 0.037659 -0.146332 0.151947 0.009186 -0.005737 -0.055298 -0.198669 0.228790 -0.063232 0.337402 -0.061340 0.201904 0.008972 0.087372 0.200836 0.316376 0.201843 0.292755 0.140381 -0.153839 0.139496 -0.180664 0.234039 -0.155365 0.145325 -0.283691 -0.033081 -0.067657 -0.058411 0.027954 -0.135742 -0.216980 -0.208710 -0.200348 -0.081909 -0.056519 -0.029419 -0.045776 -0.129791 -0.076965 -0.144592 -0.002228 -0.074677 0.082947 -0.018311 0.057892 -0.011963 0.035919 0.007080 0.104218 0.033661 0.090546 0.031891 0.022980 0.044525 0.031616 0.069366 0.005524 0.038635 -0.017548 0.017975 -0.034607 0.027466 -0.046875 0.011841 -0.056427 -0.015656 -0.060303 -0.028870 -0.033447 -0.033478 -0.015106 -0.038971 -0.028625 -0.039551 -0.010712 -0.029266 0.019135 -0.022644 0.014526 -0.020813 0.010498 -0.012024 0.015045 -0.000946 0.019379 0.009216 0.020203 0.012878 -0.000092 0.009125 -0.011749 0.009430 -0.010101 0.009888 -0.023346 0.002228 -0.009949 0.015381 0.009399 0.020355 0.003082 0.011963 0.002808 0.011658 0.001709 0.003448 -0.000610 -0.007416 -0.003326 -0.012604 -0.014740 -0.013428 -0.021820 -0.015076 -0.037964 -0.026825 -0.038574 -0.031799 -0.014923 -0.025024 0.001434 -0.019684 0.008820 -0.007721 0.013855 0.002563 0.015015 0.005310 0.017731 0.009247 0.015991 0.010437 0.012512 0.009674 0.005188 0.007019 -0.010803 -0.001312 -0.019745 -0.007141 -0.024933 -0.014679 -0.022675 -0.018036 -0.011169 -0.011383 -0.004364 -0.004761 -0.003479 -0.001953 -0.000732 0.000122 0.000702 0.002686 0.004944 0.004425 0.004333 0.000336 0.000977 -0.002747 0.002441 -0.003540 0.004425 -0.005615 0.003723 -0.004028 -0.001190 -0.005737 -0.005280 -0.010040 -0.004639 -0.010559 -0.003937 -0.007111 -0.004791 -0.005707 -0.008362 -0.005219 -0.013458 -0.004028 -0.013184 -0.004272 -0.010712 -0.002930 -0.007019 0.000092 -0.004669 -0.000214 -0.001556 -0.001556 0.000519 -0.001343 0.000671 -0.000519 0.002228 0.000519 0.004120 0.001465 0.004333 0.000031 0.003174 -0.002319 0.001465 -0.003632 0.001099 -0.005310 -0.001556 -0.005341 -0.004944 -0.002960 -0.007446 -0.001648 -0.011353 -0.002167 -0.012238 -0.001343 -0.010742 -0.003082 -0.006989 -0.005646 -0.003052 -0.004883 0.000183 -0.004333 0.004700 

** Impulse Index: 3, Sub Index: 3, File:  H-40e019a.wav **
-0.000031 0.000031 0.000000 0.000427 -0.000061 -0.000580 -0.000122 0.000885 0.000122 -0.001587 -0.000061 0.001740 0.000305 -0.002197 -0.000153 0.002350 0.000275 -0.003357 -0.000305 0.003723 0.000092 0.000946 -0.000092 0.164398 -0.000031 0.209778 0.000244 -0.282074 0.000031 -0.240845 -0.000092 0.014435 0.034973 -0.064850 0.133087 0.200348 -0.004639 0.361481 -0.169830 0.250183 -0.059296 0.105927 -0.046326 0.290375 0.016968 0.343170 0.157501 -0.107605 0.172516 -0.203461 0.138367 -0.186981 0.131653 -0.284180 0.206940 -0.068146 0.133270 0.031311 -0.012024 -0.217255 -0.047760 -0.222168 -0.120941 -0.079773 -0.185394 -0.077576 -0.082123 -0.104218 -0.033325 -0.004150 -0.124512 0.121460 -0.134064 0.081390 -0.061401 0.025940 -0.010498 0.098053 -0.012146 0.117889 0.003723 0.043610 0.034271 0.031036 0.041718 0.006927 0.050507 -0.023468 0.057892 -0.047424 0.032379 -0.050812 0.020355 -0.058136 0.021667 -0.073334 0.000549 -0.046600 -0.024628 -0.017700 -0.034332 -0.028839 -0.031830 -0.011475 -0.032928 0.025116 -0.038757 0.019928 -0.029419 0.011688 -0.016296 0.019165 -0.013641 0.025421 -0.007935 0.025391 0.002075 0.006927 0.011383 -0.011017 0.013885 -0.012390 0.011414 -0.027252 0.013824 -0.021790 0.011353 0.002808 0.005737 0.002716 0.015656 -0.000153 0.013275 0.001099 0.008698 -0.002289 0.008118 -0.004211 -0.000702 -0.012115 -0.010681 -0.018860 -0.016388 -0.036194 -0.015320 -0.040405 -0.020172 -0.017731 -0.031769 0.003662 -0.031006 0.014465 -0.020264 0.018158 -0.012024 0.015778 0.000122 0.014526 0.007172 0.014404 0.008636 0.013275 0.009918 0.008240 0.007355 -0.008911 0.005768 -0.019928 0.002106 -0.025696 -0.004486 -0.025513 -0.010223 -0.015411 -0.017700 -0.006714 -0.016724 -0.005280 -0.008179 -0.001831 -0.002167 0.002075 -0.000610 0.007599 0.000061 0.008789 0.002441 0.003662 0.002594 0.002991 -0.001007 0.004944 -0.002777 0.005554 -0.004517 0.002686 -0.006256 -0.002167 -0.005066 -0.004395 -0.006622 -0.004608 -0.009644 -0.004578 -0.008850 -0.007965 -0.005798 -0.015198 -0.005615 -0.015259 -0.005280 -0.013641 -0.004120 -0.010010 -0.003906 -0.005096 -0.001526 0.000244 0.000458 0.002594 -0.000580 0.000885 -0.001526 0.001678 -0.000427 0.003296 0.000763 0.004028 0.001221 0.003845 0.000305 0.002563 -0.001831 0.001709 -0.003113 -0.000092 -0.004944 -0.003845 -0.006714 -0.006256 -0.005829 -0.011139 -0.003174 -0.014282 -0.002411 -0.011932 -0.001129 -0.007629 0.000488 -0.003326 -0.001129 0.000031 -0.002808 0.003784 -0.003754 0.006348 

** Impulse Index: 4, Sub Index: 4, File:  H-40e026a.wav **
-0.000092 0.000641 0.000000 -0.000671 0.000000 0.000885 -0.000092 -0.001190 -0.000061 0.001007 0.000122 -0.000946 -0.000031 0.000610 0.000275 -0.000946 -0.000122 0.000702 0.000275 -0.002167 -0.000366 0.089386 0.000366 0.282532 -0.000366 -0.125336 0.000458 -0.375671 -0.000244 -0.026459 0.000580 -0.050385 -0.000061 0.109283 0.044617 0.361115 0.119080 0.305634 -0.034515 0.152344 -0.145721 0.199829 -0.042053 0.418640 -0.033112 0.046539 0.030273 -0.234741 0.133087 -0.199829 0.157013 -0.303802 0.128021 -0.113495 0.130096 0.058319 0.186981 -0.184448 0.106171 -0.266785 -0.006256 -0.118347 -0.045990 -0.094421 -0.125793 -0.116943 -0.165375 -0.023224 -0.057678 0.118927 -0.041565 0.107574 -0.129761 0.042999 -0.115295 0.088440 -0.039978 0.126038 -0.006042 0.062714 -0.011322 0.035767 0.009003 0.008545 0.035828 -0.017639 0.045471 -0.043884 0.052124 -0.065094 0.051880 -0.063599 0.026428 -0.071869 0.014374 -0.054779 0.011200 -0.025665 -0.008759 -0.032562 -0.029999 -0.021210 -0.032715 0.021149 -0.027252 0.023315 -0.033875 0.015900 -0.038208 0.024231 -0.021454 0.029816 -0.009796 0.028625 -0.009918 0.017975 -0.004211 -0.004761 0.006409 -0.014252 0.014984 -0.025848 0.017517 -0.034546 0.017365 -0.011871 0.014069 0.000977 0.004425 -0.000916 0.004486 0.003326 0.011993 0.000061 0.006897 -0.003265 0.005035 -0.010468 0.002747 -0.014771 -0.004150 -0.029510 -0.012695 -0.041901 -0.017517 -0.024597 -0.019409 -0.002136 -0.027344 0.013489 -0.033142 0.020081 -0.024963 0.018005 -0.012756 0.013702 -0.003021 0.011780 0.007751 0.010681 0.011475 0.010864 0.011719 -0.001709 0.010010 -0.015778 0.005585 -0.024567 0.000916 -0.027557 -0.005096 -0.019440 -0.009888 -0.008240 -0.014587 -0.005585 -0.019104 -0.004883 -0.014862 -0.000061 -0.005249 0.006134 0.000732 0.011261 0.000244 0.007904 -0.000854 0.004272 0.001282 0.004211 0.001678 0.005127 -0.001068 0.005005 -0.003418 0.002136 -0.005219 -0.001892 -0.005402 -0.003937 -0.004578 -0.004730 -0.006531 -0.007233 -0.008148 -0.014893 -0.006622 -0.017181 -0.005676 -0.015076 -0.007019 -0.012634 -0.005615 -0.007080 -0.003937 -0.000702 -0.002838 0.004059 -0.000854 0.003265 -0.000336 0.001923 -0.000671 0.001801 -0.000366 0.001770 0.000244 0.003357 0.000702 0.003143 0.000397 0.001160 -0.001282 0.000824 -0.003021 -0.002258 -0.004547 -0.004486 -0.005920 -0.008301 -0.006958 -0.013580 -0.005035 -0.014282 -0.002411 -0.009979 -0.000641 -0.004913 0.001862 -0.000763 0.001495 0.003174 -0.001160 0.005676 -0.003387 0.004852 

** Impulse Index: 5, Sub Index: 5, File:  H-40e032a.wav **
0.000000 -0.000275 -0.000031 0.000275 0.000000 -0.000519 0.000000 -0.000183 -0.000031 0.000488 -0.000031 -0.001282 0.000092 0.001282 0.000000 -0.002441 0.000244 0.001038 -0.000122 0.043060 0.000275 0.285522 -0.000244 0.026703 0.000336 -0.431335 -0.000275 -0.123688 0.000458 -0.015808 -0.000183 0.057373 0.000610 0.348907 -0.000183 0.334106 0.039276 0.163879 0.103546 0.169464 -0.027252 0.477295 -0.125183 0.160980 -0.032623 -0.235657 -0.022614 -0.225586 0.013153 -0.334534 0.108093 -0.136078 0.145203 0.070435 0.118469 -0.151337 0.118500 -0.302094 0.163086 -0.178345 0.101501 -0.103821 0.007874 -0.090759 -0.040314 -0.029327 -0.117615 0.087311 -0.142120 0.114410 -0.047119 0.071228 -0.046295 0.105255 -0.120178 0.131439 -0.096680 0.065979 -0.027252 0.033356 -0.003204 0.006134 -0.012085 -0.014282 0.009460 -0.036102 0.037140 -0.076111 0.044525 -0.081879 0.041595 -0.071991 0.041077 -0.052460 0.027039 -0.030701 0.012787 -0.032227 0.002716 -0.028412 -0.014160 0.016296 -0.025421 0.024750 -0.024933 0.022156 -0.026062 0.026306 -0.034760 0.029602 -0.032440 0.032501 -0.014130 0.025238 -0.007324 0.001831 -0.010406 -0.015472 -0.004150 -0.025909 0.012268 -0.042419 0.022522 -0.026672 0.019257 -0.001617 0.015320 -0.000488 0.008942 0.002380 0.001007 0.004303 0.001617 0.000183 0.003265 -0.008148 0.001251 -0.013794 0.000580 -0.024323 -0.003448 -0.039703 -0.008148 -0.027557 -0.014435 -0.007111 -0.016571 0.009155 -0.019318 0.015778 -0.025940 0.016754 -0.026917 0.014374 -0.018219 0.010803 -0.006592 0.009552 0.003113 0.011688 0.011017 0.004639 0.013428 -0.009857 0.012177 -0.022766 0.006561 -0.029877 0.000824 -0.023010 -0.003693 -0.011078 -0.009430 -0.004974 -0.014893 -0.004272 -0.018494 -0.000641 -0.018005 0.003723 -0.010620 0.009644 -0.001587 0.009216 0.001312 0.004730 -0.002045 0.004211 -0.002045 0.005463 0.001129 0.005157 0.001129 0.005310 -0.001282 0.002441 -0.003326 -0.001526 -0.004730 -0.003510 -0.005249 -0.006653 -0.004547 -0.014771 -0.005310 -0.019226 -0.006134 -0.017761 -0.005585 -0.014771 -0.006500 -0.007233 -0.007782 -0.001343 -0.005280 0.004150 -0.003052 0.004791 -0.002228 0.002625 -0.001648 0.001556 -0.000824 0.000427 0.000092 0.001373 -0.000732 0.001373 -0.001099 -0.000183 -0.000275 0.000610 -0.000580 -0.000397 -0.002625 -0.002899 -0.004059 -0.006256 -0.005524 -0.011292 -0.007080 -0.014374 -0.005920 -0.012390 -0.001740 -0.006348 0.000397 -0.002167 0.001343 0.001617 0.002441 0.004364 0.000488 0.004700 -0.002258 0.004395 

** Impulse Index: 6, Sub Index: 6, File:  H-40e039a.wav **
[...1064 lines suppressed...]
** Impulse Index: 361, Sub Index: 1, File:  H80e030a.wav  **
-0.000183 0.000244 0.000549 0.000153 -0.000183 -0.000153 0.000519 -0.000183 -0.000610 0.000580 0.000702 -0.001251 -0.000702 0.002289 0.000732 -0.003113 -0.000153 0.004578 0.000122 -0.000732 0.000366 0.092072 0.012878 0.157684 0.089417 0.203918 0.121918 -0.109711 0.106995 -0.435272 -0.240875 0.067902 -0.312958 0.329712 0.194580 0.145599 0.316498 0.103210 0.144348 0.166565 0.077362 0.121063 0.126068 0.046265 0.100098 -0.001068 0.067566 -0.176971 -0.000305 -0.208405 -0.148132 -0.143066 -0.167236 -0.116821 -0.119537 -0.132751 -0.091766 -0.091522 -0.116028 -0.011505 -0.076660 0.005524 -0.018127 0.045349 -0.005371 0.061401 0.020569 0.078796 0.049500 0.055817 0.066223 0.030151 0.041473 0.036682 0.039246 0.031067 0.035187 -0.009674 0.028992 -0.028290 0.002655 -0.002777 -0.015533 -0.002655 -0.004639 -0.003235 -0.000458 -0.014496 -0.006317 -0.041656 -0.027679 -0.065582 -0.046631 -0.057373 -0.057983 -0.041168 -0.045410 -0.022797 -0.028320 0.000061 -0.010864 0.020050 0.002838 0.033539 0.013824 0.027832 0.022125 0.024628 0.021790 0.031555 0.025360 0.019348 0.031647 -0.004730 0.016907 -0.015869 -0.005157 -0.016449 -0.018372 -0.007294 -0.021301 0.000916 -0.014221 -0.016479 -0.010254 -0.035614 -0.016571 -0.023743 -0.024078 -0.014374 -0.018982 -0.014252 -0.006714 -0.004669 -0.004486 0.001282 -0.003815 -0.000458 0.003143 0.000275 0.003540 -0.003784 -0.000549 -0.014618 -0.002991 -0.024658 -0.007263 -0.023560 -0.018707 -0.010193 -0.026306 -0.001831 -0.018890 -0.010345 -0.006683 -0.015808 -0.010712 -0.003967 -0.019623 0.005005 -0.015900 0.005249 -0.004028 0.004456 0.004547 0.002075 0.004852 -0.004761 0.000580 -0.007172 -0.003693 -0.003296 -0.003052 -0.002167 0.000061 -0.001343 0.001190 -0.001801 -0.001953 -0.007202 -0.004089 -0.010803 -0.005096 -0.010773 -0.007233 -0.007965 -0.008698 -0.003540 -0.010223 -0.002411 -0.009003 -0.003052 -0.004150 -0.006622 -0.003021 -0.011017 -0.006348 -0.007507 -0.009949 -0.001465 -0.007904 0.000977 -0.002197 -0.000519 0.001648 -0.003265 0.000732 -0.003601 -0.002472 -0.001312 -0.002533 0.002136 0.000214 0.005310 0.002930 0.003784 0.004150 -0.002075 0.003235 -0.006073 -0.000763 -0.006348 -0.004272 -0.004486 -0.005859 -0.002075 -0.005280 -0.002625 -0.003510 -0.005920 -0.003693 -0.007965 -0.005646 -0.007477 -0.006561 -0.005859 -0.005859 -0.004730 -0.003235 -0.002197 -0.000214 -0.000946 0.000488 0.000427 -0.000153 0.002411 -0.000671 0.003876 -0.001678 0.002228 -0.002350 -0.001404 -0.000824 -0.002136 0.000549 -0.001923 

** Impulse Index: 362, Sub Index: 2, File:  H80e060a.wav  **
-0.000244 -0.000275 -0.000092 0.000732 0.000397 -0.001465 -0.000305 0.001740 0.000488 -0.002441 -0.000824 0.002960 0.000977 -0.003357 -0.001404 0.004181 0.001709 -0.005188 -0.001923 0.045471 0.002380 0.153046 -0.002594 0.221283 0.028900 0.109222 0.091766 -0.407928 0.117310 -0.226929 0.028229 0.310669 -0.325134 0.221191 -0.193848 0.103912 0.272614 0.155579 0.284515 0.159882 0.119476 0.056458 0.077118 0.028351 0.116821 -0.109955 0.083557 -0.233765 0.071106 -0.168793 -0.020142 -0.125488 -0.142822 -0.134705 -0.141571 -0.122009 -0.098694 -0.033722 -0.088196 -0.001160 -0.109467 0.031738 -0.061249 0.053558 -0.022705 0.072174 -0.007660 0.081696 0.014984 0.037537 0.049286 0.036652 0.057983 0.042847 0.035187 0.011505 0.043121 -0.034668 0.037811 -0.017120 0.024506 -0.004425 -0.001312 -0.006348 -0.010010 -0.001923 -0.007019 -0.028961 -0.002167 -0.066681 -0.011292 -0.070007 -0.033844 -0.051331 -0.048645 -0.030823 -0.054657 -0.000946 -0.040985 0.020050 -0.022766 0.031342 -0.000275 0.025757 0.009888 0.018646 0.016083 0.027191 0.020050 0.026184 0.015228 0.006165 0.020538 -0.009827 0.024384 -0.015259 0.010101 -0.006531 -0.008728 0.002869 -0.019226 -0.008911 -0.017090 -0.034637 -0.010406 -0.033691 -0.011902 -0.019745 -0.023163 -0.018524 -0.024628 -0.011505 -0.014496 -0.000061 -0.003906 0.002472 -0.001740 0.000458 -0.000458 -0.001587 0.005096 -0.011749 0.003174 -0.022156 0.000519 -0.021240 -0.000183 -0.011810 -0.005981 -0.006958 -0.019623 -0.008759 -0.028473 -0.009125 -0.020020 -0.003601 -0.009613 0.001556 -0.014740 0.005432 -0.022125 0.004242 -0.018036 0.001221 -0.005890 -0.000183 0.004700 -0.003815 0.006897 -0.006287 0.000366 -0.005981 -0.003418 -0.003937 -0.000885 -0.001526 0.002014 -0.005188 0.001373 -0.011658 -0.002350 -0.011871 -0.004852 -0.007507 -0.006866 -0.000763 -0.007385 0.000732 -0.007935 -0.001892 -0.010742 -0.007477 -0.010590 -0.012634 -0.005463 -0.010010 -0.002594 -0.002838 -0.005646 0.001953 -0.008514 0.001099 -0.006561 -0.004059 -0.002594 -0.006897 0.000366 -0.003052 -0.000336 0.002808 -0.001831 0.005371 -0.001404 0.004364 0.000427 -0.000366 0.002197 -0.006653 0.002899 -0.009277 0.001831 -0.007233 -0.001312 -0.002869 -0.003998 -0.000031 -0.005890 -0.002625 -0.005219 -0.010468 -0.003632 -0.014862 -0.003906 -0.011383 -0.005280 -0.001038 -0.005524 0.009705 -0.004944 0.010071 -0.002960 0.000610 -0.000824 -0.007904 -0.000641 -0.006653 -0.000977 -0.000366 -0.000702 0.004669 -0.000763 0.003693 -0.002045 -0.003784 -0.001831 -0.010223 

** Impulse Index: 363, Sub Index: 3, File:  H80e090a.wav  **
-0.000153 -0.000153 -0.000214 0.000458 0.000336 -0.001221 -0.000122 0.001556 0.000305 -0.002411 -0.000427 0.003174 0.000366 -0.004211 -0.000458 0.005402 0.000122 -0.006348 0.000183 0.065430 -0.000397 0.170288 0.000885 0.237396 0.007843 0.025574 0.073181 -0.454559 0.105774 -0.112671 0.084259 0.332245 -0.217590 0.185242 -0.316040 0.107849 0.146271 0.164825 0.324493 0.140045 0.167450 0.048279 0.071960 0.017975 0.105560 -0.142700 0.098053 -0.225830 0.077026 -0.151978 0.032806 -0.124084 -0.101532 -0.138641 -0.139099 -0.113678 -0.105591 -0.023560 -0.081146 0.000397 -0.106445 0.025635 -0.086121 0.049866 -0.034515 0.078644 -0.020477 0.072662 0.000458 0.038788 0.034698 0.048370 0.061798 0.044830 0.037140 0.003296 0.038940 -0.030579 0.048218 -0.012726 0.029785 -0.013000 0.003632 -0.004883 -0.007874 -0.002686 -0.006378 -0.043030 -0.007172 -0.076599 -0.005859 -0.068695 -0.025269 -0.046021 -0.046753 -0.020569 -0.056702 0.006714 -0.042969 0.026917 -0.018402 0.027679 -0.005280 0.015961 0.002014 0.019348 0.016266 0.027527 0.019318 0.020050 0.012543 0.001312 0.016785 -0.010254 0.019501 -0.011505 0.007965 -0.000793 -0.004608 0.004181 -0.011780 -0.013275 -0.011841 -0.035675 -0.010895 -0.031616 -0.013428 -0.022034 -0.018158 -0.021149 -0.023590 -0.011566 -0.020142 0.001038 -0.008942 0.003601 -0.001434 0.001923 -0.000122 -0.003510 0.004669 -0.014923 0.005829 -0.021301 0.003235 -0.014984 0.000427 -0.008148 -0.002533 -0.011230 -0.011627 -0.010681 -0.025391 -0.002960 -0.027313 0.000244 -0.016144 -0.001129 -0.012756 0.001892 -0.020355 0.004669 -0.022125 0.005981 -0.012024 -0.001099 0.001617 -0.007751 0.007355 -0.009491 0.003693 -0.006165 -0.000580 0.001099 0.000671 -0.001831 0.002899 -0.010956 0.002686 -0.013092 -0.001556 -0.007965 -0.005920 -0.002686 -0.007751 -0.000885 -0.008087 -0.001099 -0.008698 -0.003662 -0.010498 -0.008820 -0.010315 -0.011017 -0.005524 -0.007233 -0.002838 -0.001251 -0.004944 0.000763 -0.007874 -0.001099 -0.006927 -0.005768 -0.003357 -0.006348 -0.000641 -0.001617 -0.000549 0.003235 -0.001678 0.005310 -0.000702 0.002899 0.000061 -0.003174 0.000671 -0.008423 0.001587 -0.009949 0.001587 -0.005585 -0.000854 0.000519 -0.003723 0.000427 -0.005371 -0.007996 -0.005402 -0.014587 -0.004150 -0.011902 -0.003082 -0.002930 -0.003204 0.008057 -0.003540 0.009583 -0.003815 -0.000366 -0.002960 -0.009125 -0.001099 -0.006989 -0.001160 0.000061 -0.001862 0.005005 -0.001648 0.002563 -0.001404 -0.003937 -0.002380 -0.008881 -0.002991 -0.009918 

** Impulse Index: 364, Sub Index: 4, File:  H80e120a.wav  **
-0.000153 -0.000183 -0.000092 0.000671 0.000458 -0.001251 -0.000214 0.001404 0.000458 -0.001892 -0.000641 0.002136 0.000763 -0.002350 -0.000977 0.002655 0.000977 -0.003418 -0.000977 0.030609 0.001160 0.140320 -0.001068 0.209137 0.016418 0.114044 0.083893 -0.357697 0.114807 -0.253296 0.051056 0.283752 -0.283173 0.243378 -0.249023 0.098846 0.229279 0.137390 0.303284 0.159424 0.125977 0.074799 0.069855 0.037720 0.116577 -0.082153 0.097046 -0.213715 0.078644 -0.161621 0.007690 -0.115204 -0.121490 -0.134064 -0.132599 -0.132721 -0.092346 -0.047302 -0.088470 -0.011658 -0.114685 0.003906 -0.076660 0.036163 -0.035797 0.069885 -0.024139 0.077972 0.002563 0.042816 0.045807 0.051056 0.065643 0.053436 0.037994 0.021667 0.042328 -0.023041 0.047394 -0.015533 0.028625 -0.008759 -0.003601 -0.011902 -0.010468 -0.003571 -0.006836 -0.034119 -0.006622 -0.073212 -0.006775 -0.070007 -0.032318 -0.044556 -0.056305 -0.024963 -0.053864 -0.004395 -0.027374 0.022003 -0.014252 0.027374 -0.011444 0.015961 0.007050 0.020081 0.018982 0.024139 0.011383 0.017456 0.011078 0.001343 0.019897 -0.007263 0.017212 -0.009094 0.001343 -0.001251 -0.004608 0.005615 -0.003906 -0.005798 -0.010315 -0.027100 -0.015869 -0.030670 -0.011353 -0.023834 -0.014587 -0.024414 -0.026398 -0.015839 -0.021942 -0.001862 -0.007080 0.004242 -0.002136 0.002563 0.000214 -0.001770 0.003479 -0.010468 0.003876 -0.018524 0.004791 -0.016113 0.002533 -0.008209 -0.003998 -0.009521 -0.016083 -0.013245 -0.024902 -0.007019 -0.022339 -0.000031 -0.014465 -0.000885 -0.015656 0.000946 -0.021973 0.004395 -0.019653 0.005035 -0.006165 0.000641 0.004059 -0.006104 0.003357 -0.008942 0.002075 -0.005768 0.003113 -0.000854 0.002808 -0.001495 0.002411 -0.008087 0.001099 -0.011932 -0.003265 -0.009399 -0.006714 -0.005310 -0.007416 -0.000793 -0.008545 -0.000458 -0.011871 -0.002289 -0.011902 -0.006317 -0.007172 -0.010284 -0.003235 -0.008881 -0.003418 -0.003265 -0.005829 0.000305 -0.006775 -0.000488 -0.004913 -0.004028 -0.002411 -0.006531 -0.000885 -0.003571 -0.001831 0.001190 -0.002167 0.003937 -0.001007 0.003693 -0.000153 -0.000244 0.000427 -0.005737 0.000916 -0.008636 0.000092 -0.006470 -0.002472 -0.001862 -0.004089 0.000763 -0.004852 -0.001526 -0.004303 -0.007935 -0.002991 -0.011475 -0.002289 -0.008270 -0.002594 -0.001495 -0.003052 0.004150 -0.002838 0.004700 -0.001770 -0.001312 -0.001160 -0.006256 -0.001465 -0.004852 -0.001740 0.000397 -0.002136 0.004028 -0.002991 0.002808 -0.003235 -0.002960 -0.002136 -0.007172 

** Impulse Index: 365, Sub Index: 5, File:  H80e150a.wav  **
-0.000275 0.000397 0.000366 -0.000183 0.000031 0.000366 0.000153 -0.000763 -0.000153 0.001068 -0.000092 -0.001740 0.000336 0.002472 -0.000641 -0.003296 0.001190 0.004486 -0.001770 -0.004822 0.002808 0.060272 0.000397 0.145905 0.066315 0.184174 0.117432 -0.048096 0.114136 -0.397766 -0.160339 -0.024384 -0.348480 0.333374 0.095154 0.174255 0.337006 0.081207 0.163605 0.141205 0.064392 0.140045 0.113770 0.069397 0.119781 0.026917 0.080902 -0.120575 0.039490 -0.193176 -0.100159 -0.127472 -0.152069 -0.103516 -0.105499 -0.140228 -0.085968 -0.113007 -0.120758 -0.031128 -0.101715 -0.024048 -0.037903 -0.000427 -0.034637 0.040680 -0.013672 0.076508 0.036652 0.061066 0.072021 0.044220 0.051758 0.057495 0.045837 0.047089 0.052094 0.009766 0.034149 -0.021545 0.006866 -0.009338 -0.009735 -0.008636 -0.011230 -0.006500 -0.010406 -0.018158 -0.001801 -0.052399 -0.024872 -0.070679 -0.055450 -0.051727 -0.058258 -0.026642 -0.032715 -0.020660 -0.018433 -0.003632 -0.017365 0.020172 0.002625 0.018402 0.015656 0.017548 0.008148 0.023560 0.010345 0.020660 0.020721 0.008789 0.020538 -0.003052 0.009644 -0.006348 0.000854 -0.005371 -0.004242 -0.001495 -0.009491 0.001831 -0.013245 -0.007385 -0.008331 -0.027832 -0.009125 -0.026611 -0.025391 -0.021576 -0.027435 -0.021729 -0.013123 -0.012238 -0.006195 -0.000031 -0.005127 0.005493 0.000763 0.001740 0.005280 -0.003540 0.003052 -0.009857 0.000336 -0.017395 -0.000580 -0.016876 -0.011353 -0.008423 -0.024078 -0.008270 -0.019653 -0.015625 -0.009949 -0.010284 -0.015198 -0.001038 -0.022095 -0.000916 -0.015686 -0.000244 -0.003418 0.005646 0.000427 0.006561 0.001251 -0.003021 0.003937 -0.008301 0.001556 -0.007324 0.000366 -0.004181 0.001038 -0.000214 -0.000610 -0.001312 -0.003937 -0.008301 -0.003418 -0.011688 -0.003510 -0.007874 -0.009186 -0.003845 -0.013397 -0.003998 -0.011017 -0.003967 -0.005859 -0.003082 -0.003235 -0.005615 -0.003143 -0.009583 -0.005127 -0.007660 -0.007599 -0.002441 -0.006531 -0.000519 -0.003357 -0.001068 -0.000610 -0.003601 -0.000702 -0.005280 -0.002441 -0.003174 -0.002655 0.001190 -0.001984 0.003052 0.000397 0.001007 0.001862 -0.002136 0.000397 -0.005157 -0.002380 -0.006866 -0.004181 -0.004547 -0.004883 -0.000732 -0.004486 0.000122 -0.002838 -0.003204 -0.001709 -0.006348 -0.002350 -0.005707 -0.002991 -0.002838 -0.003174 -0.000946 -0.002014 -0.001343 -0.000580 -0.003723 -0.000458 -0.007050 -0.000946 -0.005188 -0.001984 -0.000183 -0.003723 0.002167 -0.004364 0.001740 -0.002350 0.000244 -0.000214 -0.001312 

** Impulse Index: 366, Sub Index: 6, File:  H80e180a.wav  **
0.000244 0.000244 0.000153 0.000153 0.000092 0.000092 0.000061 0.000061 -0.000397 -0.000397 0.000702 0.000702 -0.001190 -0.001190 0.001892 0.001892 -0.002594 -0.002594 0.003784 0.003784 -0.002655 -0.002655 0.063690 0.063690 0.130890 0.130890 0.145782 0.145782 -0.112488 -0.112488 -0.371216 -0.371216 0.049347 0.049347 0.338654 0.338654 0.163727 0.163727 0.068787 0.068787 0.126923 0.126923 0.131622 0.131622 0.076813 0.076813 0.033356 0.033356 -0.110413 -0.110413 -0.171906 -0.171906 -0.113831 -0.113831 -0.094055 -0.094055 -0.131836 -0.131836 -0.107758 -0.107758 -0.034821 -0.034821 -0.030792 -0.030792 -0.012054 -0.012054 0.037872 0.037872 0.075867 0.075867 0.055420 0.055420 0.047943 0.047943 0.057220 0.057220 0.040405 0.040405 0.006714 0.006714 -0.014435 -0.014435 -0.009399 -0.009399 -0.010742 -0.010742 -0.003326 -0.003326 -0.024048 -0.024048 -0.057068 -0.057068 -0.063202 -0.063202 -0.038055 -0.038055 -0.019989 -0.019989 -0.019562 -0.019562 -0.001709 -0.001709 0.014252 0.014252 0.010803 0.010803 0.015015 0.015015 0.023407 0.023407 0.020325 0.020325 0.009003 0.009003 0.001007 0.001007 -0.003845 -0.003845 -0.008545 -0.008545 -0.010132 -0.010132 -0.001587 -0.001587 -0.005341 -0.005341 -0.027557 -0.027557 -0.027100 -0.027100 -0.017120 -0.017120 -0.015167 -0.015167 -0.009521 -0.009521 0.000366 0.000366 0.005554 0.005554 0.002686 0.002686 -0.001953 -0.001953 -0.006409 -0.006409 -0.014709 -0.014709 -0.018707 -0.018707 -0.012360 -0.012360 -0.009735 -0.009735 -0.017029 -0.017029 -0.015869 -0.015869 -0.005768 -0.005768 -0.001404 -0.001404 -0.001373 -0.001373 0.002502 0.002502 0.004822 0.004822 -0.000244 -0.000244 -0.003571 -0.003571 -0.003265 -0.003265 -0.004303 -0.004303 -0.004211 -0.004211 -0.002563 -0.002563 -0.004272 -0.004272 -0.008301 -0.008301 -0.009155 -0.009155 -0.006714 -0.006714 -0.006195 -0.006195 -0.004944 -0.004944 -0.004150 -0.004150 -0.005341 -0.005341 -0.008362 -0.008362 -0.008057 -0.008057 -0.002777 -0.002777 -0.000153 -0.000153 -0.000214 -0.000214 -0.002289 -0.002289 -0.003754 -0.003754 -0.002960 -0.002960 -0.000366 -0.000366 0.002106 0.002106 0.000732 0.000732 -0.002258 -0.002258 -0.004791 -0.004791 -0.006287 -0.006287 -0.004639 -0.004639 -0.001648 -0.001648 -0.000305 -0.000305 -0.002289 -0.002289 -0.004242 -0.004242 -0.004303 -0.004303 -0.002197 -0.002197 -0.000153 -0.000153 -0.000488 -0.000488 -0.001251 -0.001251 -0.003052 -0.003052 -0.004974 -0.004974 -0.005249 -0.005249 -0.003906 -0.003906 -0.002319 -0.002319 -0.001160 -0.001160 

** Impulse Index: 367, Sub Index: 0, File:  H90e000a.wav  **
0.000153 0.000153 -0.000488 -0.000488 0.000793 0.000793 -0.001251 -0.001251 0.001923 0.001923 -0.002472 -0.002472 0.003632 0.003632 -0.002228 -0.002228 0.061646 0.061646 0.133606 0.133606 0.178894 0.178894 -0.027557 -0.027557 -0.349518 -0.349518 -0.036194 -0.036194 0.277100 0.277100 0.146484 0.146484 0.078644 0.078644 0.147003 0.147003 0.133392 0.133392 0.065430 0.065430 0.017548 0.017548 -0.110901 -0.110901 -0.170685 -0.170685 -0.120361 -0.120361 -0.097382 -0.097382 -0.125153 -0.125153 -0.099854 -0.099854 -0.034515 -0.034515 -0.014709 -0.014709 0.015686 0.015686 0.038727 0.038727 0.066284 0.066284 0.059692 0.059692 0.035004 0.035004 0.038330 0.038330 0.030212 0.030212 -0.006775 -0.006775 -0.023804 -0.023804 0.004089 0.004089 0.014038 0.014038 0.007843 0.007843 -0.014679 -0.014679 -0.048431 -0.048431 -0.069397 -0.069397 -0.058167 -0.058167 -0.033569 -0.033569 -0.013184 -0.013184 -0.000061 -0.000061 0.010834 0.010834 0.016693 0.016693 0.012787 0.012787 0.019867 0.019867 0.028412 0.028412 0.020691 0.020691 0.004425 0.004425 -0.008667 -0.008667 -0.011414 -0.011414 -0.010590 -0.010590 -0.002991 -0.002991 -0.004303 -0.004303 -0.024902 -0.024902 -0.034424 -0.034424 -0.021057 -0.021057 -0.010925 -0.010925 -0.008301 -0.008301 0.003204 0.003204 0.002289 0.002289 -0.003815 -0.003815 -0.003662 -0.003662 -0.002930 -0.002930 -0.008392 -0.008392 -0.018066 -0.018066 -0.018524 -0.018524 -0.011017 -0.011017 -0.011108 -0.011108 -0.019745 -0.019745 -0.017181 -0.017181 -0.002350 -0.002350 0.005798 0.005798 0.002808 0.002808 0.001282 0.001282 0.000000 0.000000 -0.003754 -0.003754 -0.006775 -0.006775 -0.005188 -0.005188 -0.001678 -0.001678 0.001801 0.001801 0.001617 0.001617 -0.005951 -0.005951 -0.013824 -0.013824 -0.011810 -0.011810 -0.003662 -0.003662 0.000702 0.000702 -0.003265 -0.003265 -0.013428 -0.013428 -0.018524 -0.018524 -0.012939 -0.012939 -0.002258 -0.002258 0.004150 0.004150 0.001556 0.001556 -0.002289 -0.002289 -0.000336 -0.000336 0.002838 0.002838 0.005188 0.005188 0.005280 0.005280 0.002411 0.002411 -0.003510 -0.003510 -0.008026 -0.008026 -0.008209 -0.008209 -0.006775 -0.006775 -0.004456 -0.004456 -0.003052 -0.003052 -0.004211 -0.004211 -0.006042 -0.006042 -0.006073 -0.006073 -0.003601 -0.003601 0.000183 0.000183 0.002136 0.002136 0.000885 0.000885 -0.001801 -0.001801 -0.003876 -0.003876 -0.003784 -0.003784 -0.000610 -0.000610 0.002106 0.002106 0.001160 0.001160 -0.002106 -0.002106 -0.004028 -0.004028 -0.004303 -0.004303 
--- NEW FILE: earplug~.c ---
/* RT binaural filter: earplug~        */
/* based on KEMAR impulse measurement  */
/* Pei Xiang, summer 2004              */
/* Revised in Fall 2006 by Jorge Castellanos */

#include <stdio.h>
#include <math.h>
#include "m_pd.h"
#ifdef NT
#pragma warning( disable : 4244 )
#pragma warning( disable : 4305 )
#endif

/* elevation degree:      -40  -30  -20  -10   0   10  20  30  40  50  60  70  80  90   */
/* index array:             0    1    2    3   4    5   6   7   8   9  10  11  12  13   */
/* impulse reponse number: 29   31   37   37  37   37  37  31  29  23  19  13   7   1   */ 
/* 0 degree reponse index:  0   29   60   97 134  171 208 245 276 305 328 347 360 367   */

static t_class *earplug_class;

typedef struct _earplug
{
    t_object x_obj; 
    t_outlet *left_channel ; 
    t_outlet *right_channel ; 

    t_float azimuth ;             /* from 0 to 360 degrees */
    t_float elevation ;           /* from -40 to 90 (degrees) */
    t_float azi ;
    t_float ele ;
     
    t_float crossCoef[8192] ; 
    t_float azimScale[13] ;
    t_int azimOffset[13] ;

    t_float previousImpulse[2][128] ;
    t_float currentImpulse[2][128] ;
    t_float convBuffer[128] ;
    t_float impulses[368][2][128] ;
    t_float f ;                   /* dummy float for dsp */
    t_int bufferPin;
} t_earplug;

static t_int *earplug_perform(t_int *w)
{
    t_earplug *x = (t_earplug *)(w[1]) ;
    t_float *in = (t_float *)(w[2]);
    t_float *right_out = (t_float *)(w[3]);
    t_float *left_out = (t_float *)(w[4]); 
    int blocksize = (int)(w[5]);

    unsigned ch_L, ch_R, i;

    x->azi = x->azimuth ; 
    x->ele = x->elevation ;
	
    if (x->ele < -40) 
		x->ele = -40;
    if (x->ele > 90)
		x->ele = 90;
    if (x->azi < 0 || x->azi > 360) 
		x->azi = 0;
    if (x->azi <= 180)
    {
		ch_L = 0;
		ch_R = 1;
	}
    else
    { 
		ch_L = 1;
		ch_R = 0;
		x->azi = 360.0 - x->azi;
	}
	
    x->ele *= 0.1;   /* divided by 10 since each elevation is 10 degrees apart */

    if (x->ele < 8.) // if elevation is less than 80 degrees...
    { 
		int elevInt = (int)floor(x->ele); // A quantized version of the elevation    
		unsigned elevGridIndex = elevInt + 4;  // Used as the index to the array of scaling factors for the azimuth (adding 4 because the lowest elevation is -4, so it starts at 0)
		unsigned azimIntUp = (unsigned)(x->azi * x->azimScale[elevGridIndex+1]); // 
        float azimFracUp = azimIntUp + 1.0 - x->azi * x->azimScale[elevGridIndex+1];
		float azimFracUpInv = 1.0 - azimFracUp;
		float elevFracUp = x->ele - elevInt * 1.0;
    	unsigned azimIntDown = (unsigned)(x->azi * x->azimScale[elevGridIndex]);
        float azimFracDown = azimIntDown + 1.0 - x->azi * x->azimScale[elevGridIndex];
		float azimFracDownInv = 1.0 - azimFracDown;
		float elevFracDown = 1.0 - elevFracUp;
		unsigned lowerIdx = x->azimOffset[elevGridIndex] + azimIntDown;
		unsigned upperIdx = x->azimOffset[elevGridIndex + 1] + azimIntUp;
		
		for (i = 0; i < 128; i++)
		{
			x->currentImpulse[ch_L][i] = elevFracDown *		// Interpolate the lower two HRIRs and multiply them by their "fraction"
										(azimFracDown * x->impulses[lowerIdx][0][i] + 
										azimFracDownInv * x->impulses[lowerIdx + 1][0][i]) + 
										elevFracUp *		// Interpolate the upper two HRIRs and multiply them by their "fraction"
										(azimFracUp * x->impulses[upperIdx][0][i] + 
										azimFracUpInv * x->impulses[upperIdx + 1][0][i]);   

			x->currentImpulse[ch_R][i] = elevFracDown *
										(azimFracDown * x->impulses[lowerIdx][1][i] + 
										azimFracDownInv * x->impulses[lowerIdx + 1][1][i]) + 
										elevFracUp * 
										(azimFracUp * x->impulses[upperIdx][1][i] + 
										azimFracUpInv * x->impulses[upperIdx + 1][1][i]);  
		}   

    }
    else	// if elevation is 80 degrees or more the interpolation requires only three points (because there's only one HRIR at 90 deg)
    {
    	unsigned azimIntDown = (unsigned)(x->azi * 0.033333); // Scale the azimuth to 12 (the number of HRIRs at 80 deg) discreet points
        float azimFracDown = azimIntDown + 1.0 - x->azi * 0.033333;
        float elevFracUp = x->ele - 8.0;
		float elevFracDown = 9.0 - x->ele;
		for (i = 0; i < 128; i++) {
			
			x->currentImpulse[ch_L][i] = elevFracDown * 
										( azimFracDown * x->impulses[360+azimIntDown][0][i] +	// These two lines interpolate the lower two HRIRs
										(1.0 - azimFracDown) * x->impulses[361+azimIntDown][0][i] )
										+ elevFracUp * x->impulses[367][0][i];	// multiply the 90 degree HRIR with its corresponding fraction
			x->currentImpulse[ch_R][i] = elevFracDown * 
										(azimFracDown * x->impulses[360+azimIntDown][1][i]  +
										(1.0 - azimFracDown) * x->impulses[361+azimIntDown][1][i])
										+ elevFracUp * x->impulses[367][1][i]; 
		}

	}

    float inSample;
	float convSum[2]; // to accumulate the sum during convolution.
    int blockScale = 8192 / blocksize;
    int blockBig = blocksize;

	// Convolve the - interpolated - HRIRs (Left and Right) with the input signal.
    while (blocksize--)
    {
		convSum[0] = 0; 
		convSum[1] = 0;	

		inSample = *(in++);

		x->convBuffer[x->bufferPin] = inSample;
		unsigned scaledBlocksize = blocksize * blockScale;
		unsigned blocksizeDelta = 8191 - scaledBlocksize;
		for (i = 0; i < 128; i++)
		{ 
			convSum[0] += (x->previousImpulse[0][i] * x->crossCoef[blocksizeDelta] + 
							x->currentImpulse[0][i] * x->crossCoef[scaledBlocksize]) * 
							x->convBuffer[(x->bufferPin - i) &127];
			convSum[1] += (x->previousImpulse[1][i] * x->crossCoef[blocksizeDelta] + 
							x->currentImpulse[1][i] * x->crossCoef[scaledBlocksize]) * 
							x->convBuffer[(x->bufferPin - i) &127];

			x->previousImpulse[0][i] = x->currentImpulse[0][i];
			x->previousImpulse[1][i] = x->currentImpulse[1][i];
		}	
		x->bufferPin = (x->bufferPin + 1) & 127;
  
        *left_out++ = convSum[0];
     	*right_out++ = convSum[1];
    }
    return (w+6);
}

static void earplug_dsp(t_earplug *x, t_signal **sp)
{
		// callback, params, userdata, in_samples, out_L,		out_R,		blocksize.
    dsp_add(earplug_perform, 5, x,  sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
}

static void *earplug_new(t_floatarg azimArg, t_floatarg elevArg)
{
    t_earplug *x = (t_earplug *)pd_new(earplug_class);
    x->left_channel = outlet_new(&x->x_obj, gensym("signal"));
    x->right_channel = outlet_new(&x->x_obj, gensym("signal"));
    floatinlet_new(&x->x_obj, &x->azimuth) ;     /* 0 to 360 degrees */
    floatinlet_new(&x->x_obj, &x->elevation) ;   /* -40 to 90 degrees */

    x->azimuth = azimArg ;
    x->elevation = elevArg ;

    int i, j;
    FILE *fp;
    char buff[1024], *bufptr;
    int filedesc;

	filedesc = open_via_path(canvas_getdir(canvas_getcurrent())->s_name, "earplug_data.txt", "", buff, &bufptr, 1024, 0 );

    if (filedesc < 0) // If there was an error opening the text file...
    {	
		post("error reading impulse reponse file 'earplug_data.txt'! \n") ;
        return (x) ;   
	}
	
    fp = fdopen(filedesc, "r") ;  
   
    for (i = 0; i < 368; i++) 
    {
   	while(fgetc(fp) != 10) ;
    	for (j = 0 ; j < 128 ; j++)
				fscanf(fp, "%f %f ", &x->impulses[i][0][j], &x->impulses[i][1][j]);

	}
    fclose(fp) ;

    post("        earplug~: binaural filter with measured reponses\n") ;
    post("        elevation: -40 to 90 degrees. azimuth: 360") ;
    post("        dont let blocksize > 8192\n"); 
       
    for (i = 0; i < 128 ; i++)
    {
         x->convBuffer[i] = 0; 
		 x->previousImpulse[0][i] = 0; 
		 x->previousImpulse[1][i] = 0;
    }
	
    x->bufferPin = 0;

    for (i = 0; i < 8192 ; i++)
    {	
		x->crossCoef[i] = 1.0 * i / 8192;
	}

	// This is the scaling factor for the azimuth so that it corresponds to an HRTF in the KEMAR database
    x->azimScale[0] = 0.153846153; x->azimScale[8] = 0.153846153;   /* -40 and 40 degree */
    x->azimScale[1] = 0.166666666; x->azimScale[7] = 0.166666666;   /* -30 and 30 degree */
    x->azimScale[2] = 0.2; x->azimScale[3]=0.2; x->azimScale[4]=0.2; x->azimScale[5]=0.2; x->azimScale[6]=0.2;  /* -20 to 20 degree */
    x->azimScale[9] = 0.125;  		/* 50 degree */
    x->azimScale[10] = 0.1;		/* 60 degree */
    x->azimScale[11] = 0.066666666;      /* 70 degree */
    x->azimScale[12] = 0.033333333;	/* 80 degree */

    x->azimOffset[0] = 0 ; 
    x->azimOffset[1] = 29 ;
    x->azimOffset[2] = 60 ;
    x->azimOffset[3] = 97 ;
    x->azimOffset[4] = 134 ;
    x->azimOffset[5] = 171 ;
    x->azimOffset[6] = 208 ;
    x->azimOffset[7] = 245 ;
    x->azimOffset[8] = 276 ;
    x->azimOffset[9] = 305 ;
    x->azimOffset[10] = 328 ;
    x->azimOffset[11] = 347 ;
    x->azimOffset[12] = 360 ;

    return (x);
}

void earplug_tilde_setup(void)
{
    earplug_class = class_new(gensym("earplug~"), (t_newmethod)earplug_new, 0,
    	sizeof(t_earplug), CLASS_DEFAULT, A_DEFFLOAT, A_DEFFLOAT, 0);
   
    CLASS_MAINSIGNALIN(earplug_class, t_earplug, f);
   
    class_addmethod(earplug_class, (t_method)earplug_dsp, gensym("dsp"), 0);
}





More information about the Pd-cvs mailing list