MixPlayer (https://www.npmjs.com/package/mix-player) is your solution! It supports most of the common file formats (FLAC, MP3, Ogg, VOC, and WAV files) and has customizability of fade-ins, volume changing, seeking, looping, etc.
Heres an example snippet:
import { MixPlayer } from "MixPlayer";
MixPlayer.play("test_audio.mp3");
MixPlayer.onAudioEnd(() => {
console.log("Audio ended! Now what?");
});
await MixPlayer.wait();
process.exit(0);