Fire alaram sound using Arduino

I am using Um3561 sound generator produce fire alarm sound. I have attached schematic for reference.

When i tested with Normal 5v with converted 3.3v with from MCp1700 it worked properly.

Now i am trying to trigger supply from Transistor load circuit.

Main intention of project is if fault detected through controller enable siren and produce fire alarm sound .

when i tried with above circuit , if 5v provided circuit worked normally, if i trigger through transistor voltage will drops.
Can someone suggest better circuit so i can control load current through speaker

Speaker 2W-3W, 3V ,8ohm,85-95db range, 100-200khz operating frequency.

You would need to put 5V on the speaker at "A" to get 3W. V = square root of W * R, 3 * 8 = 24 = 4.89897948557. Current will be about 625 mA, can the BC548 handle that? Also you need a smaller base R, like 100 Ohms.
I would use a 2N2222A with 220 ohm base R.
Looks like the Um3561 can only output 3 mA, so you may need an amplifier like LM386.