Answered

Playing local multi-channel audio (eg LPCM 5.1 .flac files)

  • 25 April 2024
  • 9 replies
  • 90 views

I have a Sonos Beam Gen 2 and a TV that support ARC (but not eARC). I no longer have any spare HDMI inputs for my bluray player now that I’ve plugged a Google TV streamer in to the TV. Not really a problem as we stream all movies that we watch now, however, I have some bluray disks with 5.1 channel music that I’d love to be able to listen to through the Beam.

Jumping through hoops I’ve extracted the 5.1 sound files from the disk to a 5.1 LPCM .flac file, 48khz/24bits, and I put that on to my home network. The Sonos app can see the file, but when I try to play it I’m told “unsupported format”. So, is there a supported format I can convert the files to that the Beam can play directly?

Casting the sound file to the Google TV also doesn’t play the files, although I can play them fine on my computer or phone. (Also using an app called BubbleUPnP on my phone or home network I can convert the files to 2 channel to play, but I want the Beam to be able to mix the 5.1 channels itself)

icon

Best answer by Schlumpf 25 April 2024, 16:43

View original

9 replies

Userlevel 6
Badge +12

As far as I understand it lpcm requires earc and will not play on arc

my tv turns lpcm into pcm 2.0 sound 

maybe convert them to Dolby 5.1 files might work but I don’t listen to music that way prefer old fashioned stereo sound 😜

As far as I understand it lpcm requires earc and will not play on arc

Yes, that’s how I understand it, and why the Google TV (nor the TV) will not be able to send the uncompressed multi-channel audio.

I was hoping there’d be a format I could have on my home network that the Beam could play directly - I think that it can it play multi-channel audio files from streaming services - do they use a particular sound format?

I think that not having eARC is going to annoy me :/

maybe convert them to Dolby 5.1 files might work but I don’t listen to music that way prefer old fashioned stereo sound 😜

Yeah, I agree with you - mainly I was curious what it would sound like, and maybe a short (or trial) subscription to one of the streaming services would be a quicker way to satisfy that curiosity.

If I can see a quick way to do it, I’ll also try turning them in to a video with Dolby 5.1, just to see if I really can hear a difference 🤨

Userlevel 7
Badge +23

The only 5.1 format that is going to work over ARC (or S/PDIF) is Dolby Digital 5.1.

Its unlikely you can re-encode your PCM 5.1 to that (because Dolby licenses) but you may be able to re-rip the file to DD 5.1 if it is already in that format on the optical disc.

Userlevel 6
Badge +12

@busywait 

if you subscribe to prime you can get free trial on unlimited Amazon Music to listen to most formats 

should give you a good idea on what it sounds like, then it’s just a case of deciding which one to subscribe to after that 😊

Userlevel 7
Badge +16

@busywait

Referring to play multichannel audio in music mode directly to your Beam2 from Sonos music library… is there an option to use another format than flac for encoding?

I just can comfirm that an Atmos MP4 file works this way. 
So imo whether Sonos can play just Atmos in music mode or multichannel works just with certain file formats. 
Unfortunately there is no official information about supportet multichannel audio in music mode besides Atmos music. 

 

I just can comfirm that an Atmos MP4 file works this way. 

That’s really interesting, and might help - thank you!

My source disks have sound in DTS-HD and I don’t think Sonos will play DTS-HD, so re-ripping is not helpful for that. I don’t yet know how I could convert anything *to* Dolby Atmos, but I did find a simplish way to make Dolby Digital Plus 5.1 .mp4 files from the .flac files that I already made:

ffmpeg -i 01-Track.flac -vn  -c:a eac3  01-Track-eac3.mp4

I tried wrapping the flac directly in the .mp4 and that didn’t play. Maybe there’s some completely uncompressed version of LPCM or WAV that I could use instead of eac3? But, it sounded OK :)
[Update: no, uncompressed audio doesn’t seem to be allowed in mp4 containers]

I can either play the audio-only EAC3 (Dolby Digital Plus) .mp4 files directly from my media server using the Sonos app, or cast to the Google TV. If I cast it to the Google TV then the Sonos gives me the usual TV sound options like dialogue enhance and night mode.

That was a big rabbit hole. I can now send surround versions of my music straight to my Sonos Beam gen 2 through my home network. Here is what I learned:

Short version: If I could have extracted a 640kbps pre-encoded Dolby Digital stream then I would have put that in a .mp4 (or .4a) file and used that. I only have a Beam gen 2 soundbar to play back through. The sound was different, maybe a bit more “stereo” than playing standard stereo files of the CD version. Because the 5.1 channel files play back so much louder (when streaming) than standard 2-channel .flac files I won’t be able to use them in a playlist.

Long version:

The advice to extract an existing Dolby Digital encoded stream was good, except I’m sure there was no DD track for the album on my Bluray disk (Marillion Misplaced Childhood Deluxe Edition), despite having the DD logo on the box.

I extracted the compressed DTS core, but I can’t find any way to send that to the Beam soundbar whatever file/container format I wrap it in. Even when I plugged my bluray player back in I still couldn’t find a way to play the compressed DTS track to the Beam - maybe because 1509kbps is too much for ARC, or maybe because my TV doesn’t pass through DTS?

The advice to use .mp4 files was helpful because multichannel .flac and multichannel .aac cannot be played: the 5.1 .flac is rejected with a message in the app; a 640kbps multi-channel .aac looks like it’s playing in the Sonos app, but the sound is silent and I need to cut the power to the Beam and reconnect before I can stream any other content! 

I also tried putting a lossless TrueHD audio stream in a .mp4 file, but although the Sonos app lets me add it to the queue there is an error shown when the track is played back. (And, I only have HDMI-ARC, not eARC, so I can’t send TrueHD through the HDMI connection to the Sonos.)

So, to re-encode the 96kHz/24-bit audio from the disk there were two codecs that worked: ac3 (as used in Dolby Digital) and eac3 (as used in Dolby Digital Plus). I only have the free ffmpeg tool to encode them, and it is not as good as commercial/professional software at encoding e/ac3, but is competent at high bitrates. The eac3 codec allows much higher bitrates than ac3, but ffmpeg has a reputation for generating invalid eac3 streams, and eac3 players are often unable to cope with eac3 errors. I definitely managed to make some files that cause the Beam to go silent part-way through playback.

After a lot of trial and error and reading, and in case I need to look it up again in the future, here is the command I used to make a multi-channel file that I can pick from the Sonos app and play directly over my home network:

ffmpeg.exe -i "TrackOne.flac" -vn -c:a eac3 -b:a 1024k -af aresample=out_sample_rate=48000 -cutoff 20000 -movflags +faststart "TrackOne.m4a"

(I used ffmpeg v7.0)

When the 5.1 channel .m4a file plays back over the network (when I choose the track in the Sonos app) the sound is very loud - much louder than any other source, and much louder than streaming the same file via my Google TV to the Sonos via HDMI-ARC.

I guess any of this could change with new firmware in the future, but maybe interesting to someone...🤷‍♀️

Userlevel 7
Badge +22

Possibly look at a volume normalization tool or other audio editor to re-encode your file with a lower volume level?

Reply