frac32 volEnv
frac32 in1
frac32 tailEnv
frac32 bassEnv
frac32 pitchHit
frac32 pitchSub
frac32 pitchTail
frac32 out
frac32 vol
frac32 bassMod
frac32.s.map.pitch pitchHit
frac32.s.map.pitch pitchSub
frac32.s.map.pitch pitchTail
int32_t tail = param_pitchTail + inlet_pitchTail;
int32_t pitchSub = param_pitchSub + inlet_pitchSub;
int32_t pitchHit = param_pitchHit + inlet_pitchHit;
int32_t base =
pitchSub + ___SMMUL(tail - pitchSub << 2, (1 << 27) - inlet_tailEnv << 3);
int32_t pitch = base + ___SMMUL(pitchHit - base << 2, inlet_hitEnv << 3);
outlet_pitch = pitch;
int32_t bs1 = outlet_vol =
inlet_volEnv +
___SMMUL(inlet_bassEnv - inlet_volEnv << 2,
(1 << 27) - ___SMMUL(inlet_tailEnv << 3, inlet_volEnv << 2) << 3);
outlet_bassMod =
___SMMUL(inlet_bassEnv << 2,
(1 << 27) - ___SMMUL(inlet_tailEnv << 3, inlet_volEnv << 2) << 3);