Please, what is the reason for this? I am at a loss here, because the values for the keynames are the same.
it’s a hilarious issue. sorry to hear that you’ve run into this dark and shady alley of Pbind internals. it has to do with your SynthDef’s ‘scale’ argument.
to debug this problem enable reporting…
s.dumpOSC(1)
with that you can see that the simple Synth line creates a single synth node…
[ 9, "xylophone", 1018, 0, 1, "freq", 400, "amp", 0.3, "velocity", 1 ]
all good so far.
your Pbind on the other hand sends a bundle of create-new-synth messages. so here’s the reason for the 7x amplitude.
[ "#bundle", 16505376936713766509,
[ 9, "xylophone", 1010, 0, 1, "freq", 400, "amp", 0.3, "scale", 0, "velocity", 1 ],
[ 9, "xylophone", 1011, 0, 1, "freq", 400, "amp", 0.3, "scale", 2, "velocity", 1 ],
[ 9, "xylophone", 1012, 0, 1, "freq", 400, "amp", 0.3, "scale", 4, "velocity", 1 ],
[ 9, "xylophone", 1013, 0, 1, "freq", 400, "amp", 0.3, "scale", 5, "velocity", 1 ],
[ 9, "xylophone", 1014, 0, 1, "freq", 400, "amp", 0.3, "scale", 7, "velocity", 1 ],
[ 9, "xylophone", 1015, 0, 1, "freq", 400, "amp", 0.3, "scale", 9, "velocity", 1 ],
[ 9, "xylophone", 1016, 0, 1, "freq", 400, "amp", 0.3, "scale", 11, "velocity", 1 ]
]
now the very opaque and impossible-to-guess-for-a-beginner Pbind ‘feature’ is that when there’s a scale argument in the SynthDef, Pbind will send along the full list of integers for a scale [0, 2, 4… and thereby instantiate a cluster of synths. this is similar to how multi-channel expansion work.
one way to fix this issue is to rename ‘scale’ in your synthdef to for example ‘myScale’.
another would be to force scale to be a single number by overriding the default major scale in your Pbind
\scale, 10,
_f