need help

I am terribly poor at English and arduino.
i want doh~~ mi~~ sol~~(3seconds) repeat
but my code doh!... mi!... sol!...
how do i fix it..?

int speakerOut = 12;

unsigned long previousMillis = 0;

void setup() {
pinMode(speakerOut, OUTPUT);

void loop() {
// grab current millis
int currentMillis=millis();
// grab duration
int millis = currentMillis - previousMillis;
switch(millis){
case 0:
analogWrite(speakerOut,500);
delayMicroseconds(1915);
analogWrite(speakerOut,0);
delayMicroseconds(1915);
break;
case 1000:
analogWrite(speakerOut,500);
delayMicroseconds(1275);
analogWrite(speakerOut,0);
delayMicroseconds(1275);
break;
case 2000:
analogWrite(speakerOut,500);
delayMicroseconds(1014);
analogWrite(speakerOut,0);
delayMicroseconds(1014);
break;
case 3000:
previousMillis=currentMillis;
break;
default:
break;
}
}

Start by giving your millis variable a different name.

Use bigger numbers here:

delayMicroseconds(1915);

That is 1.915mS, or 0.001915 seconds.

Try delayMilliseconds() instead.