Hello there,
1. There’s is actually no possible way ever to solve this. I’ll do my best to explain. For the audio script portion of the data, the chunk of data which holds all the music notes, and all the state-management of the instruments for things like octave switching, this data is entirely client-side. It only ever updates when it gets instructions from the server to do so. Those instructions come from pressing buttons on your skillbar and equipping/unequipping the instrument item. So if there’s no client-to-server interaction when it comes to an audio script that is loaded, and all the server is doing is sending state-based instructions down to the client-side audio scripts, there is in fact no persistent data being saved between maps. So if someone loads into a map after you have previously equipped your instrument and switched away from the default loaded octave, then they’re going to load in with the default parameters of your instrument. The workaround for this is for you to unequip and re-equip the instrument and that’ll update everyone who is presently in the map to a synchronous state (with exception to user-define drum loops on the Frame Drum, this issue implies that there is no way to persistently save that data between any map transitions).
2. I tried reproducing this issue multiple times on our development builds and couldn’t get the bug to manifest whatsoever. Not sure what would cause that, using emotes doesn’t seem to reset the audio script in any way. Are you sure that’s all you had to do to get it to revert to the default? In any case if that ever happens, the simple workaround is to just unequip and re-equip and all will be made right again.