Remove unnecessary instrument model
Leave instruments in their DS.HasMany collections

This way they are instantiated with a part, and the mute observer no
longer fires once per note.
Stop a specific pitch if provided

This way you can play the keyboard without disrupting playback
Each synth has its own volume
Midi instruments have a volume setting
Set volume and mute state on synth init
Add note offs so the piano works for midi