Delayed by buzzer

Hi, from my code i able to drive an ambulance sound. However, my data displayed on the screen will be delayed due to the buzzer. May i know how to i solve this?

void soundmusic(int sound){

for(int i=500;i<=1000;i++) { 
    tone(sound,i);   
    delay(4);     
   }
  for(int i=1000;i>=500;i--) {
    tone(sound,i);
    delay(3);
  }
}

May i know how to i solve this?

Read Using millis() for timing. A beginners guide, Several things at the same time and look at the BlinkWithoutDelay example in the IDE.

However, my data displayed on the screen will be delayed due to the buzzer.

No, the code is not delayed by the buzzer. It is delayed by all the delay() calls that you make.