mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-06-06 21:44:04 +09:00
Implemented in it2taud.py: - _parse_it_pf_envelope_raw() (it2taud.py:677) — parses IT's third envelope at IMPI+0x1D4, keeping all 25 nodes (no decimation), distinguishing pitch vs filter mode via flag bit 7. - _env_value_at() — tick-time linear interpolation honouring env-loop wrap. - _clone_sample(), _plan_baked_length() — sample copy and entry + N×loop_len length planner (N up to 16). - _bake_pitch_envelope() — time-varying linear-interpolated resampling, rate = 2^(env_v/12). - _bake_filter_envelope() — RBJ 2-pole resonant LP biquad with time-varying coefficients; cutoff mapped 110 Hz (env_v=−32) → ~28 kHz (env_v=+32), Q from inst.ifr ∈ [0.5, 6.0]. - ITInstrument extended with pf_nodes, pf_flags, ifc, ifr. parse_instruments() reads IFC/IFR at IMPI+0x39/0x3A and pf envelope at IMPI+0x1D4. - assemble_taud() use_instruments branch now substitutes baked copies in the proxy[] list (originals in samples[] stay intact). - --no-pf-envelope CLI flag for A/B testing; module docstring updated.
80 KiB
80 KiB