const int crotchet = 100 ;
const int minim = 2*crotchet ;
const int semiBreve = 4 * crotchet ;
const int quaver = crotchet / 2 ;
const int semiQuaver = crotchet / 4 ;
const int demiSemiQuaver = crotchet / 8 ;
const int crotchetWithPoint = crotchet+quaver ;
const int minimWithPoint = minim+ crotchet ;
const int crotchetSilence = crotchet ;
const int minimSilence = minim ;
const int semiBreveSilence = semiBreve;
const int quaverSilence = quaver;
const int semiQuaverSilence = semiQuaver ;
const long DO = 523.25 ;
const long RE = 587.33 ;
const long MI = 659.26 ;
const long FA = 698.46 ;
const long SOL = 391.995 ;
const long LA = 440.00 ;
const long SI = 493.88 ;
const long PAU = 30000 ;
const long speakerOut = 8 ;
const long nextNote = 200 ;
const int nextBlock = 300 ;
const int elements = 34 ;
void setup() {
pinMode(speakerOut, OUTPUT) ; }
void loop() {
int melody[] = {SI,SI,DO,RE,RE,DO,SI,LA,SOL,SOL,LA,SI,SI,LA,LA,SI,SI,DO,RE,RE,DO,SI,LA,SOL,SOL,LA,SI,LA,SOL,SOL } ;
int duration[] = { crotchetWithPoint, nextNote, quaver, crotchet, nextNote, crotchet, nextBlock, crotchet } ;
for (int note = 0 ; note < elements ; note++) {
tone(speakerOut, melody[note] ) ;
delay(duration[note] ) ;
noTone(speakerOut) ; }}