Like Bob Delbridge, two of my three battery powered locos have on-board sound. A small bluetooth amplifier PC board and a decent size speaker (2-21/2") fit easily into the locos and work well. The sound is controlled by the BlueRail app in my iPad and can be switched between diesel and steam.
As an easier alternate, a complete small bluetooth speaker chassis can be installed in a trailing tender/boxcar/toolcar. I've done this and works just as well.