cool idea with using PARAM to transpose!
glitching is probably due to redefining buttons each time PARAM value changes. i would try changing it to define buttons once and then using a different formula to calculate a note. or try adding G.RST to metro and see if that helps.
also looks like you’re applying PARAM twice? once when defining buttons and then adding it to CV?
@EqualTemperament - #G section stores the states of grid buttons and faders, this way your scene’s grid state is saved with the scene (useful if you’re building a sequencer, for instance).