For serving local music, the free and open source "Logitech Media Server"[0] is a great solution -- main weakness is the lack of a central organization promoting it. In addition to working smoothly with dedicated ("squeeze") clients which can be Logitech-brand or DIY[1, 2], it has a massive plugin catalog that allows e.g.
- airPlay integration: stream to your squeeze-clients via airPlay, stream to your airPlay clients from squeezebox.
- chromeCast integration: stream to chromeCast devices from squeezeBox.
- upNp integration: stream to upNp clients.
The system was originally developed by "SqueezeBox" who also made (awesome) physical devices. SqueezeBox was acquired by Logitech many years ago. Logitech put out one or two devices before giving up, but they are actually playing really nice by continuing to support development on the server (see [0]).
[0]: https://github.com/Logitech/slimserver [1]: https://github.com/ralph-irving/squeezelite [2]: https://www.picoreplayer.org/