It sounds like you were asking Vue to convert these Tone synth objects into reactive objects, which means it descends into them and wraps every property into a getter and setter so it can keep track of any mutations. When you call a method on a synth, it modifies its own properties, creating a whole chain of unnecessary mutations in your Vuex data store.
A simple solution is to keep those Tone objects out of your Vuex data store. You can import them, instantiate them, and call methods on them from within a component, and even bind it to the component, but just make sure they're not made reactive (you can, e.g., instantiate/bind them to the component in the created lifecycle hook, but make sure not to include their names as property names in the data object).
As an example, let's say you want some range inputs to control parameters of a Tone Synth. You could v-bind those inputs to computed setters in your component to automatically update your Vuex Store, and also watch those same properties to perform Tone object updates.
The larger point here is you probably shouldn't track code you didn't write unless you have sufficient reason to because who knows how much extra work it could generate. Additionally, in this case, Tone objects are the boundaries of your reactivity systems in that nothing in your app code is dependent on them. Their job is to communicate with the browser internals and the surrounding operating system to produce sound.