Why is my active buzzer making a shrieking sound?

I am coding an active buzzer to play Piano Man but it keeps emitting one loud screeching tone over everything else. You can hear the notes it is supposed to play under the screech but they are hard to hear. I am using the buzzer from the Elegoo Basic Starter Kit. The base of the code I am using is below, the B is just a blue LED that syncs up to the notes played, and c5 refers to the piano note equivalent of the sound.

tone(12, c5, 125); digitalWrite(B, HIGH); delay(125); digitalWrite(B, LOW);

Can't use an active buzzer to play tones.

A passive (piezo) buzzer speaker is needed.