No, aspetta, ora non seguo più ...
Tu qui:
const char* CH_G4[]={"G4","B4","D5"};
... stai dichiarando un array di stringhe classiche del 'C' per cui:
CH_G4[0] assumerà il valore "G4", CH_G4[1] il valore "B4" ed infine CH_G4[2] il valore "D5", ma, come vedi, sono valori racchiusi tra doppi apici, quindi NON numeri ma strighe di caratteri !!!
Tu invece cosa vorresti? Che alla fine CH_G4[0] contenesse il valore numerico 64, CH_G4[1] il valore 128 e CH_G4[2] il valore 192? ... perché, così come hai scritto, NON ottieni questo eh ... ![]()
Guglielmo