makepad/libs/piano_model/tests/data/salamander_v3.tsv
Admin b49e2e5060 piano-model: calibrate partial gains and decay against recordings
Apply immutable pitch/velocity-interpolated modal calibration while preserving an explicit uncalibrated constructor. Add offline acoustic tooling, reference measurements and regression coverage.

Validation: 16 calibration/acoustic release tests passed, one ignored.
2026-09-05 01:42:39 +02:00

41 lines
11 KiB
Text

# salamander-acoustic-v1
# provenance {"author": "Alexander Holm", "corpus": "Salamander Grand Piano V3 48kHz/24bit (README heading says V2)", "instrument": "Yamaha C5", "license": "CC BY 3.0", "license_url": "http://creativecommons.org/licenses/by/3.0/", "readme_file": "README", "readme_sha256": "04ddba91bcafcb4c53dee7b004479f79af47bb92574f06bbe741b00c3ca64e0e", "sfz_file": "SalamanderGrandPianoV3.sfz", "sfz_sha256": "1326f680002fe112c3cd74b298f66fc78089e325bd9937d89e5efff58f3ce0d2"}
# method {"acceptance": "provisional diagnostics only; ignored Rust comparison is not final acceptance", "band_edges": "lower inclusive, upper exclusive", "bands_hz": [[20, 500], [500, 2000], [2000, 8000]], "decay": "negative OLS slope of 10log10 band power, 100ms Hann windows starting 0.1..0.9s in 50ms hops; positive means decay, dB/s", "floor": "power ratios floored at 1e-15; decay floor = whole-note 0..2s mean square * 1e-15", "onset": "first nonoverlapping 1ms RMS frame > -40dB re peak frame in first 0.5s; align to frame start", "onset_energy": "unwindowed stereo sum-of-squares 0..5ms / 0..50ms", "partial_bands": "[(n-0.4)*f0,(n+0.4)*f0), n=1..6, equal-tempered MIDI f0; 10log10(P1/max(P2..P6))", "partial_windows_s": [[0.05, 0.3], [1.0, 2.0]], "rms": "unwindowed stereo RMS 0..2s; absolute dB re native C4 at SAME velocity plus within-set C4 register dB", "sfz": "native attack-region selection only; no transposition, velocity gain, envelopes, loops or release/noise layers applied", "share_denominator_hz": [20, 20000], "share_windows_s": [[0.05, 0.1], [1.0, 2.0]], "spectrum": "periodic Hann; next-power-of-two FFT; one-sided power / (Nfft * sum(window^2))", "stereo": "mean of independent channel powers; never FFT of L+R", "version": 1}
# thresholds_abs 6.0 6.0 6.0 6.0 6.0 6.0 6.0 0.15 8.0 8.0 8.0
note velocity layer lovel hivel native_file sha256 onset_sample rate_hz rms_0_2 early_mid_share_db early_high_share_db late_mid_share_db late_high_share_db p1_cluster_50_300_db p1_cluster_1_2_db rms_register_db onset_energy_5_over_50 decay_low_db_s decay_mid_db_s decay_high_db_s
21 28 2 27 34 48khz24bit/A0v2.wav 90266eca44a8012c69b46a7164dfab1d4afd766427401b240370e68ace5c6a9d 240 48000 0.03280976407 -11.65114022 -57.67798921 -13.29835363 -64.0078461 -35.94206924 -35.18520878 3.399232036 0.0005206009925 5.10778649 2.458515697 10.71507095
21 68 9 65 72 48khz24bit/A0v9.wav 3b037bcc94c3643ee8717513dc20fa859bf0091b8b750765c437f6f5bf6bef0d 432 48000 0.07836185205 -8.040076641 -36.16950135 -8.443770404 -51.43796477 -33.4334009 -36.92370557 3.2159112 0.003169944715 5.164615573 3.088421311 15.61075719
21 112 14 105 112 48khz24bit/A0v14.wav cd6150df68bbb96ca5f547b40cb45d594f93892751565120d79ba341e714f05c 576 48000 0.1133012006 -7.425315299 -27.06552076 -7.721811629 -44.04472365 -25.81387582 -36.28898089 0.1881921145 0.003400683411 5.574768402 3.678200417 17.75131591
24 28 2 27 34 48khz24bit/C1v2.wav ac493b8c27061b7317989a6cc9384f8c6c7696f5d539b06d880d7115321dd252 1344 48000 0.03721422843 -18.26829403 -60.85952234 -11.638181 -60.35208734 -33.17217633 -37.24210852 4.493350269 0.0001980669492 9.295479622 3.637035102 8.573638749
24 68 9 65 72 48khz24bit/C1v9.wav d4a52a320aa1d6322849369f31c750221a11b3c7b52d93c7b40b6a25cc7530ad 384 48000 0.07064527217 -13.96982013 -43.46816201 -8.173689234 -44.65085901 -33.51114074 -39.50199159 2.315479416 0.0002545690245 9.414926491 4.077085434 9.029443956
24 112 14 105 112 48khz24bit/C1v14.wav b5b205c7a2d67a06985b13e748930a1302a95cff8d5dc6bbe3a2216c020b6a32 1248 48000 0.1048586075 -9.285821243 -29.80691746 -6.55970287 -36.62150927 -32.30505502 -38.91199281 -0.4844164057 0.0004156644762 9.139275133 4.505329389 11.48302873
30 28 2 27 34 48khz24bit/F#1v2.wav b9c2d531661371c442718bf263ebcd63bd5f7b3d2f59ddbc1bda87c5957b7d9f 336 48000 0.03594545422 -18.06024303 -64.6160283 -16.51873735 -64.83959275 -25.3238835 -24.86275423 4.192049405 0.0001236173242 4.418805743 5.300124548 4.811797952
30 68 9 65 72 48khz24bit/F#1v9.wav 1c21b1d904aff6e6cf3fd4f79bebc38f4d51e36342e3661e59adb1f9dd788f87 528 48000 0.08901150324 -12.01476695 -37.04963788 -11.05728833 -41.87135962 -22.61587785 -24.33686667 4.322740074 8.758833074e-05 4.350594946 3.86047887 7.894708652
30 112 14 105 112 48khz24bit/F#1v14.wav a983e41bb20057aa7719f7991dfe292d880df729c7f0a7efa11302bb9f9c5ef2 624 48000 0.1287472912 -10.76781251 -29.54625478 -11.01225377 -36.29942759 -22.95440479 -24.7229079 1.298263885 0.0009019521912 4.219360115 3.986546148 9.417484282
33 28 2 27 34 48khz24bit/A1v2.wav 1503afb9f4e260e71417c36fd0a6052313ea47c0a235eabf10284a51de32c4b2 144 48000 0.03047341988 -16.33808585 -56.30581089 -17.99602336 -56.64149848 -29.29859569 -25.2046753 2.7575938 0.0002667692973 6.546526255 10.67425158 9.883118326
33 68 9 65 72 48khz24bit/A1v9.wav 77a1324a69c290b4ba5d1e085a293a969e666200af5205d18155e2193c47201d 96 48000 0.07152600931 -11.02146352 -29.30949271 -14.47248787 -31.42409854 -29.81864652 -26.45036161 2.423097262 0.000693457261 5.923279293 10.11758408 6.587447302
33 112 14 105 112 48khz24bit/A1v14.wav 3500bc1ac1c31ac1a008120d765dd2c8e4348c14e842ab2f74cfdc8a31c8324e 240 48000 0.1157347971 -9.700207729 -20.17951117 -13.46733212 -23.54234878 -26.48685379 -29.90757026 0.3727809666 0.001070990654 5.765768484 10.58351638 6.628121007
36 28 2 27 34 48khz24bit/C2v2.wav 9672ecb680bd6f491ebe03d50b08ab2366b2eb774bcef02113375bedf851b48b 432 48000 0.0237451323 -19.23102958 -58.43237829 -13.3650128 -44.96216326 -23.39000473 -6.020468546 0.5906617616 0.0005019012627 19.73635515 13.68848785 6.601103775
36 68 9 65 72 48khz24bit/C2v9.wav 6fbbac815696bb2d72d6fd7f0dc4877c13308e7c44db2dcfe91f3e91b353c1d8 288 48000 0.054528533 -13.1026873 -31.45874794 -4.950180643 -17.2675718 -23.94534963 -6.347898002 0.06629364044 0.0002368773537 21.18142 13.10692236 10.67070696
36 112 14 105 112 48khz24bit/C2v14.wav e8f26597c8b6aa79c82295cb0369c3711812bfdfe552d9d3889bf826512c0941 240 48000 0.08686137535 -11.60322814 -23.91831319 -3.366611946 -10.92373928 -23.42071048 -5.802416276 -2.11996409 0.0009784825693 20.93430601 13.1095554 10.70083809
45 28 2 27 34 48khz24bit/A2v2.wav c46c5e7663c30c8cafa40bdd053781623c54914bb6d5ee4557735e1cf056a49a 240 48000 0.02741340966 -11.74642921 -46.34596126 -13.92298182 -46.40379728 2.115478643 9.238206123 1.838431009 0.0001816169699 7.623947372 8.427483895 1.354989821
45 68 9 65 72 48khz24bit/A2v9.wav c8aaf9e022ec8818730aeba38ee3dd2b232650212ac8e012e27d3b4adbdaf7dc 432 48000 0.05734960673 -8.663451086 -30.63925592 -10.38514044 -31.13724126 1.702932015 8.468810152 0.5044262451 0.0003335033005 8.044153277 9.117894332 1.321999979
45 112 14 105 112 48khz24bit/A2v14.wav b6f05f534118e1f67ddbc50af001dc257b8dcddceccc0427873790114acb43fe 480 48000 0.09920509492 -7.180180996 -21.8423383 -9.333339981 -22.49651046 1.523959522 8.768937687 -0.965818584 0.0004548268122 8.377793965 9.925611494 2.039197144
48 28 2 27 34 48khz24bit/C3v2.wav b92a31c2d1628f5adbac93e9427665a05abdd8b07fa149c4b58049175fb45c13 528 48000 0.02167173295 -17.03146189 -56.03177864 -18.32630183 -46.73197317 5.355525989 -19.62852165 -0.2029573051 0.0003922117068 14.07434954 17.25500688 4.151128026
48 68 9 65 72 48khz24bit/C3v9.wav 7070a8dba781ec66836d84dc2e1621db68063f1ad8aad5030df2f851daeee0b8 576 48000 0.05462686597 -14.00654535 -33.8000209 -12.28652093 -29.32877743 3.493234237 -20.4505999 0.08194306525 0.0002261510201 12.86236059 16.11143843 5.910858626
48 112 14 105 112 48khz24bit/C3v14.wav b2616d5a6aba73ef007c71735b1c625b86a2f524088e6af7be863b4caa0c8cc4 720 48000 0.08273772084 -13.19219589 -27.35860759 -11.04331319 -24.02935977 2.745061369 -20.11487666 -2.542427057 0.0002153575355 12.11345407 15.67357017 5.960406991
60 28 2 27 34 48khz24bit/C4v2.wav 77db41e544293e572ab96a82b6a5f8c29acb29cda9dbd232a0b78dabe1e2104a 432 48000 0.02218408424 -3.729717641 -49.83409217 -2.473701499 -35.52423118 0.9861871936 0.4312607219 0 0.0001294863164 24.35551584 20.82937962 4.831327771
60 68 9 65 72 48khz24bit/C4v9.wav 1cb2290dd17813606bd447239254cf253c3512a51115a9761e178b20851a105b 624 48000 0.05411393702 -2.881602111 -28.2885628 -1.184953982 -21.36061575 -0.2227885489 -1.774041882 0 0.01951891649 24.68580475 21.2446781 16.97229651
60 112 14 105 112 48khz24bit/C4v14.wav 10297813a3d4cf7bb4f0e143d219ff4aa35dc3c461eb11c486bf726470030b69 528 48000 0.1108727721 -2.472053633 -18.84106974 -1.241980168 -16.9872119 -1.347924438 -2.415282946 0 0.01780106986 25.69135167 21.19845378 24.22773778
69 28 2 27 34 48khz24bit/A4v2.wav 12f405a285ec486218ab51f483c80d8a816a7736b612bf2821b184a6cb13b2ff 336 48000 0.01456958803 -16.16244451 -42.66151269 -7.536847064 -33.74443255 15.55949897 6.768443314 -3.651884678 4.10279459e-05 24.55715117 11.88022815 15.88124218
69 68 9 65 72 48khz24bit/A4v9.wav afc6aa529de2b0d17f2ffd40ed08c36bffc919c30f87c433faafef775c9d7d37 528 48000 0.04279227715 -11.16182816 -24.86855111 -2.547516606 -24.83406649 10.58016823 -0.8286513161 -2.038874683 0.01805987281 28.44241741 15.39130799 23.55473968
69 112 14 105 112 48khz24bit/A4v14.wav de995fe20bef904ca575f26ef44c45a359564283bafd1da7ededdc3e234246e5 384 48000 0.07385745267 -10.23946298 -21.361382 -1.38331428 -22.43955804 9.516342214 -4.215074013 -3.528611627 3.294248036e-05 30.8876376 17.48111443 24.83812321
72 28 2 27 34 48khz24bit/C5v2.wav 2818d6252d8b0a94611c70226780acabf65dc4d346bfdad70d5f79dcc5eba28b 432 48000 0.01495794862 -0.03804530556 -35.14167394 -0.06815056163 -32.59446533 21.09151952 13.45116271 -3.423389369 0.001675474606 11.46059686 34.7468171 15.15889315
72 68 9 65 72 48khz24bit/C5v9.wav ecb93805c06722dd601d9648075f25d7a1444906bbd16836e81dd603944724cb 576 48000 0.04074173359 -0.07254870366 -20.25255099 -0.02411644451 -25.60950068 17.58543491 10.32730187 -2.465392545 0.01341236018 21.53311177 33.89846721 23.2583056
72 112 14 105 112 48khz24bit/C5v14.wav e581097a4f7643650bdb6ebd64ea080bccfe7ee07eb8854a2d7963da507035a5 336 48000 0.08006222537 -0.1147959384 -17.12259165 -0.01630496936 -25.53672457 15.81843095 9.291618986 -2.827944976 2.024551258e-05 28.13555103 35.44322622 28.64406164
84 28 2 27 34 48khz24bit/C6v2.wav 5e00d9183f0a408dfa80d57e41eb54533041baec173d5bbbc391bc1670e444ac 576 48000 0.00763176888 -0.4291322453 -29.32138324 -7.746777124 -26.43444838 26.74569983 19.2115377 -9.268325918 0.0002085254637 9.982263689 21.10887953 23.89991286
84 68 9 65 72 48khz24bit/C6v9.wav 1560396b9bf9c1026a25040de64e70ad3a89c490d7fc6f3380bb5a9ff257f107 240 48000 0.02648862934 -0.9045694551 -7.947807448 -1.419236324 -20.85096641 13.41255145 20.20053711 -6.204992914 0.0001165404932 19.27243414 20.51555057 32.83703651
84 112 14 105 112 48khz24bit/C6v14.wav e9675978801eafd7dd07e72ef5ecd8294a57638215b9ea196ca325e94cc1a141 384 48000 0.04472401578 -1.414997166 -5.75984532 -2.645607013 -19.11650651 9.880115706 17.54358118 -7.885682283 0.06144602608 21.18210191 20.10083087 36.30224381
96 28 2 27 34 48khz24bit/C7v2.wav 6eb6bf0e3a25faa9bb31da769fec2fae85ac68e1d78c90d341eabc8e09096bbc 144 48000 0.00222259667 -14.29180726 -1.657749345 -25.35608103 -21.57532761 22.72340834 17.68496598 -19.98361693 9.686160637e-05 8.160563262 29.10071499 29.40546634
96 68 9 65 72 48khz24bit/C7v9.wav cf333ef5b18109d50e86984c97f212519dd8cbf9041f94ebea628f4375e78ec3 432 48000 0.01306713169 -18.69515704 -0.1632210509 -19.33102188 -7.049173483 29.40398428 30.58452778 -12.34257728 0.01372626973 15.79062647 30.06022144 32.8841129
96 112 14 105 112 48khz24bit/C7v14.wav 0016677f5657565d8120029df3a59d5475b6dedc0a9cd579fa33dea8fb9ad6ac 528 48000 0.03537003368 -21.4546494 -0.08601441236 -16.20771882 -3.634228398 22.28577626 30.84611167 -9.923788657 0.05170701078 21.65027988 29.7965407 34.57059416