Here is one that I've made for a project, it is very simple, <150 bytes of code. It plays only one channel of sound, allowing to place sample data without caring about bank boundaries (however, you can only put samples in first 512K of ROM). It always works at 16000hz. I've used it together with FM part on M68K side.
Check sound.c for example how to load and use - you need to stop Z80 before loading the driver, reset it after loading, and to play new sample you need to halt Z80, put address and size of a sample into certain place in Z80 RAM (0x1f00..0x1f06 in Z80 address space), and run Z80.