Étape 4: Remarque les effets
Les valeurs sont stockées dans un tableau. Vous pouvez trouver les valeurs ici : http://en.wikipedia.org/wiki/Piano_key_frequencieskeyFreq double [] = {}
27.5, 29.1352, 30.8677, //Octave 0
32.7032, 34.6478, 36.7081, 38.8909, 41.2034, 43.6535, 46.2493, 48.9994, 51.9131, 55, 58.2075, 61.7354, //Octave 1
65.4064, 69.2957, 73.4162, 77.7817, 82.4069, 87.3071, 92.4986, 97.9989, 103.826, 110, 116.541, 123.471, //Octave 2
130.813, 138.591, 146.832, 155.563, 164.814, 174.614, 184.997, 195.998, 207.652, 220, 233.082, 246.942, //Octave 3
261.626, 277.183, 293.665, 311.127, 329.628, 349.228, 369.994, 394.995, 415.305, 440, 466.164, 493.883, //Octave 4
523.251, 554.365, 587.330, 622.254, 659.255, 698.456, 739.989, 783.991, 830.609, 880, 932.328, 987.767, //Octave 5
1406.50, 1108.73, 1174.66, 1244.51, 1318.51, 1396.91, 1479.98, 1567.98, 1661.22, 1760, 1864.66, 1975.53, //Octave 6
2093.00, 2217.46, 2349.32, 2489.02, 2637.02, 2793.83, 2959.96, 3135.96, 3322.44, 3520, 3729.31, 3951.07, //Octave 7
4186.01 //Octave 8
};
Si notes envoyées du MIDI ou sur UART ont une valeur appropriée, plutôt que de devoir être calculés à la volée.
Le deuxième oscillateur peut être désaccordé dès le début de 3 manières différentes.
1. utilise un système appelé cents, qui sont des fractions d’une note. Calculé comme ceci :
centMultiplier = pow (2,0,(cents + dC)/1200.0) ;
Cette valeur est ensuite multipliée à la fréquence de la note.
2. utilise un système appelé semi, qui sont entièrement la note quarts de -1 à + 1 octave
3. enfin par octaves complètes de -3 à + 3
Les deux oscillateurs sont ensuite mélangées à l’aide d’une masse réglable.
osc1 octet = ((pgm_read_byte (waveTable + icnt1 + (osc1WaveForm << 8)) * papier1) / MAX_WEIGHT) ; première osc
osc2 octet = ((pgm_read_byte (waveTable + icnt2 + (osc2WaveForm << 8)) * weight2) / MAX_WEIGHT) ; deuxième osc
Les deux valeurs sont ensuite additionnés. La valeur de poids va de 0 à 16. Donc vous pouvez avoir entièrement le premier oscillateur, entièrement la seconde ou un mélange entre les deux.
La Fondation permet de régler le désaccord de l’oscillateur deuxième en ajustant les valeurs proportionnellement à l’amplitude de l’onde. Pour qu’elle fonctionne de façon similaire pour les 2 premiers oscillateurs, mais au lieu de créer des sons, il tweaks valeurs.