ofs | hex dump | ascii |
---|
0000 | 62 30 56 49 4d 20 37 2e 33 00 00 00 00 10 00 00 8a 41 62 54 f6 8e e9 09 9d 8e 00 00 6a 61 6d 69 | b0VIM.7.3........AbT........jami |
0020 | 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | e............................... |
0040 | 00 00 00 00 61 6c 75 6d 69 6e 69 75 6d 2d 32 2e 6c 6f 63 61 6c 00 00 00 00 00 00 00 00 00 00 00 | ....aluminium-2.local........... |
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 7e 6a 61 6d 69 65 2f 44 6f 63 75 6d 65 6e 74 73 2f 4c 69 62 | ............~jamie/Documents/Lib |
0080 | 58 74 72 61 63 74 2f 74 65 73 74 73 2f 78 74 74 65 73 74 5f 73 63 61 6c 61 72 2e 63 70 70 00 00 | Xtract/tests/xttest_scalar.cpp.. |
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03e0 | 00 00 00 00 00 00 00 00 00 75 74 66 2d 38 0d 00 33 32 31 30 00 00 00 00 23 22 21 20 13 12 55 00 | .........utf-8..3210....#"!...U. |
0400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1000 | 74 70 0c 00 7f 00 00 00 02 00 00 00 00 00 00 00 69 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | tp..............i............... |
1020 | 01 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 00 62 00 00 00 00 00 00 00 6a 00 00 00 00 00 00 00 | ................b.......j....... |
1040 | 01 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 61 00 00 00 00 00 00 00 cc 00 00 00 00 00 00 00 | ................a............... |
1060 | 01 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 61 00 00 00 00 00 00 00 2d 01 00 00 00 00 00 00 | ................a.......-....... |
1080 | 01 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 60 00 00 00 00 00 00 00 8e 01 00 00 00 00 00 00 | ................`............... |
10a0 | 01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 66 00 00 00 00 00 00 00 ee 01 00 00 00 00 00 00 | ................f............... |
10c0 | 01 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 65 00 00 00 00 00 00 00 54 02 00 00 00 00 00 00 | ................e.......T....... |
10e0 | 01 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 5d 00 00 00 00 00 00 00 b9 02 00 00 00 00 00 00 | ................]............... |
1100 | 01 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 60 00 00 00 00 00 00 00 16 03 00 00 00 00 00 00 | ................`............... |
1120 | 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 77 03 00 00 00 00 00 00 | ........................w....... |
1140 | 01 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 60 00 00 00 00 00 00 00 79 03 00 00 00 00 00 00 | ................`.......y....... |
1160 | 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 4d 00 00 00 00 00 00 00 d9 03 00 00 00 00 00 00 | ................M............... |
1180 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
11a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
11c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
11e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
12a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
12c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
12e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
2000 | 61 64 00 00 0c 00 00 00 cc 01 00 00 00 10 00 00 69 00 00 00 00 00 00 00 ff 0f 00 00 e4 0f 00 00 | ad..............i............... |
2020 | e3 0f 00 00 c1 0f 00 00 a3 0f 00 00 a2 0f 00 00 8d 0f 00 00 8c 0f 00 00 8b 0f 00 00 45 0f 00 00 | ............................E... |
2040 | 43 0f 00 00 28 0f 00 00 0f 0f 00 00 0e 0f 00 00 d0 0e 00 00 ca 0e 00 00 a8 0e 00 00 85 0e 00 00 | C...(........................... |
2060 | 67 0e 00 00 47 0e 00 00 26 0e 00 00 25 0e 00 00 bc 0d 00 00 b2 0d 00 00 87 0d 00 00 86 0d 00 00 | g...G...&...%................... |
2080 | 35 0d 00 00 ed 0c 00 00 ec 0c 00 00 80 0c 00 00 72 0c 00 00 40 0c 00 00 18 0c 00 00 0a 0c 00 00 | 5...............r...@........... |
20a0 | 00 0c 00 00 ff 0b 00 00 96 0b 00 00 8c 0b 00 00 61 0b 00 00 60 0b 00 00 0f 0b 00 00 c7 0a 00 00 | ................a...`........... |
20c0 | c6 0a 00 00 5a 0a 00 00 4c 0a 00 00 1a 0a 00 00 f2 09 00 00 e4 09 00 00 da 09 00 00 d9 09 00 00 | ....Z...L....................... |
20e0 | d0 09 00 00 68 09 00 00 5e 09 00 00 34 09 00 00 33 09 00 00 e2 08 00 00 a3 08 00 00 a2 08 00 00 | ....h...^...4...3............... |
2100 | 57 08 00 00 49 08 00 00 1b 08 00 00 e8 07 00 00 c5 07 00 00 a0 07 00 00 72 07 00 00 64 07 00 00 | W...I...................r...d... |
2120 | 63 07 00 00 62 07 00 00 06 07 00 00 f8 06 00 00 cf 06 00 00 ce 06 00 00 79 06 00 00 36 06 00 00 | c...b...................y...6... |
2140 | 35 06 00 00 e6 05 00 00 d4 05 00 00 a2 05 00 00 6b 05 00 00 44 05 00 00 1b 05 00 00 e9 04 00 00 | 5...............k...D........... |
2160 | d7 04 00 00 c9 04 00 00 bf 04 00 00 b9 04 00 00 b8 04 00 00 79 04 00 00 73 04 00 00 4b 04 00 00 | ....................y...s...K... |
2180 | 22 04 00 00 fa 03 00 00 d3 03 00 00 b2 03 00 00 b1 03 00 00 48 03 00 00 3e 03 00 00 13 03 00 00 | "...................H...>....... |
21a0 | 12 03 00 00 c1 02 00 00 79 02 00 00 78 02 00 00 0c 02 00 00 fe 01 00 00 cc 01 00 00 cb 01 00 00 | ........y...x................... |
21c0 | 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 | ............................REQU |
21e0 | 49 52 45 28 72 76 20 3d 3d 20 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 29 3b 20 00 20 20 | IRE(rv.==.XTRACT_NO_RESULT);.... |
2200 | 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 66 | ..........{.............THEN(."f |
2220 | 72 65 71 75 65 6e 63 79 20 64 65 74 65 63 74 69 6f 6e 20 66 61 69 6c 73 20 63 6f 72 72 65 63 74 | requency.detection.fails.correct |
2240 | 6c 79 20 28 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 20 69 73 20 72 65 74 75 72 6e 65 64 | ly.(XTRACT_NO_RESULT.is.returned |
2260 | 2c 20 72 65 73 75 6c 74 20 73 65 74 20 74 6f 20 30 2e 30 29 22 20 29 00 00 20 20 20 20 20 20 20 | ,.result.set.to.0.0)".)......... |
2280 | 20 20 20 20 20 69 6e 74 20 72 76 20 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 | .....int.rv.=.xtract_f0(table,.b |
22a0 | 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b | locksize,.&samplerate,.&result); |
22c0 | 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 | .............xttest_gen_sine(tab |
22e0 | 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 | le,.blocksize,.samplerate,.frequ |
2300 | 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 | ency,.amplitude);..............d |
2320 | 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 38 36 2e 31 33 32 38 31 32 35 3b 00 20 20 | ouble.frequency.=.86.1328125;... |
2340 | 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 | ......{.........WHEN(."the.frequ |
2360 | 65 6e 63 79 20 69 73 20 38 36 2e 31 33 32 38 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 | ency.is.86.1328125.Hz".).//.peri |
2380 | 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 35 31 32 20 73 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 | od.of.exactly.512.samples:.2.cyc |
23a0 | 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 | les.in.the.block..........double |
23c0 | 20 74 61 62 6c 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c | .table[blocksize];.........doubl |
23e0 | 65 20 61 6d 70 6c 69 74 75 64 65 20 20 20 20 20 20 20 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 | e.amplitude........=.1.0;....... |
2400 | 20 20 64 6f 75 62 6c 65 20 72 65 73 75 6c 74 20 20 20 20 20 20 20 20 20 20 20 3d 20 2d 31 2e 30 | ..double.result...........=.-1.0 |
2420 | 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 74 65 20 20 20 20 20 | ;.........double.samplerate..... |
2440 | 20 20 3d 20 34 34 31 30 30 3b 00 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 6c 6f 63 | ..=.44100;.........uint32_t.bloc |
2460 | 6b 73 69 7a 65 20 20 20 20 20 20 3d 20 31 30 32 34 3b 00 20 20 20 20 7b 00 20 20 20 20 47 49 56 | ksize......=.1024;.....{.....GIV |
2480 | 45 4e 28 20 22 61 20 31 30 32 34 20 73 61 6d 70 6c 65 20 62 6c 6f 63 6b 20 77 69 74 68 20 61 20 | EN(."a.1024.sample.block.with.a. |
24a0 | 73 61 6d 70 6c 65 20 72 61 74 65 20 6f 66 20 34 34 31 30 30 22 20 29 00 00 20 20 20 20 7d 00 20 | sample.rate.of.44100".)......}.. |
24c0 | 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 | .......}.............}.......... |
24e0 | 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 | .......}.....................REQ |
2500 | 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 | UIRE(actual.==.expected);....... |
2520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 | ...............CAPTURE(.expected |
2540 | 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 | .);.....................CAPTURE( |
2560 | 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 | .actual.);.....................e |
2580 | 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 | xpected.=.xttest_ftom(frequency) |
25a0 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 | ;.....................actual.=.x |
25c0 | 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | ttest_ftom(result);............. |
25e0 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 | ....{.................THEN(."the |
2600 | 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 | .detected.F0.is.accurate.to.the. |
2620 | 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 | nearest.MIDI.cent".)............ |
2640 | 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 | ......xtract_f0(table,.blocksize |
2660 | 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 | ,.&samplerate,.&result);........ |
2680 | 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 | .........xttest_gen_sine(table,. |
26a0 | 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 | blocksize,.samplerate,.frequency |
26c0 | 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 | ,.amplitude);..................d |
26e0 | 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 30 31 3b 00 20 20 20 20 20 20 20 20 | ouble.amplitude.=.0.01;......... |
2700 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 | ....{.............WHEN(."the.amp |
2720 | 6c 69 74 75 64 65 20 69 73 20 30 2e 30 31 22 20 29 20 2f 2f 20 4f 6e 6c 79 20 74 65 73 74 20 61 | litude.is.0.01".).//.Only.test.a |
2740 | 20 64 69 66 66 65 72 65 6e 74 20 61 6d 70 6c 69 74 75 64 65 20 66 6f 72 20 6f 6e 65 20 63 61 73 | .different.amplitude.for.one.cas |
2760 | 65 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e...............}............... |
2780 | 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 | ..REQUIRE(actual.==.expected);.. |
27a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 | ................CAPTURE(.expecte |
27c0 | 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 | d.);.................CAPTURE(.ac |
27e0 | 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 | tual.);.................expected |
2800 | 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 | .=.xttest_ftom(frequency);...... |
2820 | 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 | ...........actual.=.xttest_ftom( |
2840 | 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 | result);.............{.......... |
2860 | 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 | ...THEN(."the.detected.F0.is.acc |
2880 | 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 | urate.to.the.nearest.MIDI.cent". |
28a0 | 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 | )..............xtract_f0(table,. |
28c0 | 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 | blocksize,.&samplerate,.&result) |
28e0 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 | ;.............xttest_gen_sine(ta |
2900 | 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 | ble,.blocksize,.samplerate,.freq |
2920 | 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | uency,.amplitude);.............. |
2940 | 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 33 34 34 2e 35 33 31 32 35 3b 00 20 20 | double.frequency.=.344.53125;... |
2960 | 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 | ......{.........WHEN(."the.frequ |
2980 | 65 6e 63 79 20 69 73 20 33 34 34 2e 35 33 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f | ency.is.344.53125.Hz".).//.perio |
29a0 | 64 20 6f 66 20 65 78 61 63 74 6c 79 20 31 32 38 20 73 61 6d 70 6c 65 73 3a 20 34 20 63 79 63 6c | d.of.exactly.128.samples:.4.cycl |
29c0 | 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 20 20 20 20 20 20 20 20 00 00 20 20 20 20 20 20 | es.in.the.block................. |
29e0 | 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..}.............}............... |
2a00 | 20 20 52 45 51 55 49 52 45 28 72 65 73 75 6c 74 20 3d 3d 20 30 2e 30 29 3b 00 20 20 20 20 20 20 | ..REQUIRE(result.==.0.0);....... |
2a20 | 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 76 20 3d 3d 20 58 54 52 41 43 54 5f 4e | ..........REQUIRE(rv.==.XTRACT_N |
2a40 | 4f 5f 52 45 53 55 4c 54 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | O_RESULT);..............{....... |
2a60 | 20 20 20 20 20 20 54 48 45 4e 28 20 22 66 72 65 71 75 65 6e 63 79 20 64 65 74 65 63 74 69 6f 6e | ......THEN(."frequency.detection |
2a80 | 20 66 61 69 6c 73 20 63 6f 72 72 65 63 74 6c 79 20 28 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 | .fails.correctly.(XTRACT_NO_RESU |
2aa0 | 4c 54 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 72 65 73 75 6c 74 20 73 65 74 20 74 6f 20 30 2e | LT.is.returned,.result.set.to.0. |
2ac0 | 30 29 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 20 3d 20 78 74 72 61 | 0)".)..............int.rv.=.xtra |
2ae0 | 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 | ct_f0(table,.blocksize,.&sampler |
2b00 | 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 | ate,.&result);.............xttes |
2b20 | 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d | t_gen_sine(table,.blocksize,.sam |
2b40 | 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 | plerate,.frequency,.amplitude);. |
2b60 | 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 | .............double.frequency.=. |
2b80 | 31 37 32 2e 32 36 35 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 | 172.265625;.........{.........WH |
2ba0 | 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 37 32 2e 32 36 35 36 32 35 | EN(."the.frequency.is.172.265625 |
2bc0 | 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 20 | .Hz".).//.period.of.exactly.256. |
2be0 | 73 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 | samples:.2.cycles.in.the.block.. |
2c00 | 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 | ........}.............}......... |
2c20 | 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 65 73 75 6c 74 20 3d 3d 20 30 2e 30 29 3b 00 | ........REQUIRE(result.==.0.0);. |
2c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 76 20 3d 3d 20 58 54 | ................REQUIRE(rv.==.XT |
2c60 | 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 | RACT_NO_RESULT);..............{. |
2c80 | 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 66 72 65 71 75 65 6e 63 79 20 64 65 74 | ............THEN(."frequency.det |
2ca0 | 65 63 74 69 6f 6e 20 66 61 69 6c 73 20 63 6f 72 72 65 63 74 6c 79 20 28 58 54 52 41 43 54 5f 4e | ection.fails.correctly.(XTRACT_N |
2cc0 | 4f 5f 52 45 53 55 4c 54 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 72 65 73 75 6c 74 20 73 65 74 | O_RESULT.is.returned,.result.set |
2ce0 | 20 74 6f 20 30 2e 30 29 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 20 | .to.0.0)".)..............int.rv. |
2d00 | 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 | =.xtract_f0(table,.blocksize,.&s |
2d20 | 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | amplerate,.&result);............ |
2d40 | 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a | .xttest_gen_sine(table,.blocksiz |
2d60 | 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 | e,.samplerate,.frequency,.amplit |
2d80 | 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 | ude);..............double.freque |
2da0 | 6e 63 79 20 3d 20 38 36 2e 31 33 32 38 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 | ncy.=.86.1328125;.........{..... |
2dc0 | 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 38 36 2e 31 | ....WHEN(."the.frequency.is.86.1 |
2de0 | 33 32 38 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c | 328125.Hz".).//.period.of.exactl |
2e00 | 79 20 35 31 32 20 73 61 6d 70 6c 65 73 3a 20 31 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 | y.512.samples:.1.cycles.in.the.b |
2e20 | 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 61 62 6c 65 5b 62 6c 6f 63 6b | lock..........double.table[block |
2e40 | 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 | size];.........double.amplitude. |
2e60 | 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 72 65 73 75 6c 74 20 3d 20 2d | =.1.0;.........double.result.=.- |
2e80 | 31 2e 30 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 74 65 20 3d | 1.0;.........double.samplerate.= |
2ea0 | 20 34 34 31 30 30 3b 00 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 6c 6f 63 6b 73 69 | .44100;.........uint32_t.blocksi |
2ec0 | 7a 65 20 3d 20 35 31 32 3b 00 20 20 20 20 7b 00 20 20 20 20 47 49 56 45 4e 28 20 22 61 20 35 31 | ze.=.512;.....{.....GIVEN(."a.51 |
2ee0 | 32 20 73 61 6d 70 6c 65 20 62 6c 6f 63 6b 20 77 69 74 68 20 61 20 73 61 6d 70 6c 65 20 72 61 74 | 2.sample.block.with.a.sample.rat |
2f00 | 65 20 6f 66 20 34 34 31 30 30 22 20 29 00 00 20 20 20 20 75 69 6e 74 31 36 5f 74 20 61 63 74 75 | e.of.44100".)......uint16_t.actu |
2f20 | 61 6c 20 3d 20 30 3b 00 20 20 20 20 75 69 6e 74 31 36 5f 74 20 65 78 70 65 63 74 65 64 20 3d 20 | al.=.0;.....uint16_t.expected.=. |
2f40 | 30 3b 00 7b 00 53 43 45 4e 41 52 49 4f 28 20 22 46 30 20 69 73 20 63 6f 72 72 65 63 74 6c 79 20 | 0;.{.SCENARIO(."F0.is.correctly. |
2f60 | 64 65 74 65 63 74 65 64 20 66 6f 72 20 61 20 73 69 6e 65 20 77 61 76 65 22 2c 20 22 5b 78 74 72 | detected.for.a.sine.wave",."[xtr |
2f80 | 61 63 74 5f 66 30 5d 22 20 29 00 00 00 23 69 6e 63 6c 75 64 65 20 22 63 61 74 63 68 2e 68 70 70 | act_f0]".)...#include."catch.hpp |
2fa0 | 22 00 00 23 69 6e 63 6c 75 64 65 20 22 78 74 72 61 63 74 2f 6c 69 62 78 74 72 61 63 74 2e 68 22 | "..#include."xtract/libxtract.h" |
2fc0 | 00 23 69 6e 63 6c 75 64 65 20 22 78 74 72 61 63 74 2f 78 74 72 61 63 74 5f 73 63 61 6c 61 72 2e | .#include."xtract/xtract_scalar. |
2fe0 | 68 22 00 00 23 69 6e 63 6c 75 64 65 20 22 78 74 74 65 73 74 5f 75 74 69 6c 2e 68 70 70 22 00 00 | h"..#include."xttest_util.hpp".. |
3000 | 61 64 00 00 cf 03 00 00 1f 05 00 00 00 10 00 00 4d 00 00 00 00 00 00 00 df 0f 00 00 de 0f 00 00 | ad..............M............... |
3020 | 74 0f 00 00 6a 0f 00 00 3e 0f 00 00 1a 0f 00 00 19 0f 00 00 c4 0e 00 00 7c 0e 00 00 7b 0e 00 00 | t...j...>...............|...{... |
3040 | 0f 0e 00 00 01 0e 00 00 cf 0d 00 00 a7 0d 00 00 99 0d 00 00 8f 0d 00 00 8e 0d 00 00 25 0d 00 00 | ............................%... |
3060 | 1b 0d 00 00 f0 0c 00 00 cc 0c 00 00 cb 0c 00 00 76 0c 00 00 2e 0c 00 00 2d 0c 00 00 e2 0b 00 00 | ................v.......-....... |
3080 | d4 0b 00 00 a6 0b 00 00 73 0b 00 00 50 0b 00 00 2b 0b 00 00 fd 0a 00 00 ef 0a 00 00 e5 0a 00 00 | ........s...P...+............... |
30a0 | e4 0a 00 00 7b 0a 00 00 71 0a 00 00 46 0a 00 00 22 0a 00 00 21 0a 00 00 cc 09 00 00 8d 09 00 00 | ....{...q...F..."...!........... |
30c0 | 8c 09 00 00 41 09 00 00 33 09 00 00 05 09 00 00 d2 08 00 00 af 08 00 00 8a 08 00 00 5c 08 00 00 | ....A...3...................\... |
30e0 | 4e 08 00 00 44 08 00 00 43 08 00 00 da 07 00 00 d0 07 00 00 a6 07 00 00 a5 07 00 00 7a 07 00 00 | N...D...C...................z... |
3100 | 6c 07 00 00 44 07 00 00 43 07 00 00 ea 06 00 00 a7 06 00 00 a6 06 00 00 57 06 00 00 45 06 00 00 | l...D...C...............W...E... |
3120 | 13 06 00 00 dc 05 00 00 b5 05 00 00 8c 05 00 00 5a 05 00 00 48 05 00 00 32 05 00 00 28 05 00 00 | ................Z...H...2...(... |
3140 | 22 05 00 00 20 05 00 00 1f 05 00 00 2e 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | "............................... |
3160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
31a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
31c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
31e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
34a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
34c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
34e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3520 | 7d 00 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 | }.....}.........}.............}. |
3540 | 20 20 20 20 20 20 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 | ........................}....... |
3560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 | ..............REQUIRE(actual.==. |
3580 | 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | expected);...................... |
35a0 | 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | CAPTURE(.expected.);............ |
35c0 | 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 | .........CAPTURE(.actual.);..... |
35e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 | ................expected.=.xttes |
3600 | 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | t_ftom(frequency);.............. |
3620 | 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 | .......actual.=.xttest_ftom(resu |
3640 | 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 | lt);.................{.......... |
3660 | 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 | .......THEN(."the.detected.F0.is |
3680 | 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 | .accurate.to.the.nearest.MIDI.ce |
36a0 | 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 | nt".)..................xtract_f0 |
36c0 | 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 | (table,.blocksize,.&samplerate,. |
36e0 | 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 | &result);.................xttest |
3700 | 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 | _gen_sawtooth(table,.blocksize,. |
3720 | 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 | samplerate,.frequency,.amplitude |
3740 | 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 | );..................double.ampli |
3760 | 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | tude.=.1.0;.............{....... |
3780 | 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 65 20 69 73 20 31 2e | ......WHEN(."the.amplitude.is.1. |
37a0 | 30 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e | 0".)..............double.frequen |
37c0 | 63 79 20 3d 20 33 34 34 2e 35 33 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | cy.=.344.53125;.........{....... |
37e0 | 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 33 34 34 2e 35 33 | ..WHEN(."the.frequency.is.344.53 |
3800 | 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 31 | 125.Hz".).//.period.of.exactly.1 |
3820 | 32 38 20 73 61 6d 70 6c 65 73 3a 20 31 36 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f | 28.samples:.16.cycles.in.the.blo |
3840 | 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 | ck..........}.............}..... |
3860 | 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 | ............REQUIRE(actual.==.ex |
3880 | 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 | pected);..................CAPTUR |
38a0 | 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 | E(.expected.);.................C |
38c0 | 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | APTURE(.actual.);............... |
38e0 | 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e | ..expected.=.xttest_ftom(frequen |
3900 | 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 | cy);.................actual.=.xt |
3920 | 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b | test_ftom(result);.............{ |
3940 | 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 | .............THEN(."the.detected |
3960 | 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d | .F0.is.accurate.to.the.nearest.M |
3980 | 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f | IDI.cent".)..............xtract_ |
39a0 | 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 | f0(table,.blocksize,.&samplerate |
39c0 | 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 | ,.&result);.............xttest_g |
39e0 | 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 | en_sawtooth(table,.blocksize,.sa |
3a00 | 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b | mplerate,.frequency,.amplitude); |
3a20 | 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d | ..............double.amplitude.= |
3a40 | 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e | .1.0;.............double.frequen |
3a60 | 63 79 20 3d 20 31 37 32 2e 32 36 35 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 | cy.=.172.265625;.........{...... |
3a80 | 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 37 32 2e 32 | ...WHEN(."the.frequency.is.172.2 |
3aa0 | 36 35 36 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 | 65625.Hz".).//.period.of.exactly |
3ac0 | 20 32 35 36 20 73 61 6d 70 6c 65 73 3a 20 38 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c | .256.samples:.8.cycles.in.the.bl |
3ae0 | 6f 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 | ock..........}.............}.... |
3b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 | .............REQUIRE(actual.==.e |
3b20 | 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 | xpected);..................CAPTU |
3b40 | 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | RE(.expected.);................. |
3b60 | 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | CAPTURE(.actual.);.............. |
3b80 | 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 | ...expected.=.xttest_ftom(freque |
3ba0 | 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 | ncy);.................actual.=.x |
3bc0 | 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | ttest_ftom(result);............. |
3be0 | 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 | {.............THEN(."the.detecte |
3c00 | 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 | d.F0.is.accurate.to.the.nearest. |
3c20 | 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 | MIDI.cent".)..............int.rv |
3c40 | 20 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 | .=.xtract_f0(table,.blocksize,.& |
3c60 | 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 | samplerate,.&result);........... |
3c80 | 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f | ..xttest_gen_sawtooth(table,.blo |
3ca0 | 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 | cksize,.samplerate,.frequency,.a |
3cc0 | 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 | mplitude);..............double.a |
3ce0 | 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 | mplitude.=.1.0;.............doub |
3d00 | 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 38 36 2e 31 33 32 38 31 32 35 3b 00 20 20 20 20 20 | le.frequency.=.86.1328125;...... |
3d20 | 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 | ...{.........WHEN(."the.frequenc |
3d40 | 79 20 69 73 20 38 36 2e 31 33 32 38 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 | y.is.86.1328125.Hz".).//.period. |
3d60 | 6f 66 20 65 78 61 63 74 6c 79 20 35 31 32 20 73 61 6d 70 6c 65 73 3a 20 34 20 63 79 63 6c 65 73 | of.exactly.512.samples:.4.cycles |
3d80 | 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 | .in.the.block..........}........ |
3da0 | 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 | .....}.................REQUIRE(r |
3dc0 | 65 73 75 6c 74 20 3d 3d 20 30 2e 30 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 | esult.==.0.0);.................R |
3de0 | 45 51 55 49 52 45 28 72 76 20 3d 3d 20 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 29 3b 20 | EQUIRE(rv.==.XTRACT_NO_RESULT);. |
3e00 | 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 | .............{.............THEN( |
3e20 | 20 22 66 72 65 71 75 65 6e 63 79 20 64 65 74 65 63 74 69 6f 6e 20 66 61 69 6c 73 20 63 6f 72 72 | ."frequency.detection.fails.corr |
3e40 | 65 63 74 6c 79 20 28 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 20 69 73 20 72 65 74 75 72 | ectly.(XTRACT_NO_RESULT.is.retur |
3e60 | 6e 65 64 2c 20 72 65 73 75 6c 74 20 73 65 74 20 74 6f 20 30 2e 30 29 22 20 29 00 00 20 20 20 20 | ned,.result.set.to.0.0)".)...... |
3e80 | 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 20 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 | ........int.rv.=.xtract_f0(table |
3ea0 | 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c | ,.blocksize,.&samplerate,.&resul |
3ec0 | 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f | t);.............xttest_gen_sawto |
3ee0 | 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 | oth(table,.blocksize,.samplerate |
3f00 | 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 | ,.frequency,.amplitude);........ |
3f20 | 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 | ......double.amplitude.=.1.0;... |
3f40 | 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 34 33 2e | ..........double.frequency.=.43. |
3f60 | 30 36 36 34 30 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e | 06640625;.........{.........WHEN |
3f80 | 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 34 33 2e 30 36 36 34 30 36 32 35 20 | (."the.frequency.is.43.06640625. |
3fa0 | 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 20 73 | Hz".).//.period.of.exactly.256.s |
3fc0 | 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 | amples:.2.cycles.in.the.block... |
3fe0 | 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 61 62 6c 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 | .......double.table[blocksize];. |
4000 | 61 64 00 00 02 00 00 00 b6 01 00 00 00 10 00 00 66 00 00 00 00 00 00 00 97 0f 00 00 8d 0f 00 00 | ad..............f............... |
4020 | 62 0f 00 00 3e 0f 00 00 3d 0f 00 00 ec 0e 00 00 ad 0e 00 00 ac 0e 00 00 61 0e 00 00 53 0e 00 00 | b...>...=...............a...S... |
4040 | 25 0e 00 00 f2 0d 00 00 cf 0d 00 00 aa 0d 00 00 7c 0d 00 00 6e 0d 00 00 64 0d 00 00 63 0d 00 00 | %...............|...n...d...c... |
4060 | fa 0c 00 00 f0 0c 00 00 c6 0c 00 00 c5 0c 00 00 9a 0c 00 00 8c 0c 00 00 64 0c 00 00 63 0c 00 00 | ........................d...c... |
4080 | 0e 0c 00 00 cb 0b 00 00 ca 0b 00 00 7b 0b 00 00 69 0b 00 00 37 0b 00 00 00 0b 00 00 d9 0a 00 00 | ............{...i...7........... |
40a0 | b0 0a 00 00 7e 0a 00 00 6c 0a 00 00 56 0a 00 00 4c 0a 00 00 46 0a 00 00 44 0a 00 00 43 0a 00 00 | ....~...l...V...L...F...D...C... |
40c0 | f9 09 00 00 f7 09 00 00 dc 09 00 00 c3 09 00 00 c2 09 00 00 84 09 00 00 7e 09 00 00 5c 09 00 00 | ........................~...\... |
40e0 | 39 09 00 00 1b 09 00 00 fb 08 00 00 da 08 00 00 d9 08 00 00 70 08 00 00 66 08 00 00 3b 08 00 00 | 9...................p...f...;... |
4100 | 3a 08 00 00 e5 07 00 00 9d 07 00 00 9c 07 00 00 30 07 00 00 22 07 00 00 f0 06 00 00 c8 06 00 00 | :...............0..."........... |
4120 | ba 06 00 00 b0 06 00 00 af 06 00 00 46 06 00 00 3c 06 00 00 11 06 00 00 10 06 00 00 bb 05 00 00 | ............F...<............... |
4140 | 73 05 00 00 72 05 00 00 06 05 00 00 f8 04 00 00 c6 04 00 00 9e 04 00 00 90 04 00 00 86 04 00 00 | s...r........................... |
4160 | 85 04 00 00 84 04 00 00 1c 04 00 00 12 04 00 00 e8 03 00 00 e7 03 00 00 92 03 00 00 53 03 00 00 | ............................S... |
4180 | 52 03 00 00 07 03 00 00 f9 02 00 00 cb 02 00 00 98 02 00 00 75 02 00 00 50 02 00 00 22 02 00 00 | R...................u...P..."... |
41a0 | 14 02 00 00 13 02 00 00 12 02 00 00 b6 01 00 00 c1 01 00 00 00 00 20 20 20 20 20 20 20 20 20 20 | ................................ |
41c0 | 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 65 20 69 73 20 30 2e 30 31 22 20 | ..WHEN(."the.amplitude.is.0.01". |
41e0 | 29 20 2f 2f 20 4f 6e 6c 79 20 74 65 73 74 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 6d 70 6c 69 | ).//.Only.test.a.different.ampli |
4200 | 74 75 64 65 20 66 6f 72 20 6f 6e 65 20 63 61 73 65 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | tude.for.one.case............... |
4220 | 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c | }.................REQUIRE(actual |
4240 | 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .==.expected);.................. |
4260 | 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | CAPTURE(.expected.);............ |
4280 | 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 | .....CAPTURE(.actual.);......... |
42a0 | 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 | ........expected.=.xttest_ftom(f |
42c0 | 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 | requency);.................actua |
42e0 | 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 | l.=.xttest_ftom(result);........ |
4300 | 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 | .....{.............THEN(."the.de |
4320 | 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 | tected.F0.is.accurate.to.the.nea |
4340 | 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 | rest.MIDI.cent".)..............x |
4360 | 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 | tract_f0(table,.blocksize,.&samp |
4380 | 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 | lerate,.&result);.............xt |
43a0 | 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 | test_gen_sawtooth(table,.blocksi |
43c0 | 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 | ze,.samplerate,.frequency,.ampli |
43e0 | 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 | tude);..............double.frequ |
4400 | 65 6e 63 79 20 3d 20 33 34 34 2e 35 33 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 | ency.=.344.53125;.........{..... |
4420 | 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 33 34 34 2e | ....WHEN(."the.frequency.is.344. |
4440 | 35 33 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 | 53125.Hz".).//.period.of.exactly |
4460 | 20 31 32 38 20 73 61 6d 70 6c 65 73 3a 20 34 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c | .128.samples:.4.cycles.in.the.bl |
4480 | 6f 63 6b 00 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 | ock...........}.............}... |
44a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 65 73 75 6c 74 20 3d 3d 20 | ..............REQUIRE(result.==. |
44c0 | 30 2e 30 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 76 | 0.0);.................REQUIRE(rv |
44e0 | 20 3d 3d 20 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 29 3b 20 00 20 20 20 20 20 20 20 20 | .==.XTRACT_NO_RESULT);.......... |
4500 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 66 72 65 71 75 65 6e | ....{.............THEN(."frequen |
4520 | 63 79 20 64 65 74 65 63 74 69 6f 6e 20 66 61 69 6c 73 20 63 6f 72 72 65 63 74 6c 79 20 28 58 54 | cy.detection.fails.correctly.(XT |
4540 | 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 72 65 73 75 | RACT_NO_RESULT.is.returned,.resu |
4560 | 6c 74 20 73 65 74 20 74 6f 20 30 2e 30 29 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 69 | lt.set.to.0.0)".)..............i |
4580 | 6e 74 20 72 76 20 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 | nt.rv.=.xtract_f0(table,.blocksi |
45a0 | 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 | ze,.&samplerate,.&result);...... |
45c0 | 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 | .......xttest_gen_sawtooth(table |
45e0 | 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e | ,.blocksize,.samplerate,.frequen |
4600 | 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 | cy,.amplitude);..............dou |
4620 | 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 31 37 32 2e 32 36 35 36 32 35 3b 00 20 20 20 20 | ble.frequency.=.172.265625;..... |
4640 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e | ....{.........WHEN(."the.frequen |
4660 | 63 79 20 69 73 20 31 37 32 2e 32 36 35 36 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 | cy.is.172.265625.Hz".).//.period |
4680 | 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 20 73 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 6c 65 | .of.exactly.256.samples:.2.cycle |
46a0 | 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 | s.in.the.block..........}....... |
46c0 | 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 | ......}.................REQUIRE( |
46e0 | 72 65 73 75 6c 74 20 3d 3d 20 30 2e 30 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | result.==.0.0);................. |
4700 | 52 45 51 55 49 52 45 28 72 76 20 3d 3d 20 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 29 3b | REQUIRE(rv.==.XTRACT_NO_RESULT); |
4720 | 20 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e | ..............{.............THEN |
4740 | 28 20 22 66 72 65 71 75 65 6e 63 79 20 64 65 74 65 63 74 69 6f 6e 20 66 61 69 6c 73 20 63 6f 72 | (."frequency.detection.fails.cor |
4760 | 72 65 63 74 6c 79 20 28 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 20 69 73 20 72 65 74 75 | rectly.(XTRACT_NO_RESULT.is.retu |
4780 | 72 6e 65 64 2c 20 72 65 73 75 6c 74 20 73 65 74 20 74 6f 20 30 2e 30 29 22 20 29 00 00 20 20 20 | rned,.result.set.to.0.0)".)..... |
47a0 | 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 20 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c | .........int.rv.=.xtract_f0(tabl |
47c0 | 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 | e,.blocksize,.&samplerate,.&resu |
47e0 | 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 | lt);.............xttest_gen_sawt |
4800 | 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 | ooth(table,.blocksize,.samplerat |
4820 | 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 | e,.frequency,.amplitude);....... |
4840 | 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 38 36 2e 31 33 32 | .......double.frequency.=.86.132 |
4860 | 38 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 | 8125;.........{.........WHEN(."t |
4880 | 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 38 36 2e 31 33 32 38 31 32 35 20 48 7a 22 20 29 | he.frequency.is.86.1328125.Hz".) |
48a0 | 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 35 31 32 20 73 61 6d 70 6c 65 | .//.period.of.exactly.512.sample |
48c0 | 73 3a 20 31 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 | s:.1.cycles.in.the.block........ |
48e0 | 20 20 64 6f 75 62 6c 65 20 74 61 62 6c 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 | ..double.table[blocksize];...... |
4900 | 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 | ...double.amplitude.=.1.0;...... |
4920 | 20 20 20 64 6f 75 62 6c 65 20 72 65 73 75 6c 74 20 3d 20 2d 31 2e 30 3b 00 20 20 20 20 20 20 20 | ...double.result.=.-1.0;........ |
4940 | 20 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 74 65 20 3d 20 34 34 31 30 30 3b 00 20 20 20 20 | .double.samplerate.=.44100;..... |
4960 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 6c 6f 63 6b 73 69 7a 65 20 3d 20 35 31 32 3b 00 20 20 | ....uint32_t.blocksize.=.512;... |
4980 | 20 20 7b 00 20 20 20 20 47 49 56 45 4e 28 20 22 61 20 35 31 32 20 73 61 6d 70 6c 65 20 62 6c 6f | ..{.....GIVEN(."a.512.sample.blo |
49a0 | 63 6b 20 77 69 74 68 20 61 20 73 61 6d 70 6c 65 20 72 61 74 65 20 6f 66 20 34 34 31 30 30 22 20 | ck.with.a.sample.rate.of.44100". |
49c0 | 29 00 00 20 20 20 20 75 69 6e 74 31 36 5f 74 20 61 63 74 75 61 6c 20 3d 20 30 3b 00 20 20 20 20 | )......uint16_t.actual.=.0;..... |
49e0 | 75 69 6e 74 31 36 5f 74 20 65 78 70 65 63 74 65 64 20 3d 20 30 3b 00 7b 00 53 43 45 4e 41 52 49 | uint16_t.expected.=.0;.{.SCENARI |
4a00 | 4f 28 20 22 46 30 20 69 73 20 63 6f 72 72 65 63 74 6c 79 20 64 65 74 65 63 74 65 64 20 66 6f 72 | O(."F0.is.correctly.detected.for |
4a20 | 20 61 20 73 61 77 74 6f 6f 74 68 20 77 61 76 65 22 2c 20 22 5b 78 74 72 61 63 74 5f 66 30 5d 22 | .a.sawtooth.wave",."[xtract_f0]" |
4a40 | 20 29 00 00 7d 00 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 | .)..}.....}.........}........... |
4a60 | 20 20 7d 20 20 20 20 20 20 20 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 | ..}.........................}... |
4a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c | ..................REQUIRE(actual |
4aa0 | 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .==.expected);.................. |
4ac0 | 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 | ....CAPTURE(.expected.);........ |
4ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 | .............CAPTURE(.actual.);. |
4b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 | ....................expected.=.x |
4b20 | 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 | ttest_ftom(frequency);.......... |
4b40 | 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 | ...........actual.=.xttest_ftom( |
4b60 | 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 | result);.................{...... |
4b80 | 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 | ...........THEN(."the.detected.F |
4ba0 | 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 | 0.is.accurate.to.the.nearest.MID |
4bc0 | 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 | I.cent".)..................xtrac |
4be0 | 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 | t_f0(table,.blocksize,.&samplera |
4c00 | 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 | te,.&result);.................xt |
4c20 | 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 | test_gen_sine(table,.blocksize,. |
4c40 | 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 | samplerate,.frequency,.amplitude |
4c60 | 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 | );..................double.ampli |
4c80 | 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | tude.=.1.0;.............{....... |
4ca0 | 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 65 20 69 73 20 31 2e | ......WHEN(."the.amplitude.is.1. |
4cc0 | 30 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e | 0".)..............double.frequen |
4ce0 | 63 79 20 3d 20 33 34 34 2e 35 33 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | cy.=.344.53125;.........{....... |
4d00 | 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 33 34 34 2e 35 33 | ..WHEN(."the.frequency.is.344.53 |
4d20 | 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 31 | 125.Hz".).//.period.of.exactly.1 |
4d40 | 32 38 20 73 61 6d 70 6c 65 73 3a 20 31 36 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f | 28.samples:.16.cycles.in.the.blo |
4d60 | 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 | ck..........}.............}..... |
4d80 | 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 | ............REQUIRE(actual.==.ex |
4da0 | 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 | pected);..................CAPTUR |
4dc0 | 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 | E(.expected.);.................C |
4de0 | 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | APTURE(.actual.);............... |
4e00 | 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e | ..expected.=.xttest_ftom(frequen |
4e20 | 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 | cy);.................actual.=.xt |
4e40 | 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b | test_ftom(result);.............{ |
4e60 | 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 | .............THEN(."the.detected |
4e80 | 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d | .F0.is.accurate.to.the.nearest.M |
4ea0 | 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f | IDI.cent".)..............xtract_ |
4ec0 | 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 | f0(table,.blocksize,.&samplerate |
4ee0 | 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 | ,.&result);.............xttest_g |
4f00 | 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 | en_sine(table,.blocksize,.sample |
4f20 | 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 | rate,.frequency,.amplitude);.... |
4f40 | 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 | ..........double.amplitude.=.1.0 |
4f60 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d | ;.............double.frequency.= |
4f80 | 20 31 37 32 2e 32 36 35 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 | .172.265625;.........{.........W |
4fa0 | 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 37 32 2e 32 36 35 36 32 | HEN(."the.frequency.is.172.26562 |
4fc0 | 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 | 5.Hz".).//.period.of.exactly.256 |
4fe0 | 20 73 61 6d 70 6c 65 73 3a 20 38 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 | .samples:.8.cycles.in.the.block. |
5000 | 61 64 00 00 03 00 00 00 b3 01 00 00 00 10 00 00 65 00 00 00 00 00 00 00 f2 0f 00 00 c9 0f 00 00 | ad..............e............... |
5020 | c8 0f 00 00 6f 0f 00 00 2c 0f 00 00 2b 0f 00 00 dc 0e 00 00 ca 0e 00 00 98 0e 00 00 61 0e 00 00 | ....o...,...+...............a... |
5040 | 3a 0e 00 00 11 0e 00 00 df 0d 00 00 cd 0d 00 00 bf 0d 00 00 b5 0d 00 00 af 0d 00 00 ae 0d 00 00 | :............................... |
5060 | 6f 0d 00 00 69 0d 00 00 41 0d 00 00 18 0d 00 00 f0 0c 00 00 c9 0c 00 00 a8 0c 00 00 a7 0c 00 00 | o...i...A....................... |
5080 | 3e 0c 00 00 34 0c 00 00 09 0c 00 00 08 0c 00 00 b3 0b 00 00 6b 0b 00 00 6a 0b 00 00 fe 0a 00 00 | >...4...............k...j....... |
50a0 | f0 0a 00 00 be 0a 00 00 96 0a 00 00 88 0a 00 00 7e 0a 00 00 7d 0a 00 00 20 0a 00 00 16 0a 00 00 | ................~...}........... |
50c0 | f2 09 00 00 f1 09 00 00 9c 09 00 00 5d 09 00 00 5c 09 00 00 11 09 00 00 03 09 00 00 d5 08 00 00 | ............]...\............... |
50e0 | a2 08 00 00 7f 08 00 00 5a 08 00 00 2c 08 00 00 1e 08 00 00 14 08 00 00 13 08 00 00 b4 07 00 00 | ........Z...,................... |
5100 | aa 07 00 00 86 07 00 00 85 07 00 00 30 07 00 00 f1 06 00 00 f0 06 00 00 96 06 00 00 88 06 00 00 | ............0................... |
5120 | 5a 06 00 00 0b 06 00 00 e8 05 00 00 c3 05 00 00 95 05 00 00 87 05 00 00 7d 05 00 00 7c 05 00 00 | Z.......................}...|... |
5140 | 7b 05 00 00 12 05 00 00 08 05 00 00 dd 04 00 00 dc 04 00 00 87 04 00 00 48 04 00 00 47 04 00 00 | {.......................H...G... |
5160 | fc 03 00 00 ee 03 00 00 c0 03 00 00 8d 03 00 00 6a 03 00 00 45 03 00 00 17 03 00 00 09 03 00 00 | ................j...E........... |
5180 | ff 02 00 00 fe 02 00 00 96 02 00 00 8c 02 00 00 62 02 00 00 3d 02 00 00 0e 02 00 00 ed 01 00 00 | ................b...=........... |
51a0 | ec 01 00 00 c1 01 00 00 b3 01 00 00 c6 01 00 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7b | ...............................{ |
51c0 | 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 | .............WHEN(."the.amplitud |
51e0 | 65 20 69 73 20 31 2e 30 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 | e.is.1.0".)..............CAPTURE |
5200 | 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 | (.expected.);.............expect |
5220 | 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 | ed.=.xttest_ftom(frequency);.... |
5240 | 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d | .........double.noise[blocksize] |
5260 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d | ;.............double.frequency.= |
5280 | 20 33 34 34 2e 35 33 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 | .344.53125;.........{.........WH |
52a0 | 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 33 34 34 2e 35 33 31 32 35 20 | EN(."the.frequency.is.344.53125. |
52c0 | 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 31 32 38 20 73 | Hz".).//.period.of.exactly.128.s |
52e0 | 61 6d 70 6c 65 73 3a 20 38 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 | amples:.8.cycles.in.the.block... |
5300 | 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 | .......}.............}.......... |
5320 | 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 | .......REQUIRE(actual.==.expecte |
5340 | 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 | d);..................CAPTURE(.ex |
5360 | 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 | pected.);.................CAPTUR |
5380 | 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 | E(.actual.);.................exp |
53a0 | 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 | ected.=.xttest_ftom(frequency);. |
53c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f | ................actual.=.xttest_ |
53e0 | 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 | ftom(result);.............{..... |
5400 | 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 | ........THEN(."the.detected.F0.i |
5420 | 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 | s.accurate.to.the.nearest.MIDI.c |
5440 | 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 | ent".)..............xtract_f0(ta |
5460 | 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 | ble,.blocksize,.&samplerate,.&re |
5480 | 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 | sult);.............xttest_gen_sa |
54a0 | 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 | wtooth(table,.blocksize,.sampler |
54c0 | 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 | ate,.frequency,.amplitude);..... |
54e0 | 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 31 37 32 2e | .........double.frequency.=.172. |
5500 | 32 36 35 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 | 265625;.........{.........WHEN(. |
5520 | 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 37 32 2e 32 36 35 36 32 35 20 48 7a 22 | "the.frequency.is.172.265625.Hz" |
5540 | 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 20 73 61 6d 70 | .).//.period.of.exactly.256.samp |
5560 | 6c 65 73 3a 20 34 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 00 20 20 20 | les:.4.cycles.in.the.block...... |
5580 | 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 | .....}.............}............ |
55a0 | 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 | .....REQUIRE(actual.==.expected) |
55c0 | 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 | ;..................CAPTURE(.expe |
55e0 | 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 | cted.);.................CAPTURE( |
5600 | 20 72 65 73 75 6c 74 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 | .result.);.................expec |
5620 | 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 31 35 35 2e 32 38 31 36 39 30 31 34 29 3b | ted.=.xttest_ftom(155.28169014); |
5640 | 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 32 38 34 20 73 61 6d 70 6c 65 73 00 20 20 20 20 20 20 | .//.period.of.284.samples....... |
5660 | 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 | ..........actual.=.xttest_ftom(r |
5680 | 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 | esult);.............{........... |
56a0 | 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 71 75 61 6e | ..THEN(."the.detected.F0.is.quan |
56c0 | 74 69 7a 65 64 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 77 68 6f 6c 65 20 6e 75 6d 62 65 | tized.to.the.nearest.whole.numbe |
56e0 | 72 20 6f 66 20 73 61 6d 70 6c 65 73 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 | r.of.samples".)..............xtr |
5700 | 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 | act_f0(table,.blocksize,.&sample |
5720 | 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 | rate,.&result);.............xtte |
5740 | 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 | st_gen_sawtooth(table,.blocksize |
5760 | 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 | ,.samplerate,.frequency,.amplitu |
5780 | 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e | de);..............double.frequen |
57a0 | 63 79 20 3d 20 31 35 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e | cy.=.155;.........{.........WHEN |
57c0 | 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 35 35 20 48 7a 22 20 29 20 2f 2f | (."the.frequency.is.155.Hz".).// |
57e0 | 20 70 65 72 69 6f 64 20 6f 66 20 32 38 34 2e 35 32 20 73 61 6d 70 6c 65 73 3a 20 33 2e 36 20 63 | .period.of.284.52.samples:.3.6.c |
5800 | 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 | ycles.in.the.block..........}... |
5820 | 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 | ..........}.................REQU |
5840 | 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 | IRE(actual.==.expected);........ |
5860 | 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 | ..........CAPTURE(.expected.);.. |
5880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 | ...............CAPTURE(.actual.) |
58a0 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 | ;.................expected.=.xtt |
58c0 | 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | est_ftom(frequency);............ |
58e0 | 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 | .....actual.=.xttest_ftom(result |
5900 | 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 | );.............{.............THE |
5920 | 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 | N(."the.detected.F0.is.accurate. |
5940 | 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 | to.the.nearest.MIDI.cent".)..... |
5960 | 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 | .........xtract_f0(table,.blocks |
5980 | 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 | ize,.&samplerate,.&result);..... |
59a0 | 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c | ........xttest_gen_sawtooth(tabl |
59c0 | 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 | e,.blocksize,.samplerate,.freque |
59e0 | 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f | ncy,.amplitude);..............do |
5a00 | 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 31 34 30 3b 00 20 20 20 20 20 20 20 20 7b 00 | uble.frequency.=.140;.........{. |
5a20 | 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 | ........WHEN(."the.frequency.is. |
5a40 | 31 34 30 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 33 31 35 20 73 61 6d 70 6c | 140.Hz".).//.period.of.315.sampl |
5a60 | 65 73 3a 20 33 2e 32 35 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 | es:.3.25.cycles.in.the.block.... |
5a80 | 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 | ......}.............}........... |
5aa0 | 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 65 73 75 6c 74 20 3d 3d 20 30 2e 30 29 3b 00 20 20 | ......REQUIRE(result.==.0.0);... |
5ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 76 20 3d 3d 20 58 54 52 41 | ..............REQUIRE(rv.==.XTRA |
5ae0 | 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 | CT_NO_RESULT);..............{... |
5b00 | 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 66 72 65 71 75 65 6e 63 79 20 64 65 74 65 63 | ..........THEN(."frequency.detec |
5b20 | 74 69 6f 6e 20 66 61 69 6c 73 20 63 6f 72 72 65 63 74 6c 79 20 28 58 54 52 41 43 54 5f 4e 4f 5f | tion.fails.correctly.(XTRACT_NO_ |
5b40 | 52 45 53 55 4c 54 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 72 65 73 75 6c 74 20 73 65 74 20 74 | RESULT.is.returned,.result.set.t |
5b60 | 6f 20 30 2e 30 29 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 20 3d 20 | o.0.0)".)..............int.rv.=. |
5b80 | 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d | xtract_f0(table,.blocksize,.&sam |
5ba0 | 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 | plerate,.&result);.............x |
5bc0 | 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 | ttest_gen_sawtooth(table,.blocks |
5be0 | 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c | ize,.samplerate,.frequency,.ampl |
5c00 | 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 | itude);..............double.freq |
5c20 | 75 65 6e 63 79 20 3d 20 38 36 2e 31 33 32 38 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 | uency.=.86.1328125;.........{... |
5c40 | 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 38 36 | ......WHEN(."the.frequency.is.86 |
5c60 | 2e 31 33 32 38 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 | .1328125.Hz".).//.period.of.exac |
5c80 | 74 6c 79 20 35 31 32 20 73 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 | tly.512.samples:.2.cycles.in.the |
5ca0 | 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 61 62 6c 65 5b 62 6c 6f | .block..........double.table[blo |
5cc0 | 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 | cksize];.........double.amplitud |
5ce0 | 65 20 20 20 20 20 20 20 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 72 | e........=.1.0;.........double.r |
5d00 | 65 73 75 6c 74 20 20 20 20 20 20 20 20 20 20 20 3d 20 2d 31 2e 30 3b 00 20 20 20 20 20 20 20 20 | esult...........=.-1.0;......... |
5d20 | 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 74 65 20 20 20 20 20 20 20 3d 20 34 34 31 30 30 3b | double.samplerate.......=.44100; |
5d40 | 00 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 6c 6f 63 6b 73 69 7a 65 20 20 20 20 20 | .........uint32_t.blocksize..... |
5d60 | 20 3d 20 31 30 32 34 3b 00 20 20 20 20 7b 00 20 20 20 20 47 49 56 45 4e 28 20 22 61 20 31 30 32 | .=.1024;.....{.....GIVEN(."a.102 |
5d80 | 34 20 73 61 6d 70 6c 65 20 62 6c 6f 63 6b 20 77 69 74 68 20 61 20 73 61 6d 70 6c 65 20 72 61 74 | 4.sample.block.with.a.sample.rat |
5da0 | 65 20 6f 66 20 34 34 31 30 30 22 20 29 00 00 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 7d 00 20 | e.of.44100".)......}.........}.. |
5dc0 | 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 | ...........}.................}.. |
5de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 | ...................REQUIRE(actua |
5e00 | 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l.==.expected);................. |
5e20 | 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 | .....CAPTURE(.expected.);....... |
5e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b | ..............CAPTURE(.actual.); |
5e60 | 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 | .....................expected.=. |
5e80 | 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 | xttest_ftom(frequency);......... |
5ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d | ............actual.=.xttest_ftom |
5ec0 | 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 | (result);.................{..... |
5ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 | ............THEN(."the.detected. |
5f00 | 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 | F0.is.accurate.to.the.nearest.MI |
5f20 | 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 | DI.cent".)..................xtra |
5f40 | 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 | ct_f0(table,.blocksize,.&sampler |
5f60 | 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 | ate,.&result);.................x |
5f80 | 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 | ttest_gen_sawtooth(table,.blocks |
5fa0 | 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c | ize,.samplerate,.frequency,.ampl |
5fc0 | 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 | itude);..................double. |
5fe0 | 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 30 31 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 | amplitude.=.0.01;.............{. |
6000 | 61 64 00 00 0b 00 00 00 9b 01 00 00 00 10 00 00 5d 00 00 00 00 00 00 00 a7 0f 00 00 64 0f 00 00 | ad..............]...........d... |
6020 | 63 0f 00 00 14 0f 00 00 02 0f 00 00 d0 0e 00 00 a9 0e 00 00 77 0e 00 00 65 0e 00 00 57 0e 00 00 | c...................w...e...W... |
6040 | 56 0e 00 00 fa 0d 00 00 ec 0d 00 00 ca 0d 00 00 c9 0d 00 00 70 0d 00 00 2d 0d 00 00 2c 0d 00 00 | V...................p...-...,... |
6060 | dd 0c 00 00 cb 0c 00 00 99 0c 00 00 72 0c 00 00 40 0c 00 00 2e 0c 00 00 20 0c 00 00 1f 0c 00 00 | ............r...@............... |
6080 | cd 0b 00 00 bf 0b 00 00 9e 0b 00 00 9d 0b 00 00 3e 0b 00 00 ff 0a 00 00 ca 0a 00 00 87 0a 00 00 | ................>............... |
60a0 | 86 0a 00 00 37 0a 00 00 25 0a 00 00 f3 09 00 00 cc 09 00 00 9a 09 00 00 88 09 00 00 7a 09 00 00 | ....7...%...................z... |
60c0 | 79 09 00 00 47 09 00 00 39 09 00 00 18 09 00 00 17 09 00 00 b8 08 00 00 79 08 00 00 44 08 00 00 | y...G...9...............y...D... |
60e0 | 01 08 00 00 00 08 00 00 b1 07 00 00 9f 07 00 00 6d 07 00 00 46 07 00 00 14 07 00 00 02 07 00 00 | ................m...F........... |
6100 | f4 06 00 00 f3 06 00 00 c1 06 00 00 b3 06 00 00 91 06 00 00 90 06 00 00 31 06 00 00 f2 05 00 00 | ........................1....... |
6120 | bd 05 00 00 7a 05 00 00 79 05 00 00 2b 05 00 00 19 05 00 00 e7 04 00 00 b4 04 00 00 81 04 00 00 | ....z...y...+................... |
6140 | 5a 04 00 00 2c 04 00 00 fe 03 00 00 ec 03 00 00 de 03 00 00 dd 03 00 00 ab 03 00 00 9d 03 00 00 | Z...,........................... |
6160 | 7b 03 00 00 7a 03 00 00 1b 03 00 00 dc 02 00 00 a7 02 00 00 64 02 00 00 63 02 00 00 11 02 00 00 | {...z...............d...c....... |
6180 | ff 01 00 00 cd 01 00 00 9b 01 00 00 b2 01 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 20 | ................................ |
61a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d 20 65 78 | ...............uint16_t.min.=.ex |
61c0 | 70 65 63 74 65 64 20 2d 20 35 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pected.-.50;.................... |
61e0 | 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 | .actual.=.xttest_ftom(result);.. |
6200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...............{................ |
6220 | 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 | .THEN(."the.detected.F0.is.accur |
6240 | 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 71 75 61 72 74 65 72 2d 74 6f 6e 65 22 | ate.to.the.nearest.quarter-tone" |
6260 | 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 | .)..................xtract_f0(ta |
6280 | 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 | ble,.blocksize,.&samplerate,.&re |
62a0 | 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 | sult);.................xttest_ad |
62c0 | 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 | d(table,.noise,.blocksize);..... |
62e0 | 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 | ............xttest_gen_noise(noi |
6300 | 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 | se,.blocksize,.amplitude);...... |
6320 | 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 | ...........xttest_gen_sawtooth(t |
6340 | 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 | able,.blocksize,.samplerate,.fre |
6360 | 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 | quency,.1.0.-.amplitude);....... |
6380 | 20 20 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 32 35 3b 00 20 20 20 | ...........amplitude.=.0.25;.... |
63a0 | 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 | .........{.............WHEN(."wh |
63c0 | 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 33 30 25 22 20 29 00 00 20 20 | ite.noise.is.added.at.30%".).... |
63e0 | 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 | ..........}.................}... |
6400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 | ..................REQUIRE(.actua |
6420 | 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l.<.max.);...................... |
6440 | 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d 69 6e 20 29 3b 20 00 20 20 20 20 20 20 | REQUIRE(.actual.>.min.);........ |
6460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b | ..............CAPTURE(.actual.); |
6480 | 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 61 | .....................uint16_t.ma |
64a0 | 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | x.=.expected.+.100;............. |
64c0 | 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d 20 65 78 70 65 63 74 65 64 20 | ........uint16_t.min.=.expected. |
64e0 | 2d 20 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 | -.100;.....................actua |
6500 | 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 | l.=.xttest_ftom(result);........ |
6520 | 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 | .........{.................THEN( |
6540 | 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f | ."the.detected.F0.is.accurate.to |
6560 | 20 74 68 65 20 6e 65 61 72 65 73 74 20 73 65 6d 69 74 6f 6e 65 22 20 29 00 00 20 20 20 20 20 20 | .the.nearest.semitone".)........ |
6580 | 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b | ..........xtract_f0(table,.block |
65a0 | 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 | size,.&samplerate,.&result);.... |
65c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e | .............xttest_add(table,.n |
65e0 | 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oise,.blocksize);............... |
6600 | 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 | ..xttest_gen_noise(noise,.blocks |
6620 | 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ize,.amplitude);................ |
6640 | 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 | .xttest_gen_sawtooth(table,.bloc |
6660 | 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e | ksize,.samplerate,.frequency,.1. |
6680 | 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 0.-.amplitude);................. |
66a0 | 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 32 35 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b | .amplitude.=.0.25;.............{ |
66c0 | 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 | .............WHEN(."white.noise. |
66e0 | 69 73 20 61 64 64 65 64 20 61 74 20 32 35 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | is.added.at.25%".).............. |
6700 | 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 | }.................}............. |
6720 | 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 | ........REQUIRE(actual.==.expect |
6740 | 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 | ed);......................CAPTUR |
6760 | 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | E(.actual.);.................... |
6780 | 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 | .actual.=.xttest_ftom(result);.. |
67a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...............{................ |
67c0 | 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 | .THEN(."the.detected.F0.is.accur |
67e0 | 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 | ate.to.the.nearest.MIDI.cent".). |
6800 | 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 | .................xtract_f0(table |
6820 | 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c | ,.blocksize,.&samplerate,.&resul |
6840 | 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 | t);.................xttest_add(t |
6860 | 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 | able,.noise,.blocksize);........ |
6880 | 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c | .........xttest_gen_noise(noise, |
68a0 | 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 | .blocksize,.amplitude);......... |
68c0 | 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c | ........xttest_gen_sawtooth(tabl |
68e0 | 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 | e,.blocksize,.samplerate,.freque |
6900 | 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 | ncy,.1.0.-.amplitude);.......... |
6920 | 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 32 3b 00 20 20 20 20 20 20 20 | ........amplitude.=.0.2;........ |
6940 | 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 | .....{.............WHEN(."white. |
6960 | 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 32 30 25 22 20 29 00 00 20 20 20 20 20 20 | noise.is.added.at.20%".)........ |
6980 | 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 | ......}.................}....... |
69a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 | ..............REQUIRE(actual.==. |
69c0 | 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | expected);...................... |
69e0 | 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | CAPTURE(.actual.);.............. |
6a00 | 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 | .......actual.=.xttest_ftom(resu |
6a20 | 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 | lt);.................{.......... |
6a40 | 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 | .......THEN(."the.detected.F0.is |
6a60 | 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 | .accurate.to.the.nearest.MIDI.ce |
6a80 | 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 | nt".)..................xtract_f0 |
6aa0 | 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 | (table,.blocksize,.&samplerate,. |
6ac0 | 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 | &result);.................xttest |
6ae0 | 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 | _add(table,.noise,.blocksize);.. |
6b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 | ...............xttest_gen_noise( |
6b20 | 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 | noise,.blocksize,.amplitude);... |
6b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 | ..............xttest_gen_sawtoot |
6b60 | 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 | h(table,.blocksize,.samplerate,. |
6b80 | 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 | frequency,.1.0.-.amplitude);.... |
6ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 31 3b 00 20 | ..............amplitude.=.0.1;.. |
6bc0 | 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 | ...........{.............WHEN(." |
6be0 | 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 31 30 25 22 20 29 20 2f | white.noise.is.added.at.10%".)./ |
6c00 | 2f 20 4f 6e 6c 79 20 74 65 73 74 20 6e 6f 69 73 65 20 66 6f 72 20 6f 6e 65 20 63 61 73 65 00 00 | /.Only.test.noise.for.one.case.. |
6c20 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 | ............}.................}. |
6c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 | ....................REQUIRE(actu |
6c60 | 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | al.==.expected);................ |
6c80 | 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 | ......CAPTURE(.actual.);........ |
6ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f | .............actual.=.xttest_fto |
6cc0 | 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 | m(result);.................{.... |
6ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 | .............THEN(."the.detected |
6d00 | 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d | .F0.is.accurate.to.the.nearest.M |
6d20 | 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 | IDI.cent".)..................xtr |
6d40 | 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 | act_f0(table,.blocksize,.&sample |
6d60 | 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rate,.&result);................. |
6d80 | 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b | xttest_gen_sawtooth(table,.block |
6da0 | 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 | size,.samplerate,.frequency,.amp |
6dc0 | 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 | litude);..................amplit |
6de0 | 75 64 65 20 3d 20 30 2e 30 31 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | ude.=.0.01;.............{....... |
6e00 | 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 65 20 69 73 20 30 2e | ......WHEN(."the.amplitude.is.0. |
6e20 | 30 31 22 20 29 20 2f 2f 20 4f 6e 6c 79 20 74 65 73 74 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 | 01".).//.Only.test.a.different.a |
6e40 | 6d 70 6c 69 74 75 64 65 20 66 6f 72 20 6f 6e 65 20 63 61 73 65 00 00 20 20 20 20 20 20 20 20 20 | mplitude.for.one.case........... |
6e60 | 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 | ...}.................}.......... |
6e80 | 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 | ...........REQUIRE(actual.==.exp |
6ea0 | 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 | ected);......................CAP |
6ec0 | 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | TURE(.actual.);................. |
6ee0 | 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 | ....actual.=.xttest_ftom(result) |
6f00 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 | ;.................{............. |
6f20 | 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 | ....THEN(."the.detected.F0.is.ac |
6f40 | 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 | curate.to.the.nearest.MIDI.cent" |
6f60 | 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 | .)..................xtract_f0(ta |
6f80 | 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 | ble,.blocksize,.&samplerate,.&re |
6fa0 | 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 | sult);.................xttest_ge |
6fc0 | 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d | n_sawtooth(table,.blocksize,.sam |
6fe0 | 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 | plerate,.frequency,.amplitude);. |
7000 | 61 64 00 00 45 0f 00 00 6d 0f 00 00 00 10 00 00 03 00 00 00 00 00 00 00 bd 0f 00 00 bc 0f 00 00 | ad..E...m....................... |
7020 | 6d 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | m............................... |
7040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
70a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
70c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
70e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
71a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
71c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
71e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
72a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
72c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
72e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
73a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
73c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
73e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
74a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
74c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
74e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
75a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
75c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
75e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
76a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
76c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
76e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
77a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
77c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
77e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
78a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
78c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
78e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
79a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
79c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
79e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 | .............................THE |
7f80 | 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 | N(."the.detected.F0.is.accurate. |
7fa0 | 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 | to.the.nearest.MIDI.cent".)..... |
7fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c | .............xtract_f0(table,.bl |
7fe0 | 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 | ocksize,.&samplerate,.&result);. |
8000 | 61 64 00 00 9d 00 00 00 39 02 00 00 00 10 00 00 60 00 00 00 00 00 00 00 ce 0f 00 00 a7 0f 00 00 | ad......9.......`............... |
8020 | 79 0f 00 00 4b 0f 00 00 39 0f 00 00 2b 0f 00 00 2a 0f 00 00 f8 0e 00 00 ea 0e 00 00 c8 0e 00 00 | y...K...9...+...*............... |
8040 | c7 0e 00 00 68 0e 00 00 29 0e 00 00 f4 0d 00 00 b1 0d 00 00 b0 0d 00 00 5e 0d 00 00 4c 0d 00 00 | ....h...)...............^...L... |
8060 | 1a 0d 00 00 d8 0c 00 00 b1 0c 00 00 7f 0c 00 00 6d 0c 00 00 5f 0c 00 00 55 0c 00 00 4f 0c 00 00 | ................m..._...U...O... |
8080 | 4e 0c 00 00 0f 0c 00 00 09 0c 00 00 e1 0b 00 00 b8 0b 00 00 90 0b 00 00 6f 0b 00 00 6e 0b 00 00 | N.......................o...n... |
80a0 | 05 0b 00 00 fb 0a 00 00 d0 0a 00 00 ac 0a 00 00 ab 0a 00 00 56 0a 00 00 0e 0a 00 00 0d 0a 00 00 | ....................V........... |
80c0 | c2 09 00 00 b4 09 00 00 86 09 00 00 53 09 00 00 30 09 00 00 0b 09 00 00 dd 08 00 00 cb 08 00 00 | ............S...0............... |
80e0 | c1 08 00 00 c0 08 00 00 57 08 00 00 4d 08 00 00 22 08 00 00 fe 07 00 00 fd 07 00 00 a8 07 00 00 | ........W...M..."............... |
8100 | 69 07 00 00 68 07 00 00 1d 07 00 00 0f 07 00 00 e1 06 00 00 ae 06 00 00 8b 06 00 00 66 06 00 00 | i...h.......................f... |
8120 | 38 06 00 00 2a 06 00 00 20 06 00 00 1f 06 00 00 b7 05 00 00 ad 05 00 00 83 05 00 00 54 05 00 00 | 8...*.......................T... |
8140 | 33 05 00 00 32 05 00 00 07 05 00 00 f9 04 00 00 d1 04 00 00 d0 04 00 00 77 04 00 00 34 04 00 00 | 3...2...................w...4... |
8160 | 33 04 00 00 e4 03 00 00 d2 03 00 00 a0 03 00 00 79 03 00 00 47 03 00 00 35 03 00 00 27 03 00 00 | 3...............y...G...5...'... |
8180 | 26 03 00 00 ca 02 00 00 bc 02 00 00 93 02 00 00 92 02 00 00 39 02 00 00 e4 01 00 00 f9 01 00 00 | &...................9........... |
81a0 | aa 01 00 00 b9 01 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 | ..........................THEN(. |
81c0 | 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 | "the.detected.F0.is.accurate.to. |
81e0 | 74 68 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 | the.................xttest_gen_s |
8200 | 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 | awtooth(table,.blocksize,.sample |
8220 | 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 20 20 20 20 20 20 20 | rate,.frequency,.amplitud....... |
8240 | 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 | .........xttest_gen_sawtooth(tab |
8260 | 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 | le,.blocksize,.samplerate,.frequ |
8280 | 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | ency,.amplitude);............... |
82a0 | 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 30 31 3b 00 20 20 20 20 | ...double.amplitude.=.0.01;..... |
82c0 | 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 | ........{.............WHEN(."the |
82e0 | 20 61 6d 70 6c 69 74 75 64 65 20 69 73 20 30 2e 30 31 22 20 29 20 2f 2f 20 4f 6e 6c 79 20 74 65 | .amplitude.is.0.01".).//.Only.te |
8300 | 73 74 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 6d 70 6c 69 74 75 64 65 20 66 6f 72 20 6f 6e 65 | st.a.different.amplitude.for.one |
8320 | 20 63 61 73 65 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 | .case..............}............ |
8340 | 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 | .....}.....................REQUI |
8360 | 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 | RE(actual.==.expected);......... |
8380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 | .............CAPTURE(.actual.);. |
83a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 | ....................actual.=.xtt |
83c0 | 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est_ftom(result);............... |
83e0 | 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 | ..{.................THEN(."the.d |
8400 | 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 | etected.F0.is.accurate.to.the.ne |
8420 | 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | arest.MIDI.cent".).............. |
8440 | 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 | ....xtract_f0(table,.blocksize,. |
8460 | 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 | &samplerate,.&result);.......... |
8480 | 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 | .......xttest_gen_sawtooth(table |
84a0 | 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e | ,.blocksize,.samplerate,.frequen |
84c0 | 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cy,.amplitude);................. |
84e0 | 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 | .double.amplitude.=.1.0;........ |
8500 | 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d | .....{.............WHEN(."the.am |
8520 | 70 6c 69 74 75 64 65 20 69 73 20 31 2e 30 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 43 | plitude.is.1.0".)..............C |
8540 | 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | APTURE(.expected.);............. |
8560 | 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 | expected.=.xttest_ftom(frequency |
8580 | 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 | );.............double.frequency. |
85a0 | 3d 20 33 34 34 2e 35 33 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 | =.344.53125;.........{.........W |
85c0 | 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 33 34 34 2e 35 33 31 32 35 | HEN(."the.frequency.is.344.53125 |
85e0 | 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 31 32 38 20 | .Hz".).//.period.of.exactly.128. |
8600 | 73 61 6d 70 6c 65 73 3a 20 38 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 | samples:.8.cycles.in.the.block.. |
8620 | 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 | ........}.............}......... |
8640 | 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 | ........REQUIRE(actual.==.expect |
8660 | 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 | ed);..................CAPTURE(.e |
8680 | 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 | xpected.);.................CAPTU |
86a0 | 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 | RE(.actual.);.................ex |
86c0 | 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b | pected.=.xttest_ftom(frequency); |
86e0 | 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 | .................actual.=.xttest |
8700 | 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 | _ftom(result);.............{.... |
8720 | 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 | .........THEN(."the.detected.F0. |
8740 | 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 | is.accurate.to.the.nearest.MIDI. |
8760 | 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 | cent".)..............xtract_f0(t |
8780 | 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 | able,.blocksize,.&samplerate,.&r |
87a0 | 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 | esult);.............xttest_gen_s |
87c0 | 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 | awtooth(table,.blocksize,.sample |
87e0 | 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 | rate,.frequency,.amplitude);.... |
8800 | 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 | ..........double.amplitude.=.1.0 |
8820 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d | ;.............double.frequency.= |
8840 | 20 31 37 32 2e 32 36 35 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 | .172.265625;.........{.........W |
8860 | 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 37 32 2e 32 36 35 36 32 | HEN(."the.frequency.is.172.26562 |
8880 | 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 | 5.Hz".).//.period.of.exactly.256 |
88a0 | 20 73 61 6d 70 6c 65 73 3a 20 34 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 | .samples:.4.cycles.in.the.block. |
88c0 | 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20 20 00 20 20 20 | .........}.............}........ |
88e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 | .............REQUIRE(actual.==.e |
8900 | 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 | xpected);..................CAPTU |
8920 | 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | RE(.expected.);................. |
8940 | 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | CAPTURE(.actual.);.............. |
8960 | 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 | ...expected.=.xttest_ftom(freque |
8980 | 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 | ncy);.................actual.=.x |
89a0 | 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | ttest_ftom(result);............. |
89c0 | 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 | {.............THEN(."the.detecte |
89e0 | 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 | d.F0.is.accurate.to.the.nearest. |
8a00 | 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 | MIDI.cent".)..............int.rv |
8a20 | 20 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 | .=.xtract_f0(table,.blocksize,.& |
8a40 | 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 | samplerate,.&result);........... |
8a60 | 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f | ..xttest_gen_sawtooth(table,.blo |
8a80 | 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 | cksize,.samplerate,.frequency,.a |
8aa0 | 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 | mplitude);..............double.a |
8ac0 | 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 | mplitude.=.1.0;.............doub |
8ae0 | 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 38 36 2e 31 33 32 38 31 32 35 3b 00 20 20 20 20 20 | le.frequency.=.86.1328125;...... |
8b00 | 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 | ...{.........WHEN(."the.frequenc |
8b20 | 79 20 69 73 20 38 36 2e 31 33 32 38 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 | y.is.86.1328125.Hz".).//.period. |
8b40 | 6f 66 20 65 78 61 63 74 6c 79 20 35 31 32 20 73 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 6c 65 73 | of.exactly.512.samples:.2.cycles |
8b60 | 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 61 | .in.the.block..........double.ta |
8b80 | 62 6c 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 72 | ble[blocksize];.........double.r |
8ba0 | 65 73 75 6c 74 20 20 20 20 20 20 20 20 20 20 20 3d 20 2d 31 2e 30 3b 00 20 20 20 20 20 20 20 20 | esult...........=.-1.0;......... |
8bc0 | 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 74 65 20 20 20 20 20 20 20 3d 20 31 31 30 32 35 3b | double.samplerate.......=.11025; |
8be0 | 00 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 6c 6f 63 6b 73 69 7a 65 20 20 20 20 20 | .........uint32_t.blocksize..... |
8c00 | 20 3d 20 31 30 32 34 3b 00 20 20 20 20 7b 00 20 20 20 20 47 49 56 45 4e 28 20 22 61 20 31 30 32 | .=.1024;.....{.....GIVEN(."a.102 |
8c20 | 34 20 73 61 6d 70 6c 65 20 62 6c 6f 63 6b 20 77 69 74 68 20 61 20 73 61 6d 70 6c 65 20 72 61 74 | 4.sample.block.with.a.sample.rat |
8c40 | 65 20 6f 66 20 31 31 30 32 35 22 20 29 00 00 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 7d 00 20 | e.of.11025".)......}.........}.. |
8c60 | 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 | ...........}.................}.. |
8c80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 64 69 66 66 | ...................REQUIRE(.diff |
8ca0 | 65 72 65 6e 63 65 20 3e 20 31 30 30 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | erence.>.100.);................. |
8cc0 | 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 | .....CAPTURE(.actual.);......... |
8ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 64 69 66 66 65 72 65 6e 63 65 20 | ............uint16_t.difference. |
8d00 | 3d 20 61 62 73 28 65 78 70 65 63 74 65 64 20 2d 20 61 63 74 75 61 6c 29 3b 00 20 20 20 20 20 20 | =.abs(expected.-.actual);....... |
8d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 | ..............actual.=.xttest_ft |
8d40 | 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 | om(result);.................{... |
8d60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 | ..............THEN(."the.detecte |
8d80 | 64 20 46 30 20 69 73 20 69 6e 61 63 63 75 72 61 74 65 20 62 79 20 6d 6f 72 65 20 74 68 61 6e 20 | d.F0.is.inaccurate.by.more.than. |
8da0 | 6f 6e 65 20 73 65 6d 69 74 6f 6e 65 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | one.semitone".)................. |
8dc0 | 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 | .xtract_f0(table,.blocksize,.&sa |
8de0 | 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | mplerate,.&result);............. |
8e00 | 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f | ....xttest_add(table,.noise,.blo |
8e20 | 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f | cksize);.................xttest_ |
8e40 | 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c | gen_noise(noise,.blocksize,.ampl |
8e60 | 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 | itude);.................xttest_g |
8e80 | 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 | en_sawtooth(table,.blocksize,.sa |
8ea0 | 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 | mplerate,.frequency,.1.0.-.ampli |
8ec0 | 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 75 64 | tude);..................amplitud |
8ee0 | 65 20 3d 20 30 2e 33 35 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 | e.=.0.35;.............{......... |
8f00 | 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 | ....WHEN(."white.noise.is.added. |
8f20 | 61 74 20 33 35 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 | at.35%".)..............}........ |
8f40 | 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 | .........}.....................R |
8f60 | 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 | EQUIRE(.actual.<.max.);......... |
8f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d | .............REQUIRE(.actual.>.m |
8fa0 | 69 6e 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 | in.);......................CAPTU |
8fc0 | 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | RE(.actual.);................... |
8fe0 | 20 20 75 69 6e 74 31 36 5f 74 20 6d 61 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 35 30 3b 00 | ..uint16_t.max.=.expected.+.50;. |
9000 | 61 64 00 00 00 00 00 00 9c 01 00 00 00 10 00 00 60 00 00 00 00 00 00 00 ee 0f 00 00 bc 0f 00 00 | ad..............`............... |
9020 | 95 0f 00 00 63 0f 00 00 51 0f 00 00 43 0f 00 00 42 0f 00 00 10 0f 00 00 02 0f 00 00 da 0e 00 00 | ....c...Q...C...B............... |
9040 | b1 0e 00 00 b0 0e 00 00 51 0e 00 00 12 0e 00 00 dd 0d 00 00 9a 0d 00 00 99 0d 00 00 47 0d 00 00 | ........Q...................G... |
9060 | 35 0d 00 00 03 0d 00 00 d1 0c 00 00 9f 0c 00 00 78 0c 00 00 4a 0c 00 00 1c 0c 00 00 02 0c 00 00 | 5...............x...J........... |
9080 | f4 0b 00 00 f3 0b 00 00 c1 0b 00 00 b3 0b 00 00 8b 0b 00 00 62 0b 00 00 61 0b 00 00 02 0b 00 00 | ....................b...a....... |
90a0 | c3 0a 00 00 8e 0a 00 00 4b 0a 00 00 4a 0a 00 00 fb 09 00 00 e9 09 00 00 b7 09 00 00 84 09 00 00 | ........K...J................... |
90c0 | 51 09 00 00 2a 09 00 00 fc 08 00 00 ce 08 00 00 bb 08 00 00 ad 08 00 00 ac 08 00 00 7a 08 00 00 | Q...*.......................z... |
90e0 | 6c 08 00 00 44 08 00 00 1b 08 00 00 1a 08 00 00 bb 07 00 00 7c 07 00 00 47 07 00 00 04 07 00 00 | l...D...............|...G....... |
9100 | 03 07 00 00 b4 06 00 00 a2 06 00 00 70 06 00 00 3d 06 00 00 0a 06 00 00 e3 05 00 00 b5 05 00 00 | ............p...=............... |
9120 | 87 05 00 00 74 05 00 00 66 05 00 00 65 05 00 00 33 05 00 00 25 05 00 00 fd 04 00 00 d4 04 00 00 | ....t...f...e...3...%........... |
9140 | d3 04 00 00 74 04 00 00 35 04 00 00 00 04 00 00 bd 03 00 00 bc 03 00 00 6a 03 00 00 58 03 00 00 | ....t...5...............j...X... |
9160 | 26 03 00 00 e4 02 00 00 bd 02 00 00 8b 02 00 00 79 02 00 00 6b 02 00 00 61 02 00 00 5b 02 00 00 | &...............y...k...a...[... |
9180 | 5a 02 00 00 1b 02 00 00 15 02 00 00 ed 01 00 00 c4 01 00 00 9c 01 00 00 ab 01 00 00 20 20 20 20 | Z............................... |
91a0 | 20 20 20 20 64 6f 75 62 6c 65 20 72 65 73 75 6c 74 20 20 20 20 20 20 20 20 20 20 20 3d 20 2d 31 | ....double.result...........=.-1 |
91c0 | 2e 30 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 74 65 20 20 20 | .0;.........double.samplerate... |
91e0 | 20 20 20 20 3d 20 34 34 31 30 30 3b 00 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 6c | ....=.44100;.........uint32_t.bl |
9200 | 6f 63 6b 73 69 7a 65 20 20 20 20 20 20 3d 20 32 30 34 38 3b 00 20 20 20 20 7b 00 20 20 20 20 47 | ocksize......=.2048;.....{.....G |
9220 | 49 56 45 4e 28 20 22 61 20 32 30 34 38 20 73 61 6d 70 6c 65 20 62 6c 6f 63 6b 20 77 69 74 68 20 | IVEN(."a.2048.sample.block.with. |
9240 | 61 20 73 61 6d 70 6c 65 20 72 61 74 65 20 6f 66 20 34 34 31 30 30 22 20 29 00 00 20 20 20 20 7d | a.sample.rate.of.44100".)......} |
9260 | 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 | .........}.............}........ |
9280 | 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 | .........}.....................R |
92a0 | 45 51 55 49 52 45 28 20 64 69 66 66 65 72 65 6e 63 65 20 3e 20 31 30 30 20 29 3b 20 00 20 20 20 | EQUIRE(.difference.>.100.);..... |
92c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c | .................CAPTURE(.actual |
92e0 | 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 | .);.....................uint16_t |
9300 | 20 64 69 66 66 65 72 65 6e 63 65 20 3d 20 61 62 73 28 65 78 70 65 63 74 65 64 20 2d 20 61 63 74 | .difference.=.abs(expected.-.act |
9320 | 75 61 6c 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c | ual);.....................actual |
9340 | 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 | .=.xttest_ftom(result);......... |
9360 | 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 | ........{.................THEN(. |
9380 | 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 69 6e 61 63 63 75 72 61 74 65 20 62 | "the.detected.F0.is.inaccurate.b |
93a0 | 79 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 73 65 6d 69 74 6f 6e 65 22 20 29 00 00 20 20 20 | y.more.than.one.semitone".)..... |
93c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c | .............xtract_f0(table,.bl |
93e0 | 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 | ocksize,.&samplerate,.&result);. |
9400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 | ................xttest_add(table |
9420 | 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | ,.noise,.blocksize);............ |
9440 | 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f | .....xttest_gen_noise(noise,.blo |
9460 | 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | cksize,.amplitude);............. |
9480 | 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 | ....xttest_gen_sawtooth(table,.b |
94a0 | 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c | locksize,.samplerate,.frequency, |
94c0 | 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | .1.0.-.amplitude);.............. |
94e0 | 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 | ....double.noise[blocksize];.... |
9500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 | .............double.amplitude.=. |
9520 | 30 2e 38 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 | 0.8;.............{.............W |
9540 | 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 38 30 | HEN(."white.noise.is.added.at.80 |
9560 | 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 | %".)..............}............. |
9580 | 20 20 20 20 7d 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 | ....}......................REQUI |
95a0 | 52 45 28 20 61 63 74 75 61 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 | RE(.actual.<.max.);............. |
95c0 | 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d 69 6e 20 29 | .........REQUIRE(.actual.>.min.) |
95e0 | 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 | ;......................CAPTURE(. |
9600 | 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 | actual.);.....................ui |
9620 | 6e 74 31 36 5f 74 20 6d 61 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 31 30 30 3b 00 20 20 20 | nt16_t.max.=.expected.+.100;.... |
9640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d 20 | .................uint16_t.min.=. |
9660 | 65 78 70 65 63 74 65 64 20 2d 20 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | expected.-.100;................. |
9680 | 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 | ....actual.=.xttest_ftom(result) |
96a0 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 | ;.................{............. |
96c0 | 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 | ....THEN(."the.detected.F0.is.ac |
96e0 | 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 73 65 6d 69 2d 74 6f 6e 65 22 | curate.to.the.nearest.semi-tone" |
9700 | 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 | .)..................xtract_f0(ta |
9720 | 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 | ble,.blocksize,.&samplerate,.&re |
9740 | 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 | sult);.................xttest_ad |
9760 | 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 | d(table,.noise,.blocksize);..... |
9780 | 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 | ............xttest_gen_noise(noi |
97a0 | 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 | se,.blocksize,.amplitude);...... |
97c0 | 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 | ...........xttest_gen_sawtooth(t |
97e0 | 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 | able,.blocksize,.samplerate,.fre |
9800 | 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 | quency,.1.0.-.amplitude);....... |
9820 | 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a | ...........double.noise[blocksiz |
9840 | 65 5d 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 | e];.................double.ampli |
9860 | 74 75 64 65 20 3d 20 30 2e 36 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | tude.=.0.6;.............{....... |
9880 | 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 | ......WHEN(."white.noise.is.adde |
98a0 | 64 20 61 74 20 36 30 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 | d.at.60%".)..............}...... |
98c0 | 20 20 20 20 20 20 20 20 20 20 20 7d 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........}.................... |
98e0 | 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 | ..REQUIRE(.actual.<.max.);...... |
9900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 | ................REQUIRE(.actual. |
9920 | 3e 20 6d 69 6e 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 | >.min.);......................CA |
9940 | 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | PTURE(.actual.);................ |
9960 | 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 61 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 31 | .....uint16_t.max.=.expected.+.1 |
9980 | 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 | 00;.....................uint16_t |
99a0 | 20 6d 69 6e 20 3d 20 65 78 70 65 63 74 65 64 20 2d 20 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 | .min.=.expected.-.100;.......... |
99c0 | 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 | ...........actual.=.xttest_ftom( |
99e0 | 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 | result);.................{...... |
9a00 | 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 | ...........THEN(."the.detected.F |
9a20 | 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 73 65 6d | 0.is.accurate.to.the.nearest.sem |
9a40 | 69 2d 74 6f 6e 65 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 | i-tone".)..................xtrac |
9a60 | 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 | t_f0(table,.blocksize,.&samplera |
9a80 | 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 | te,.&result);.................xt |
9aa0 | 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 | test_add(table,.noise,.blocksize |
9ac0 | 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f | );.................xttest_gen_no |
9ae0 | 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 | ise(noise,.blocksize,.amplitude) |
9b00 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 | ;.................xttest_gen_saw |
9b20 | 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 | tooth(table,.blocksize,.samplera |
9b40 | 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b | te,.frequency,.1.0.-.amplitude); |
9b60 | 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 | ..................double.noise[b |
9b80 | 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c | locksize];.................doubl |
9ba0 | 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 34 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b | e.amplitude.=.0.4;.............{ |
9bc0 | 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 | .............WHEN(."white.noise. |
9be0 | 69 73 20 61 64 64 65 64 20 61 74 20 34 30 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | is.added.at.40%".).............. |
9c00 | 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20 20 20 20 20 20 00 20 20 20 20 | }.................}............. |
9c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 | ................REQUIRE(.actual. |
9c40 | 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 | <.max.);......................RE |
9c60 | 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d 69 6e 20 29 3b 20 00 20 20 20 20 20 20 20 20 | QUIRE(.actual.>.min.);.......... |
9c80 | 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 | ............CAPTURE(.actual.);.. |
9ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 61 78 20 | ...................uint16_t.max. |
9cc0 | 3d 20 65 78 70 65 63 74 65 64 20 2b 20 35 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.expected.+.50;................ |
9ce0 | 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d 20 65 78 70 65 63 74 65 64 20 2d 20 35 | .....uint16_t.min.=.expected.-.5 |
9d00 | 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 | 0;.....................actual.=. |
9d20 | 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | xttest_ftom(result);............ |
9d40 | 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 | .....{.................THEN(."th |
9d60 | 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 | e.detected.F0.is.accurate.to.the |
9d80 | 20 6e 65 61 72 65 73 74 20 71 75 61 72 74 65 72 2d 74 6f 6e 65 22 20 29 00 00 20 20 20 20 20 20 | .nearest.quarter-tone".)........ |
9da0 | 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b | ..........xtract_f0(table,.block |
9dc0 | 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 | size,.&samplerate,.&result);.... |
9de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e | .............xttest_add(table,.n |
9e00 | 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oise,.blocksize);............... |
9e20 | 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 | ..xttest_gen_noise(noise,.blocks |
9e40 | 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ize,.amplitude);................ |
9e60 | 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 61 77 74 6f 6f 74 68 28 74 61 62 6c 65 2c 20 62 6c 6f 63 | .xttest_gen_sawtooth(table,.bloc |
9e80 | 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e | ksize,.samplerate,.frequency,.1. |
9ea0 | 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 0.-.amplitude);................. |
9ec0 | 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 | .double.noise[blocksize];....... |
9ee0 | 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 32 | ..........double.amplitude.=.0.2 |
9f00 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e | ;.............{.............WHEN |
9f20 | 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 32 30 25 22 20 | (."white.noise.is.added.at.20%". |
9f40 | 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )..............}................ |
9f60 | 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 | .}.....................REQUIRE(a |
9f80 | 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 | ctual.==.expected);............. |
9fa0 | 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 | .........CAPTURE(.actual.);..... |
9fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f | ................actual.=.xttest_ |
9fe0 | 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 | ftom(result);.................{. |
a000 | 61 64 00 00 31 00 00 00 cd 01 00 00 00 10 00 00 60 00 00 00 00 00 00 00 cb 0f 00 00 88 0f 00 00 | ad..1...........`............... |
a020 | 87 0f 00 00 38 0f 00 00 26 0f 00 00 f4 0e 00 00 c1 0e 00 00 8e 0e 00 00 67 0e 00 00 39 0e 00 00 | ....8...&...............g...9... |
a040 | 0b 0e 00 00 f8 0d 00 00 ea 0d 00 00 e9 0d 00 00 b7 0d 00 00 a9 0d 00 00 81 0d 00 00 58 0d 00 00 | ............................X... |
a060 | 57 0d 00 00 fc 0c 00 00 bd 0c 00 00 88 0c 00 00 45 0c 00 00 44 0c 00 00 f5 0b 00 00 e3 0b 00 00 | W...............E...D........... |
a080 | b1 0b 00 00 7e 0b 00 00 4b 0b 00 00 24 0b 00 00 f6 0a 00 00 c8 0a 00 00 b5 0a 00 00 a7 0a 00 00 | ....~...K...$................... |
a0a0 | a6 0a 00 00 74 0a 00 00 66 0a 00 00 3e 0a 00 00 15 0a 00 00 14 0a 00 00 b9 09 00 00 7a 09 00 00 | ....t...f...>...............z... |
a0c0 | 45 09 00 00 02 09 00 00 01 09 00 00 af 08 00 00 9d 08 00 00 6b 08 00 00 29 08 00 00 02 08 00 00 | E...................k...)....... |
a0e0 | d0 07 00 00 be 07 00 00 b0 07 00 00 a6 07 00 00 a0 07 00 00 9f 07 00 00 60 07 00 00 5a 07 00 00 | ........................`...Z... |
a100 | 32 07 00 00 09 07 00 00 e1 06 00 00 c0 06 00 00 bf 06 00 00 55 06 00 00 4b 06 00 00 1f 06 00 00 | 2...................U...K....... |
a120 | fb 05 00 00 fa 05 00 00 a9 05 00 00 61 05 00 00 60 05 00 00 f4 04 00 00 e6 04 00 00 b4 04 00 00 | ............a...`............... |
a140 | 8c 04 00 00 7e 04 00 00 74 04 00 00 73 04 00 00 0a 04 00 00 00 04 00 00 d5 03 00 00 b1 03 00 00 | ....~...t...s................... |
a160 | b0 03 00 00 5f 03 00 00 17 03 00 00 16 03 00 00 cb 02 00 00 bd 02 00 00 8f 02 00 00 5c 02 00 00 | ...._.......................\... |
a180 | 39 02 00 00 14 02 00 00 e6 01 00 00 d8 01 00 00 ce 01 00 00 cd 01 00 00 cc 01 00 00 00 00 00 00 | 9............................... |
a1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 | ......................}......... |
a1e0 | 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 | ....}.................REQUIRE(ac |
a200 | 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 | tual.==.expected);.............. |
a220 | 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 | ....CAPTURE(.expected.);........ |
a240 | 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 | .........CAPTURE(.actual.);..... |
a260 | 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 | ............expected.=.xttest_ft |
a280 | 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 | om(frequency);.................a |
a2a0 | 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 | ctual.=.xttest_ftom(result);.... |
a2c0 | 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 | .........{.............THEN(."th |
a2e0 | 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 | e.detected.F0.is.accurate.to.the |
a300 | 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 | .nearest.MIDI.cent".)........... |
a320 | 20 20 20 69 6e 74 20 72 76 20 3d 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f | ...int.rv.=.xtract_f0(table,.blo |
a340 | 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 | cksize,.&samplerate,.&result);.. |
a360 | 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 | ...........xttest_gen_sine(table |
a380 | 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e | ,.blocksize,.samplerate,.frequen |
a3a0 | 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 | cy,.amplitude);..............dou |
a3c0 | 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 | ble.amplitude.=.1.0;............ |
a3e0 | 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 38 36 2e 31 33 32 38 31 32 35 3b 00 | .double.frequency.=.86.1328125;. |
a400 | 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 | ........{.........WHEN(."the.fre |
a420 | 71 75 65 6e 63 79 20 69 73 20 38 36 2e 31 33 32 38 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 | quency.is.86.1328125.Hz".).//.pe |
a440 | 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 35 31 32 20 73 61 6d 70 6c 65 73 3a 20 34 20 63 | riod.of.exactly.512.samples:.4.c |
a460 | 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 | ycles.in.the.block..........}... |
a480 | 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 | ..........}.................REQU |
a4a0 | 49 52 45 28 72 65 73 75 6c 74 20 3d 3d 20 30 2e 30 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | IRE(result.==.0.0);............. |
a4c0 | 20 20 20 20 52 45 51 55 49 52 45 28 72 76 20 3d 3d 20 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 | ....REQUIRE(rv.==.XTRACT_NO_RESU |
a4e0 | 4c 54 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 | LT);..............{............. |
a500 | 54 48 45 4e 28 20 22 66 72 65 71 75 65 6e 63 79 20 64 65 74 65 63 74 69 6f 6e 20 66 61 69 6c 73 | THEN(."frequency.detection.fails |
a520 | 20 63 6f 72 72 65 63 74 6c 79 20 28 58 54 52 41 43 54 5f 4e 4f 5f 52 45 53 55 4c 54 20 69 73 20 | .correctly.(XTRACT_NO_RESULT.is. |
a540 | 72 65 74 75 72 6e 65 64 2c 20 72 65 73 75 6c 74 20 73 65 74 20 74 6f 20 30 2e 30 29 22 20 29 00 | returned,.result.set.to.0.0)".). |
a560 | 00 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 20 3d 20 78 74 72 61 63 74 5f 66 30 28 | .............int.rv.=.xtract_f0( |
a580 | 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 | table,.blocksize,.&samplerate,.& |
a5a0 | 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f | result);.............xttest_gen_ |
a5c0 | 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 | sine(table,.blocksize,.samplerat |
a5e0 | 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 | e,.frequency,.amplitude);....... |
a600 | 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 | .......double.amplitude.=.1.0;.. |
a620 | 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 34 33 | ...........double.frequency.=.43 |
a640 | 2e 30 36 36 34 30 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 | .06640625;.........{.........WHE |
a660 | 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 34 33 2e 30 36 36 34 30 36 32 35 | N(."the.frequency.is.43.06640625 |
a680 | 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 20 | .Hz".).//.period.of.exactly.256. |
a6a0 | 73 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 | samples:.2.cycles.in.the.block.. |
a6c0 | 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 61 62 6c 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b | ........double.table[blocksize]; |
a6e0 | 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 72 65 73 75 6c 74 20 20 20 20 20 20 20 20 20 20 | .........double.result.......... |
a700 | 20 3d 20 2d 31 2e 30 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 | .=.-1.0;.........double.samplera |
a720 | 74 65 20 20 20 20 20 20 20 3d 20 34 34 31 30 30 3b 00 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 | te.......=.44100;.........uint32 |
a740 | 5f 74 20 62 6c 6f 63 6b 73 69 7a 65 20 20 20 20 20 20 3d 20 32 30 34 38 3b 00 20 20 20 20 7b 00 | _t.blocksize......=.2048;.....{. |
a760 | 20 20 20 20 47 49 56 45 4e 28 20 22 61 20 32 30 34 38 20 73 61 6d 70 6c 65 20 62 6c 6f 63 6b 20 | ....GIVEN(."a.2048.sample.block. |
a780 | 77 69 74 68 20 61 20 73 61 6d 70 6c 65 20 72 61 74 65 20 6f 66 20 34 34 31 30 30 22 20 29 00 00 | with.a.sample.rate.of.44100".).. |
a7a0 | 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 | ....}.........}.............}... |
a7c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............}................. |
a7e0 | 20 20 20 20 52 45 51 55 49 52 45 28 20 64 69 66 66 65 72 65 6e 63 65 20 3e 20 31 30 30 20 29 3b | ....REQUIRE(.difference.>.100.); |
a800 | 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 | ......................CAPTURE(.a |
a820 | 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e | ctual.);.....................uin |
a840 | 74 31 36 5f 74 20 64 69 66 66 65 72 65 6e 63 65 20 3d 20 61 62 73 28 65 78 70 65 63 74 65 64 20 | t16_t.difference.=.abs(expected. |
a860 | 2d 20 61 63 74 75 61 6c 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 | -.actual);.....................a |
a880 | 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 | ctual.=.xttest_ftom(result);.... |
a8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 | .............{.................T |
a8c0 | 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 69 6e 61 63 63 75 72 | HEN(."the.detected.F0.is.inaccur |
a8e0 | 61 74 65 20 62 79 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 73 65 6d 69 74 6f 6e 65 22 20 29 | ate.by.more.than.one.semitone".) |
a900 | 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c | ..................xtract_f0(tabl |
a920 | 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 | e,.blocksize,.&samplerate,.&resu |
a940 | 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 | lt);.................xttest_add( |
a960 | 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 | table,.noise,.blocksize);....... |
a980 | 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 | ..........xttest_gen_noise(noise |
a9a0 | 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 | ,.blocksize,.amplitude);........ |
a9c0 | 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 | .........xttest_gen_sine(table,. |
a9e0 | 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 | blocksize,.samplerate,.frequency |
aa00 | 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 | ,.1.0.-.amplitude);............. |
aa20 | 20 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 | .....double.noise[blocksize];... |
aa40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d | ..............double.amplitude.= |
aa60 | 20 30 2e 38 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 | .0.8;.............{............. |
aa80 | 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 38 | WHEN(."white.noise.is.added.at.8 |
aaa0 | 30 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 | 0%".)..............}............ |
aac0 | 20 20 20 20 20 7d 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 | .....}......................REQU |
aae0 | 49 52 45 28 20 61 63 74 75 61 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 | IRE(.actual.<.max.);............ |
ab00 | 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d 69 6e 20 | ..........REQUIRE(.actual.>.min. |
ab20 | 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 | );......................CAPTURE( |
ab40 | 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 | .actual.);.....................u |
ab60 | 69 6e 74 31 36 5f 74 20 6d 61 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 31 30 30 3b 00 20 20 | int16_t.max.=.expected.+.100;... |
ab80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d | ..................uint16_t.min.= |
aba0 | 20 65 78 70 65 63 74 65 64 20 2d 20 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .expected.-.100;................ |
abc0 | 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 | .....actual.=.xttest_ftom(result |
abe0 | 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 | );.................{............ |
ac00 | 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 | .....THEN(."the.detected.F0.is.a |
ac20 | 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 73 65 6d 69 2d 74 6f 6e 65 | ccurate.to.the.nearest.semi-tone |
ac40 | 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 | ".)..................xtract_f0(t |
ac60 | 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 | able,.blocksize,.&samplerate,.&r |
ac80 | 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 | esult);.................xttest_a |
aca0 | 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 | dd(table,.noise,.blocksize);.... |
acc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f | .............xttest_gen_noise(no |
ace0 | 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 | ise,.blocksize,.amplitude);..... |
ad00 | 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c | ............xttest_gen_sine(tabl |
ad20 | 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 | e,.blocksize,.samplerate,.freque |
ad40 | 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 | ncy,.1.0.-.amplitude);.......... |
ad60 | 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b | ........double.noise[blocksize]; |
ad80 | 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 | .................double.amplitud |
ada0 | 65 20 3d 20 30 2e 36 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 | e.=.0.6;.............{.......... |
adc0 | 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 | ...WHEN(."white.noise.is.added.a |
ade0 | 74 20 36 30 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 | t.60%".)..............}......... |
ae00 | 20 20 20 20 20 20 20 20 7d 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 | ........}......................R |
ae20 | 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 | EQUIRE(.actual.<.max.);......... |
ae40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d | .............REQUIRE(.actual.>.m |
ae60 | 69 6e 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 | in.);......................CAPTU |
ae80 | 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | RE(.actual.);................... |
aea0 | 20 20 75 69 6e 74 31 36 5f 74 20 6d 61 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 31 30 30 3b | ..uint16_t.max.=.expected.+.100; |
aec0 | 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 | .....................uint16_t.mi |
aee0 | 6e 20 3d 20 65 78 70 65 63 74 65 64 20 2d 20 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | n.=.expected.-.100;............. |
af00 | 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 | ........actual.=.xttest_ftom(res |
af20 | 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 | ult);.................{......... |
af40 | 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 | ........THEN(."the.detected.F0.i |
af60 | 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 73 65 6d 69 2d 74 | s.accurate.to.the.nearest.semi-t |
af80 | 6f 6e 65 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 | one".)..................xtract_f |
afa0 | 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c | 0(table,.blocksize,.&samplerate, |
afc0 | 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 | .&result);.................xttes |
afe0 | 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 | t_add(table,.noise,.blocksize);. |
b000 | 61 64 00 00 11 00 00 00 b1 01 00 00 00 10 00 00 61 00 00 00 00 00 00 00 dc 0f 00 00 db 0f 00 00 | ad..............a............... |
b020 | 8a 0f 00 00 42 0f 00 00 41 0f 00 00 f6 0e 00 00 e8 0e 00 00 ba 0e 00 00 87 0e 00 00 64 0e 00 00 | ....B...A...................d... |
b040 | 3f 0e 00 00 11 0e 00 00 ff 0d 00 00 f5 0d 00 00 f4 0d 00 00 8b 0d 00 00 81 0d 00 00 56 0d 00 00 | ?...........................V... |
b060 | 32 0d 00 00 31 0d 00 00 e0 0c 00 00 a1 0c 00 00 a0 0c 00 00 55 0c 00 00 47 0c 00 00 19 0c 00 00 | 2...1...............U...G....... |
b080 | e6 0b 00 00 c3 0b 00 00 9e 0b 00 00 70 0b 00 00 62 0b 00 00 58 0b 00 00 57 0b 00 00 ef 0a 00 00 | ............p...b...X...W....... |
b0a0 | e5 0a 00 00 bb 0a 00 00 8c 0a 00 00 6b 0a 00 00 6a 0a 00 00 3f 0a 00 00 31 0a 00 00 09 0a 00 00 | ............k...j...?...1....... |
b0c0 | 08 0a 00 00 b3 09 00 00 70 09 00 00 6f 09 00 00 20 09 00 00 0e 09 00 00 dc 08 00 00 b5 08 00 00 | ........p...o................... |
b0e0 | 83 08 00 00 71 08 00 00 63 08 00 00 62 08 00 00 06 08 00 00 f8 07 00 00 cf 07 00 00 ce 07 00 00 | ....q...c...b................... |
b100 | 79 07 00 00 36 07 00 00 35 07 00 00 e6 06 00 00 d4 06 00 00 a2 06 00 00 7b 06 00 00 49 06 00 00 | y...6...5...............{...I... |
b120 | 37 06 00 00 29 06 00 00 28 06 00 00 f6 05 00 00 e8 05 00 00 c0 05 00 00 97 05 00 00 96 05 00 00 | 7...)...(....................... |
b140 | 3b 05 00 00 fc 04 00 00 c7 04 00 00 84 04 00 00 83 04 00 00 31 04 00 00 1f 04 00 00 ed 03 00 00 | ;...................1........... |
b160 | bb 03 00 00 89 03 00 00 62 03 00 00 34 03 00 00 06 03 00 00 ec 02 00 00 de 02 00 00 dd 02 00 00 | ........b...4................... |
b180 | ab 02 00 00 9d 02 00 00 75 02 00 00 4c 02 00 00 4b 02 00 00 f0 01 00 00 b1 01 00 00 b0 01 00 00 | ........u...L...K............... |
b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
b1c0 | 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 | .xttest_gen_noise(noise,.blocksi |
b1e0 | 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ze,.amplitude);................. |
b200 | 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 | xttest_gen_sine(table,.blocksize |
b220 | 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 | ,.samplerate,.frequency,.1.0.-.a |
b240 | 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 | mplitude);..................doub |
b260 | 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 20 20 20 | le.noise[blocksize];............ |
b280 | 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 34 3b 00 20 20 20 | .....double.amplitude.=.0.4;.... |
b2a0 | 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 | .........{.............WHEN(."wh |
b2c0 | 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 34 30 25 22 20 29 00 00 20 20 | ite.noise.is.added.at.40%".).... |
b2e0 | 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20 | ..........}.................}... |
b300 | 20 20 20 20 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 | ..........................REQUIR |
b320 | 45 28 20 61 63 74 75 61 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 | E(.actual.<.max.);.............. |
b340 | 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d 69 6e 20 29 3b | ........REQUIRE(.actual.>.min.); |
b360 | 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 | ......................CAPTURE(.a |
b380 | 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e | ctual.);.....................uin |
b3a0 | 74 31 36 5f 74 20 6d 61 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 35 30 3b 00 20 20 20 20 20 | t16_t.max.=.expected.+.50;...... |
b3c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d 20 65 78 | ...............uint16_t.min.=.ex |
b3e0 | 70 65 63 74 65 64 20 2d 20 35 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pected.-.50;.................... |
b400 | 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 | .actual.=.xttest_ftom(result);.. |
b420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...............{................ |
b440 | 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 | .THEN(."the.detected.F0.is.accur |
b460 | 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 71 75 61 72 74 65 72 2d 74 6f 6e 65 22 | ate.to.the.nearest.quarter-tone" |
b480 | 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 | .)..................xtract_f0(ta |
b4a0 | 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 | ble,.blocksize,.&samplerate,.&re |
b4c0 | 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 | sult);.................xttest_ad |
b4e0 | 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 | d(table,.noise,.blocksize);..... |
b500 | 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 | ............xttest_gen_noise(noi |
b520 | 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 | se,.blocksize,.amplitude);...... |
b540 | 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 | ...........xttest_gen_sine(table |
b560 | 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e | ,.blocksize,.samplerate,.frequen |
b580 | 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 | cy,.1.0.-.amplitude);........... |
b5a0 | 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 | .......double.noise[blocksize];. |
b5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 | ................double.amplitude |
b5e0 | 20 3d 20 30 2e 32 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 | .=.0.2;.............{........... |
b600 | 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 | ..WHEN(."white.noise.is.added.at |
b620 | 20 32 30 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 | .20%".)..............}.......... |
b640 | 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 | .......}.....................REQ |
b660 | 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 | UIRE(actual.==.expected);....... |
b680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 | ...............CAPTURE(.actual.) |
b6a0 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 | ;.....................actual.=.x |
b6c0 | 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | ttest_ftom(result);............. |
b6e0 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 | ....{.................THEN(."the |
b700 | 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 | .detected.F0.is.accurate.to.the. |
b720 | 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 | nearest.MIDI.cent".)............ |
b740 | 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 | ......xtract_f0(table,.blocksize |
b760 | 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 | ,.&samplerate,.&result);........ |
b780 | 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 | .........xttest_gen_sine(table,. |
b7a0 | 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 | blocksize,.samplerate,.frequency |
b7c0 | 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 | ,.amplitude);..................d |
b7e0 | 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 30 31 3b 00 20 20 20 20 20 20 20 20 | ouble.amplitude.=.0.01;......... |
b800 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 | ....{.............WHEN(."the.amp |
b820 | 6c 69 74 75 64 65 20 69 73 20 30 2e 30 31 22 20 29 20 2f 2f 20 4f 6e 6c 79 20 74 65 73 74 20 61 | litude.is.0.01".).//.Only.test.a |
b840 | 20 64 69 66 66 65 72 65 6e 74 20 61 6d 70 6c 69 74 75 64 65 20 66 6f 72 20 6f 6e 65 20 63 61 73 | .different.amplitude.for.one.cas |
b860 | 65 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e..............}................ |
b880 | 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 | .}.....................REQUIRE(a |
b8a0 | 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 | ctual.==.expected);............. |
b8c0 | 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 | .........CAPTURE(.actual.);..... |
b8e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f | ................actual.=.xttest_ |
b900 | 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 | ftom(result);.................{. |
b920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 | ................THEN(."the.detec |
b940 | 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 | ted.F0.is.accurate.to.the.neares |
b960 | 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.MIDI.cent".).................. |
b980 | 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d | xtract_f0(table,.blocksize,.&sam |
b9a0 | 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | plerate,.&result);.............. |
b9c0 | 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 | ...xttest_gen_sine(table,.blocks |
b9e0 | 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c | ize,.samplerate,.frequency,.ampl |
ba00 | 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 | itude);..................double. |
ba20 | 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 | amplitude.=.1.0;.............{.. |
ba40 | 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 65 20 | ...........WHEN(."the.amplitude. |
ba60 | 69 73 20 31 2e 30 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 | is.1.0".)..............CAPTURE(. |
ba80 | 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 | expected.);.............expected |
baa0 | 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 | .=.xttest_ftom(frequency);...... |
bac0 | 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 33 34 34 2e 35 33 | .......double.frequency.=.344.53 |
bae0 | 31 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 | 125;.........{.........WHEN(."th |
bb00 | 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 33 34 34 2e 35 33 31 32 35 20 48 7a 22 20 29 20 2f | e.frequency.is.344.53125.Hz".)./ |
bb20 | 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 31 32 38 20 73 61 6d 70 6c 65 73 3a | /.period.of.exactly.128.samples: |
bb40 | 20 38 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 | .8.cycles.in.the.block.......... |
bb60 | 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | }.............}................. |
bb80 | 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 | REQUIRE(actual.==.expected);.... |
bba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 | ..............CAPTURE(.expected. |
bbc0 | 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 | );.................CAPTURE(.actu |
bbe0 | 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d | al.);.................expected.= |
bc00 | 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 | .xttest_ftom(frequency);........ |
bc20 | 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 | .........actual.=.xttest_ftom(re |
bc40 | 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 | sult);.............{............ |
bc60 | 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 | .THEN(."the.detected.F0.is.accur |
bc80 | 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 | ate.to.the.nearest.MIDI.cent".). |
bca0 | 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c | .............xtract_f0(table,.bl |
bcc0 | 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 | ocksize,.&samplerate,.&result);. |
bce0 | 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c | ............xttest_gen_sine(tabl |
bd00 | 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 | e,.blocksize,.samplerate,.freque |
bd20 | 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f | ncy,.amplitude);..............do |
bd40 | 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 20 20 20 20 20 20 20 20 20 20 | uble.amplitude.=.1.0;........... |
bd60 | 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 31 37 32 2e 32 36 35 36 32 35 3b | ..double.frequency.=.172.265625; |
bd80 | 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 | .........{.........WHEN(."the.fr |
bda0 | 65 71 75 65 6e 63 79 20 69 73 20 31 37 32 2e 32 36 35 36 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 | equency.is.172.265625.Hz".).//.p |
bdc0 | 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c 79 20 32 35 36 20 73 61 6d 70 6c 65 73 3a 20 34 20 | eriod.of.exactly.256.samples:.4. |
bde0 | 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 | cycles.in.the.block..........}.. |
be00 | 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........}.................... |
be20 | 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 | .REQUIRE(actual.==.expected);... |
be40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 | ...............CAPTURE(.expected |
be60 | 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 | .);.................CAPTURE(.act |
be80 | 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 | ual.);.................expected. |
bea0 | 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 | =.xttest_ftom(frequency);....... |
bec0 | 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 | ..........actual.=.xttest_ftom(r |
bee0 | 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 | esult);.............{........... |
bf00 | 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 | ..THEN(."the.detected.F0.is.accu |
bf20 | 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 | rate.to.the.nearest.MIDI.cent".) |
bf40 | 00 00 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 76 20 3d 20 78 74 72 61 63 74 5f 66 30 | ..............int.rv.=.xtract_f0 |
bf60 | 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 | (table,.blocksize,.&samplerate,. |
bf80 | 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e | &result);.............xttest_gen |
bfa0 | 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 | _sine(table,.blocksize,.samplera |
bfc0 | 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 | te,.frequency,.amplitude);...... |
bfe0 | 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 31 2e 30 3b 00 | ........double.amplitude.=.1.0;. |
c000 | 61 64 00 00 11 00 00 00 b1 01 00 00 00 10 00 00 61 00 00 00 00 00 00 00 bd 0f 00 00 bc 0f 00 00 | ad..............a............... |
c020 | 6d 0f 00 00 5b 0f 00 00 29 0f 00 00 02 0f 00 00 d0 0e 00 00 be 0e 00 00 b0 0e 00 00 af 0e 00 00 | m...[...)....................... |
c040 | 7d 0e 00 00 6f 0e 00 00 4e 0e 00 00 4d 0e 00 00 f2 0d 00 00 b3 0d 00 00 7e 0d 00 00 3b 0d 00 00 | }...o...N...M...........~...;... |
c060 | 3a 0d 00 00 eb 0c 00 00 d9 0c 00 00 a7 0c 00 00 80 0c 00 00 4e 0c 00 00 3c 0c 00 00 2e 0c 00 00 | :...................N...<....... |
c080 | 2d 0c 00 00 fb 0b 00 00 ed 0b 00 00 cb 0b 00 00 ca 0b 00 00 6f 0b 00 00 30 0b 00 00 fb 0a 00 00 | -...................o...0....... |
c0a0 | b8 0a 00 00 b7 0a 00 00 69 0a 00 00 57 0a 00 00 25 0a 00 00 f2 09 00 00 bf 09 00 00 98 09 00 00 | ........i...W...%............... |
c0c0 | 6a 09 00 00 3c 09 00 00 2a 09 00 00 1c 09 00 00 1b 09 00 00 e9 08 00 00 db 08 00 00 b9 08 00 00 | j...<...*....................... |
c0e0 | b8 08 00 00 5d 08 00 00 1e 08 00 00 e9 07 00 00 a6 07 00 00 a5 07 00 00 53 07 00 00 41 07 00 00 | ....]...................S...A... |
c100 | 0f 07 00 00 dd 06 00 00 ab 06 00 00 84 06 00 00 56 06 00 00 28 06 00 00 16 06 00 00 08 06 00 00 | ................V...(........... |
c120 | 07 06 00 00 d5 05 00 00 c7 05 00 00 a5 05 00 00 a4 05 00 00 49 05 00 00 0a 05 00 00 d5 04 00 00 | ....................I........... |
c140 | 92 04 00 00 91 04 00 00 3f 04 00 00 2d 04 00 00 fb 03 00 00 b9 03 00 00 92 03 00 00 60 03 00 00 | ........?...-...............`... |
c160 | 4e 03 00 00 40 03 00 00 36 03 00 00 30 03 00 00 2f 03 00 00 f0 02 00 00 ea 02 00 00 c2 02 00 00 | N...@...6...0.../............... |
c180 | 99 02 00 00 71 02 00 00 50 02 00 00 4f 02 00 00 e6 01 00 00 dc 01 00 00 b1 01 00 00 b0 01 00 00 | ....q...P...O................... |
c1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 | .............................dou |
c1c0 | 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 38 36 2e 31 33 32 38 31 32 35 3b 00 20 20 20 20 | ble.frequency.=.86.1328125;..... |
c1e0 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e | ....{.........WHEN(."the.frequen |
c200 | 63 79 20 69 73 20 38 36 2e 31 33 32 38 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 | cy.is.86.1328125.Hz".).//.period |
c220 | 20 6f 66 20 65 78 61 63 74 6c 79 20 35 31 32 20 73 61 6d 70 6c 65 73 3a 20 32 20 63 79 63 6c 65 | .of.exactly.512.samples:.2.cycle |
c240 | 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 | s.in.the.block..........double.t |
c260 | 61 62 6c 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 | able[blocksize];.........double. |
c280 | 72 65 73 75 6c 74 20 20 20 20 20 20 20 20 20 20 20 3d 20 2d 31 2e 30 3b 00 20 20 20 20 20 20 20 | result...........=.-1.0;........ |
c2a0 | 20 64 6f 75 62 6c 65 20 73 61 6d 70 6c 65 72 61 74 65 20 20 20 20 20 20 20 3d 20 31 31 30 32 35 | .double.samplerate.......=.11025 |
c2c0 | 3b 00 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 62 6c 6f 63 6b 73 69 7a 65 20 20 20 20 | ;.........uint32_t.blocksize.... |
c2e0 | 20 20 3d 20 31 30 32 34 3b 00 20 20 20 20 7b 00 20 20 20 20 47 49 56 45 4e 28 20 22 61 20 31 30 | ..=.1024;.....{.....GIVEN(."a.10 |
c300 | 32 34 20 73 61 6d 70 6c 65 20 62 6c 6f 63 6b 20 77 69 74 68 20 61 20 73 61 6d 70 6c 65 20 72 61 | 24.sample.block.with.a.sample.ra |
c320 | 74 65 20 6f 66 20 31 31 30 32 35 22 20 29 00 00 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 7d 00 | te.of.11025".)......}.........}. |
c340 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 | ............}.................}. |
c360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 64 69 66 | ....................REQUIRE(.dif |
c380 | 66 65 72 65 6e 63 65 20 3e 20 31 30 30 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ference.>.100.);................ |
c3a0 | 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 | ......CAPTURE(.actual.);........ |
c3c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 64 69 66 66 65 72 65 6e 63 65 | .............uint16_t.difference |
c3e0 | 20 3d 20 61 62 73 28 65 78 70 65 63 74 65 64 20 2d 20 61 63 74 75 61 6c 29 3b 00 20 20 20 20 20 | .=.abs(expected.-.actual);...... |
c400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 | ...............actual.=.xttest_f |
c420 | 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 | tom(result);.................{.. |
c440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 | ...............THEN(."the.detect |
c460 | 65 64 20 46 30 20 69 73 20 69 6e 61 63 63 75 72 61 74 65 20 62 79 20 6d 6f 72 65 20 74 68 61 6e | ed.F0.is.inaccurate.by.more.than |
c480 | 20 6f 6e 65 20 73 65 6d 69 74 6f 6e 65 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .one.semitone".)................ |
c4a0 | 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 | ..xtract_f0(table,.blocksize,.&s |
c4c0 | 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | amplerate,.&result);............ |
c4e0 | 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c | .....xttest_add(table,.noise,.bl |
c500 | 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 | ocksize);.................xttest |
c520 | 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 | _gen_noise(noise,.blocksize,.amp |
c540 | 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f | litude);.................xttest_ |
c560 | 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c | gen_sine(table,.blocksize,.sampl |
c580 | 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 | erate,.frequency,.1.0.-.amplitud |
c5a0 | 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 75 64 65 20 3d | e);..................amplitude.= |
c5c0 | 20 30 2e 33 35 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 | .0.35;.............{............ |
c5e0 | 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 | .WHEN(."white.noise.is.added.at. |
c600 | 33 35 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 | 35%".)..............}........... |
c620 | 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 | ......}.....................REQU |
c640 | 49 52 45 28 20 61 63 74 75 61 6c 20 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 | IRE(.actual.<.max.);............ |
c660 | 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d 69 6e 20 | ..........REQUIRE(.actual.>.min. |
c680 | 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 | );......................CAPTURE( |
c6a0 | 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 | .actual.);.....................u |
c6c0 | 69 6e 74 31 36 5f 74 20 6d 61 78 20 3d 20 65 78 70 65 63 74 65 64 20 2b 20 35 30 3b 00 20 20 20 | int16_t.max.=.expected.+.50;.... |
c6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d 20 | .................uint16_t.min.=. |
c700 | 65 78 70 65 63 74 65 64 20 2d 20 35 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | expected.-.50;.................. |
c720 | 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b | ...actual.=.xttest_ftom(result); |
c740 | 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | .................{.............. |
c760 | 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 | ...THEN(."the.detected.F0.is.acc |
c780 | 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 71 75 61 72 74 65 72 2d 74 6f 6e | urate.to.the.nearest.quarter-ton |
c7a0 | 65 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 | e".)..................xtract_f0( |
c7c0 | 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 | table,.blocksize,.&samplerate,.& |
c7e0 | 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f | result);.................xttest_ |
c800 | 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 | add(table,.noise,.blocksize);... |
c820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e | ..............xttest_gen_noise(n |
c840 | 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 | oise,.blocksize,.amplitude);.... |
c860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 | .............xttest_gen_sine(tab |
c880 | 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 | le,.blocksize,.samplerate,.frequ |
c8a0 | 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 | ency,.1.0.-.amplitude);......... |
c8c0 | 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 32 35 3b 00 20 20 20 20 20 | .........amplitude.=.0.25;...... |
c8e0 | 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 | .......{.............WHEN(."whit |
c900 | 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 20 33 30 25 22 20 29 00 00 20 20 20 20 | e.noise.is.added.at.30%".)...... |
c920 | 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 | ........}.................}..... |
c940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 | ................REQUIRE(.actual. |
c960 | 3c 20 6d 61 78 20 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 | <.max.);......................RE |
c980 | 51 55 49 52 45 28 20 61 63 74 75 61 6c 20 3e 20 6d 69 6e 20 29 3b 20 00 20 20 20 20 20 20 20 20 | QUIRE(.actual.>.min.);.......... |
c9a0 | 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 | ............CAPTURE(.actual.);.. |
c9c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 61 78 20 | ...................uint16_t.max. |
c9e0 | 3d 20 65 78 70 65 63 74 65 64 20 2b 20 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.expected.+.100;............... |
ca00 | 20 20 20 20 20 20 75 69 6e 74 31 36 5f 74 20 6d 69 6e 20 3d 20 65 78 70 65 63 74 65 64 20 2d 20 | ......uint16_t.min.=.expected.-. |
ca20 | 31 30 30 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 | 100;.....................actual. |
ca40 | 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 | =.xttest_ftom(result);.......... |
ca60 | 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 | .......{.................THEN(." |
ca80 | 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 | the.detected.F0.is.accurate.to.t |
caa0 | 68 65 20 6e 65 61 72 65 73 74 20 73 65 6d 69 74 6f 6e 65 22 20 29 00 00 20 20 20 20 20 20 20 20 | he.nearest.semitone".).......... |
cac0 | 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 | ........xtract_f0(table,.blocksi |
cae0 | 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 | ze,.&samplerate,.&result);...... |
cb00 | 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 | ...........xttest_add(table,.noi |
cb20 | 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | se,.blocksize);................. |
cb40 | 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a | xttest_gen_noise(noise,.blocksiz |
cb60 | 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 | e,.amplitude);.................x |
cb80 | 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c | ttest_gen_sine(table,.blocksize, |
cba0 | 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d | .samplerate,.frequency,.1.0.-.am |
cbc0 | 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 | plitude);..................ampli |
cbe0 | 74 75 64 65 20 3d 20 30 2e 32 35 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 | tude.=.0.25;.............{...... |
cc00 | 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 | .......WHEN(."white.noise.is.add |
cc20 | 65 64 20 61 74 20 32 35 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 | ed.at.25%".)..............}..... |
cc40 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............}................... |
cc60 | 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 | ..REQUIRE(actual.==.expected);.. |
cc80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 | ....................CAPTURE(.act |
cca0 | 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 | ual.);.....................actua |
ccc0 | 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 | l.=.xttest_ftom(result);........ |
cce0 | 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 | .........{.................THEN( |
cd00 | 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f | ."the.detected.F0.is.accurate.to |
cd20 | 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 | .the.nearest.MIDI.cent".)....... |
cd40 | 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 | ...........xtract_f0(table,.bloc |
cd60 | 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 | ksize,.&samplerate,.&result);... |
cd80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 | ..............xttest_add(table,. |
cda0 | 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | noise,.blocksize);.............. |
cdc0 | 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b | ...xttest_gen_noise(noise,.block |
cde0 | 73 69 7a 65 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | size,.amplitude);............... |
ce00 | 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 | ..xttest_gen_sine(table,.blocksi |
ce20 | 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d | ze,.samplerate,.frequency,.1.0.- |
ce40 | 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d | .amplitude);..................am |
ce60 | 70 6c 69 74 75 64 65 20 3d 20 30 2e 32 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 | plitude.=.0.2;.............{.... |
ce80 | 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 | .........WHEN(."white.noise.is.a |
cea0 | 64 64 65 64 20 61 74 20 32 30 25 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 | dded.at.20%".)..............}... |
cec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............}................. |
cee0 | 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b | ....REQUIRE(actual.==.expected); |
cf00 | 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 | ......................CAPTURE(.a |
cf20 | 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 | ctual.);.....................act |
cf40 | 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 | ual.=.xttest_ftom(result);...... |
cf60 | 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 | ...........{.................THE |
cf80 | 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 | N(."the.detected.F0.is.accurate. |
cfa0 | 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 | to.the.nearest.MIDI.cent".)..... |
cfc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c | .............xtract_f0(table,.bl |
cfe0 | 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 | ocksize,.&samplerate,.&result);. |
d000 | 61 64 00 00 33 00 00 00 d7 01 00 00 00 10 00 00 62 00 00 00 00 00 00 00 d8 0f 00 00 ca 0f 00 00 | ad..3...........b............... |
d020 | c0 0f 00 00 bf 0f 00 00 62 0f 00 00 58 0f 00 00 34 0f 00 00 33 0f 00 00 e2 0e 00 00 a3 0e 00 00 | ........b...X...4...3........... |
d040 | a2 0e 00 00 57 0e 00 00 49 0e 00 00 1b 0e 00 00 e8 0d 00 00 c5 0d 00 00 a0 0d 00 00 72 0d 00 00 | ....W...I...................r... |
d060 | 64 0d 00 00 5a 0d 00 00 59 0d 00 00 fa 0c 00 00 f0 0c 00 00 cc 0c 00 00 cb 0c 00 00 7a 0c 00 00 | d...Z...Y...................z... |
d080 | 3b 0c 00 00 3a 0c 00 00 e0 0b 00 00 d2 0b 00 00 a4 0b 00 00 55 0b 00 00 32 0b 00 00 0d 0b 00 00 | ;...:...............U...2....... |
d0a0 | df 0a 00 00 d1 0a 00 00 c7 0a 00 00 c6 0a 00 00 c5 0a 00 00 5c 0a 00 00 52 0a 00 00 27 0a 00 00 | ....................\...R...'... |
d0c0 | 26 0a 00 00 d5 09 00 00 96 09 00 00 95 09 00 00 4a 09 00 00 3c 09 00 00 0e 09 00 00 db 08 00 00 | &...............J...<........... |
d0e0 | b8 08 00 00 93 08 00 00 65 08 00 00 57 08 00 00 4d 08 00 00 4c 08 00 00 e4 07 00 00 da 07 00 00 | ........e...W...M...L........... |
d100 | b0 07 00 00 8b 07 00 00 5c 07 00 00 3b 07 00 00 3a 07 00 00 0f 07 00 00 01 07 00 00 ac 06 00 00 | ........\...;...:............... |
d120 | 69 06 00 00 68 06 00 00 19 06 00 00 07 06 00 00 d5 05 00 00 ae 05 00 00 7c 05 00 00 6a 05 00 00 | i...h...................|...j... |
d140 | 5c 05 00 00 5b 05 00 00 ff 04 00 00 f1 04 00 00 cf 04 00 00 ce 04 00 00 79 04 00 00 36 04 00 00 | \...[...................y...6... |
d160 | 35 04 00 00 e6 03 00 00 d4 03 00 00 a2 03 00 00 7b 03 00 00 49 03 00 00 37 03 00 00 29 03 00 00 | 5...............{...I...7...)... |
d180 | 28 03 00 00 d6 02 00 00 c8 02 00 00 a7 02 00 00 a6 02 00 00 4b 02 00 00 0c 02 00 00 d7 01 00 00 | (...................K........... |
d1a0 | d6 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
d1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 20 20 20 20 20 20 | ................................ |
d1e0 | 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 61 64 64 28 74 61 62 6c 65 2c 20 6e 6f 69 73 65 2c 20 | .......xttest_add(table,.noise,. |
d200 | 62 6c 6f 63 6b 73 69 7a 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 | blocksize);.................xtte |
d220 | 73 74 5f 67 65 6e 5f 6e 6f 69 73 65 28 6e 6f 69 73 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 61 | st_gen_noise(noise,.blocksize,.a |
d240 | 6d 70 6c 69 74 75 64 65 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 | mplitude);.................xttes |
d260 | 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d | t_gen_sine(table,.blocksize,.sam |
d280 | 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 31 2e 30 20 2d 20 61 6d 70 6c 69 74 | plerate,.frequency,.1.0.-.amplit |
d2a0 | 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d 70 6c 69 74 75 64 65 | ude);..................amplitude |
d2c0 | 20 3d 20 30 2e 31 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 | .=.0.1;.............{........... |
d2e0 | 20 20 57 48 45 4e 28 20 22 77 68 69 74 65 20 6e 6f 69 73 65 20 69 73 20 61 64 64 65 64 20 61 74 | ..WHEN(."white.noise.is.added.at |
d300 | 20 31 30 25 22 20 29 20 2f 2f 20 4f 6e 6c 79 20 74 65 73 74 20 6e 6f 69 73 65 20 66 6f 72 20 6f | .10%".).//.Only.test.noise.for.o |
d320 | 6e 65 20 63 61 73 65 00 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 | ne.case..............}.......... |
d340 | 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 | .......}.....................REQ |
d360 | 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 | UIRE(actual.==.expected);....... |
d380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 | ...............CAPTURE(.actual.) |
d3a0 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 | ;.....................actual.=.x |
d3c0 | 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 | ttest_ftom(result);............. |
d3e0 | 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 | ....{.................THEN(."the |
d400 | 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 | .detected.F0.is.accurate.to.the. |
d420 | 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 | nearest.MIDI.cent".)............ |
d440 | 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 | ......xtract_f0(table,.blocksize |
d460 | 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 | ,.&samplerate,.&result);........ |
d480 | 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 | .........xttest_gen_sine(table,. |
d4a0 | 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 | blocksize,.samplerate,.frequency |
d4c0 | 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 | ,.amplitude);..................a |
d4e0 | 6d 70 6c 69 74 75 64 65 20 3d 20 30 2e 30 31 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 | mplitude.=.0.01;.............{.. |
d500 | 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 65 20 | ...........WHEN(."the.amplitude. |
d520 | 69 73 20 30 2e 30 31 22 20 29 20 2f 2f 20 4f 6e 6c 79 20 74 65 73 74 20 61 20 64 69 66 66 65 72 | is.0.01".).//.Only.test.a.differ |
d540 | 65 6e 74 20 61 6d 70 6c 69 74 75 64 65 20 66 6f 72 20 6f 6e 65 20 63 61 73 65 00 00 20 20 20 20 | ent.amplitude.for.one.case...... |
d560 | 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 | ........}.................}..... |
d580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d | ................REQUIRE(actual.= |
d5a0 | 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.expected);.................... |
d5c0 | 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | ..CAPTURE(.actual.);............ |
d5e0 | 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 | .........actual.=.xttest_ftom(re |
d600 | 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 | sult);.................{........ |
d620 | 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 | .........THEN(."the.detected.F0. |
d640 | 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 | is.accurate.to.the.nearest.MIDI. |
d660 | 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f | cent".)..................xtract_ |
d680 | 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 | f0(table,.blocksize,.&samplerate |
d6a0 | 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 | ,.&result);.................xtte |
d6c0 | 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 | st_gen_sine(table,.blocksize,.sa |
d6e0 | 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b | mplerate,.frequency,.amplitude); |
d700 | 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e 28 | .............{.............WHEN( |
d720 | 20 22 74 68 65 20 61 6d 70 6c 69 74 75 64 65 20 69 73 20 31 2e 30 22 20 29 00 00 20 20 20 20 20 | ."the.amplitude.is.1.0".)....... |
d740 | 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 | .......CAPTURE(.expected.);..... |
d760 | 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 | ........expected.=.xttest_ftom(f |
d780 | 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 6e 6f | requency);.............double.no |
d7a0 | 69 73 65 5b 62 6c 6f 63 6b 73 69 7a 65 5d 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 | ise[blocksize];.............doub |
d7c0 | 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 33 34 34 2e 35 33 31 32 35 3b 00 20 20 20 20 20 20 | le.frequency.=.344.53125;....... |
d7e0 | 20 20 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 | ..{.........WHEN(."the.frequency |
d800 | 20 69 73 20 33 34 34 2e 35 33 31 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 | .is.344.53125.Hz".).//.period.of |
d820 | 20 65 78 61 63 74 6c 79 20 31 32 38 20 73 61 6d 70 6c 65 73 3a 20 38 20 63 79 63 6c 65 73 20 69 | .exactly.128.samples:.8.cycles.i |
d840 | 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 | n.the.block..........}.......... |
d860 | 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 | ...}.................REQUIRE(act |
d880 | 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 | ual.==.expected);............... |
d8a0 | 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 | ...CAPTURE(.expected.);......... |
d8c0 | 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 74 75 61 6c 20 29 3b 00 20 20 20 20 20 | ........CAPTURE(.actual.);...... |
d8e0 | 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f | ...........expected.=.xttest_fto |
d900 | 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 | m(frequency);.................ac |
d920 | 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 | tual.=.xttest_ftom(result);..... |
d940 | 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 | ........{.............THEN(."the |
d960 | 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 75 72 61 74 65 20 74 6f 20 74 68 65 20 | .detected.F0.is.accurate.to.the. |
d980 | 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 29 00 00 20 20 20 20 20 20 20 20 20 20 | nearest.MIDI.cent".)............ |
d9a0 | 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 | ..xtract_f0(table,.blocksize,.&s |
d9c0 | 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | amplerate,.&result);............ |
d9e0 | 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a | .xttest_gen_sine(table,.blocksiz |
da00 | 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 | e,.samplerate,.frequency,.amplit |
da20 | 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 72 65 71 75 65 | ude);..............double.freque |
da40 | 6e 63 79 20 3d 20 31 37 32 2e 32 36 35 36 32 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 | ncy.=.172.265625;.........{..... |
da60 | 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 37 32 2e | ....WHEN(."the.frequency.is.172. |
da80 | 32 36 35 36 32 35 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 65 78 61 63 74 6c | 265625.Hz".).//.period.of.exactl |
daa0 | 79 20 32 35 36 20 73 61 6d 70 6c 65 73 3a 20 34 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 | y.256.samples:.4.cycles.in.the.b |
dac0 | 6c 6f 63 6b 00 00 00 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 | lock...........}.............}.. |
dae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d | ...............REQUIRE(actual.== |
db00 | 20 65 78 70 65 63 74 65 64 29 3b 20 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 | .expected);..................CAP |
db20 | 54 55 52 45 28 20 65 78 70 65 63 74 65 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | TURE(.expected.);............... |
db40 | 20 20 43 41 50 54 55 52 45 28 20 72 65 73 75 6c 74 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 | ..CAPTURE(.result.);............ |
db60 | 20 20 20 20 20 65 78 70 65 63 74 65 64 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 31 35 35 2e | .....expected.=.xttest_ftom(155. |
db80 | 32 38 31 36 39 30 31 34 29 3b 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 32 38 34 20 73 61 6d 70 | 28169014);.//.period.of.284.samp |
dba0 | 6c 65 73 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 | les.................actual.=.xtt |
dbc0 | 65 73 74 5f 66 74 6f 6d 28 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 | est_ftom(result);.............{. |
dbe0 | 20 20 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 | ............THEN(."the.detected. |
dc00 | 46 30 20 69 73 20 71 75 61 6e 74 69 7a 65 64 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 77 | F0.is.quantized.to.the.nearest.w |
dc20 | 68 6f 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 61 6d 70 6c 65 73 22 20 29 00 00 20 20 20 20 20 | hole.number.of.samples".)....... |
dc40 | 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a | .......xtract_f0(table,.blocksiz |
dc60 | 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 | e,.&samplerate,.&result);....... |
dc80 | 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 62 6c 65 2c 20 62 6c 6f | ......xttest_gen_sine(table,.blo |
dca0 | 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 | cksize,.samplerate,.frequency,.a |
dcc0 | 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 66 | mplitude);..............double.f |
dce0 | 72 65 71 75 65 6e 63 79 20 3d 20 31 35 35 3b 00 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 | requency.=.155;.........{....... |
dd00 | 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 73 20 31 35 35 20 48 7a | ..WHEN(."the.frequency.is.155.Hz |
dd20 | 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 32 38 34 2e 35 32 20 73 61 6d 70 6c 65 73 3a | ".).//.period.of.284.52.samples: |
dd40 | 20 33 2e 36 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 20 20 20 20 20 20 | .3.6.cycles.in.the.block........ |
dd60 | 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..}.............}............... |
dd80 | 20 20 52 45 51 55 49 52 45 28 61 63 74 75 61 6c 20 3d 3d 20 65 78 70 65 63 74 65 64 29 3b 20 00 | ..REQUIRE(actual.==.expected);.. |
dda0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 65 78 70 65 63 74 65 | ................CAPTURE(.expecte |
ddc0 | 64 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 41 50 54 55 52 45 28 20 61 63 | d.);.................CAPTURE(.ac |
dde0 | 74 75 61 6c 20 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 | tual.);.................expected |
de00 | 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 66 72 65 71 75 65 6e 63 79 29 3b 00 20 20 20 20 20 | .=.xttest_ftom(frequency);...... |
de20 | 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 20 3d 20 78 74 74 65 73 74 5f 66 74 6f 6d 28 | ...........actual.=.xttest_ftom( |
de40 | 72 65 73 75 6c 74 29 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 7b 00 20 20 20 20 20 20 20 20 20 | result);.............{.......... |
de60 | 20 20 20 54 48 45 4e 28 20 22 74 68 65 20 64 65 74 65 63 74 65 64 20 46 30 20 69 73 20 61 63 63 | ...THEN(."the.detected.F0.is.acc |
de80 | 75 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 4d 49 44 49 20 63 65 6e 74 22 20 | urate.to.the.nearest.MIDI.cent". |
dea0 | 29 00 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 72 61 63 74 5f 66 30 28 74 61 62 6c 65 2c 20 | )..............xtract_f0(table,. |
dec0 | 62 6c 6f 63 6b 73 69 7a 65 2c 20 26 73 61 6d 70 6c 65 72 61 74 65 2c 20 26 72 65 73 75 6c 74 29 | blocksize,.&samplerate,.&result) |
dee0 | 3b 00 20 20 20 20 20 20 20 20 20 20 20 20 78 74 74 65 73 74 5f 67 65 6e 5f 73 69 6e 65 28 74 61 | ;.............xttest_gen_sine(ta |
df00 | 62 6c 65 2c 20 62 6c 6f 63 6b 73 69 7a 65 2c 20 73 61 6d 70 6c 65 72 61 74 65 2c 20 66 72 65 71 | ble,.blocksize,.samplerate,.freq |
df20 | 75 65 6e 63 79 2c 20 61 6d 70 6c 69 74 75 64 65 29 3b 00 00 20 20 20 20 20 20 20 20 20 20 20 20 | uency,.amplitude);.............. |
df40 | 64 6f 75 62 6c 65 20 66 72 65 71 75 65 6e 63 79 20 3d 20 31 34 30 3b 00 20 20 20 20 20 20 20 20 | double.frequency.=.140;......... |
df60 | 7b 00 20 20 20 20 20 20 20 20 57 48 45 4e 28 20 22 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 | {.........WHEN(."the.frequency.i |
df80 | 73 20 31 34 30 20 48 7a 22 20 29 20 2f 2f 20 70 65 72 69 6f 64 20 6f 66 20 33 31 35 20 73 61 6d | s.140.Hz".).//.period.of.315.sam |
dfa0 | 70 6c 65 73 3a 20 33 2e 32 35 20 63 79 63 6c 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 00 00 | ples:.3.25.cycles.in.the.block.. |
dfc0 | 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 20 20 20 20 20 20 20 20 | ........}.............}......... |
dfe0 | 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 28 72 65 73 75 6c 74 20 3d 3d 20 30 2e 30 29 3b 00 | ........REQUIRE(result.==.0.0);. |