You can technically play more than 4 waveforms using PLAY's comma command. In fact, the number of sounds you can play simultaneously this way is unlimited. PLAY and SOUND can play basic waveforms (square, sawtooth, triangle, sine, white noise, pink noise, Brownian noise, LFSR noise and pulse wave). You can play user defined waveforms defined using _WAVE.
If you are looking for MIDI-based player, then take a look at the excellent MidiNotes player / library by @Dav - https://qb64phoenix.com/forum/showthread.php?tid=3016
If you are looking for MIDI-based player, then take a look at the excellent MidiNotes player / library by @Dav - https://qb64phoenix.com/forum/showthread.php?tid=3016