# Number of Notes

I am working on playing the tardis take off noise off of an arduino using the piezo. The original code that i am modifying from my teacher only had 8 notes but I need to play 14. is this possible? and if so where do I need to change it to make that happen?

/*
Melody

Plays a melody

circuit:

• 8-ohm speaker on digital pin 8

created 21 Jan 2010
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

*/
#define NOTE_B2 123
#define NOTE_A3 220
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_G4 392
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_D5 587

// notes in the melody:
int melody[] = {
NOTE_B2, NOTE_C5, NOTE_B4, NOTE_D5, NOTE_A3, NOTE_B3, NOTE_B4, NOTE_G4, NOTE_B3, NOTE_D4, NOTE_C4, NOTE_B3, NOTE_C5, NOTE_B4
};

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
4, 4, 1, 4, 4, 1, 4, 4, 2, 2, 8, 4, 8, 4
};

void setup() {
// iterate over the notes of the melody:
for (int thisNote = 0; thisNote < 8; thisNote++) {

// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000 / noteDurations[thisNote];
tone(8, melody[thisNote], noteDuration);

// to distinguish the notes, set a minimum time between them.
// the note's duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
// stop the tone playing:
noTone(8);
}
}

void loop() {
// no need to repeat the melody.
}

It is quite simple to play more notes.
Just define them in the #define block, then put them into the melody array, finally change the <8 in the for to a <whatever number of notes you have.

But two points

1. you can not play a tardis taking off tune because that is not possible with a chromatic scale
2. read the how to use this forum sticky post to find out how to post code.