It has been a year since iplas first posted and I contributed my experience trying to process FLAC multi-channel files with the WD TV Live. I have had no response from WD support since I reported the problem a year ago. I briefly updated the firmware from 2.02.32 to confirm that FLAC support was not “corrected”, but rolled back the update due to a number of other issues. I don’t know what the current status of the player is. Consumer focus seems to be on “smart” features and sophisticated GUIs. The market may not longer want a media player that can play almost any popular audio and video format developed in the last 30 years.
A week ago I visited this forum to see if a solution had been identified. Failing that I decided that I was going to tackle the problem head-on. After some research and finding the right tools I think I may have found a solution for anyone using this device (and others) to play multi-channel files. The following discussion is based on testing at the 2.02.32 firmware level and the processing of up to 5.1 channel files. (I don’t have 7.1 hardware to test with). An extension of the following process should be valid for 7.1 and up.
I will get to the detail of the procedure shortly but first some background.
Multi-channel media files are mapped as as follows:
Channel 1 2 3 4 5 6 7 8
7.1 WAV FL FR FC LFE BL BR SL SR
5.1 WAV FL FR FC LFE BL BR
5.1 FLAC FL FR BL BR FC LFE
I've also seen the following mappings, but I don't know how 'official' they are:
5.0 WAV FL FR FC BL BR
4.0 WAV (Quad) FL FR BL BR
3.0 WAV FL FR FC
2.0 WAV (Stereo) FL FR
1.0 WAV (Mono) FC
The channel number represents the sequence in which the channel is found in the media file. Therefore, channel 1 is expected to be the Front Left Speaker and channel 2 is expected to be the Front Right speaker, in both the WAV and FLAC formats. As you can see, channel 3 and up mapping is different in the WAV and FLAC files. For example, if you compress a WAV file with the above mapping to a FLAC file, the sequence of the channels is retained, and based on the FLAC mapping, channel 3, which represents the Front Centre, is now located as channel 3 in the FLAC file, which represents the Back Left speaker in a FLAC file. When you play this FLAC file on the WD TV Live, the original Front Centre sound will come out of the Back Left speaker, the original LFE sound will come out of the Back Right speaker, and so on. If you uncompress the FLAC file back into a WAV file, the channel sequence is retained, and the WAV file will have the correct sequence again (as I observed in a previous post).
(Another way to specify channel mapping is by using a metadata tag in the extensible WAV format (Microsoft Wavex), but I have not found a software program that will allow me to test how channel mapping in a tag is processed by the WD TV Live, if at all. If someone could identify a program that will allow me add a metadata tag to a WAV and manipulate the channel map portion of the tag, I would appreciate that. This also begs the question: how would you apply that to a FLAC file.)
If the WAV and FLAC files have the 5.1 channel-mappings as documented above, the WD TV Live media player will play the files correctly. If the channels are not mapped as documented, the sound will come out of the wrong speakers. If the file has less that 6 channels, as documented above in 5.0-1.0 files, the WD TV Live will play only channels 1 and 2, the front left and front right tracks; that is, the player treats the file as a Stereo file. In the example of a 1.0 WAV with a Mono track as channel 3 (FC), the media player would play the empty channels in the FL and FR speakers, and ignore channel 3; i.e. there would be no sound coming out of any speaker.
The secret to getting multi-channel media files to be processed correctly by the WD TV Live, is to use a tool to remap the channels of the source file, to the required mapping of the target file, i.e. WAV or FLAC. The tool that I used to remap my files is Audacity, a free audio editor which can be downloaded here:
I am going to describe the process using two examples.
A. The first example documents converting a 4.0 quad WAV file to a 5.1 WAV file. This example will introduce the concepts of building a multi-channel WAV, inserting missing channels and remapping them. Since there are less than 6 channels in the source file, without modification, this would be played as a 2 channel stereo file by the WD TV Live. The source channel files were created from a quad SQ matrix encoded vinyl LP from the early '70s. Running the turntable output through an SQ hardware decoder/preamp, I created four WAV files representing the FL, FR, BL and BR audio.
-
From the Audacity File menu, you ‘Open’ the FL WAV file first, and then ‘Import:Audio’, each of the remaining WAV files in the following order, FR, BL and BR.
The Audacity main window will display 4 mono channels in the sequence that they were loaded, FL, FR, BL and BR.
-
From the File menu select ‘Export Audio’ and you will be given the opportunity to specify where the target file is to be stored and the ‘Type’ of target file. For the purpose of this example, you select ‘Other uncompressed files’, ‘Options:’, ‘Header:WAV(Microsoft)’, ‘Encoding:Signed 24-Bit PCM’, ‘Save’
-
Audacity will then display the ‘Advance Mixing Options’ with the 4 channel source WAV on the left, and 4 channel target on the right. Move the ‘Output Channels’ slider to the right to specify a 6 channel target file. Two ‘empty’ channels, are added as channels 5 and 6.
-
Select the source channel 3 (BL) and remap is to target channel 5. Similarly, remap source channel 4 (BR) to target channel 6. The target WAV channels now conform to the standard 5.1 WAV mapping, with channel 3, the FC speaker, and channel 4, the LFE, being empty. Select ‘OK’
-
Audacity displays an ‘Edit Metadata’ screen which will give the opportunity to add Artist Name, Track Title, etc. Fill in and/or press ‘OK’. Audacity will then create the file.
A. The second example I will describe is probably a more common scenario than the first one. You have a 5.1 WAV file and you want to create a 5.1 FLAC file that is processed correctly by a WD TV Live.
What is the incentive to do this?
Consider the file size of a 6 min audio track in various formats:
WAV 24 bit sample size, 96 KHz bit rate (DVD quality), PCM 4.0= 394 MB (The original quad WAV)
WAV 24 bit sample size, 96 KHz bit rate, PCM 4.0+2 (5.1)= 591 MB (Adding two ‘empty’ channels to an uncompressed file format, results in a significant increase in the size of the file.)
FLAC 24 bit sample size, 96 KHz bit rate, PCM 4.0+2 (5.1)= 277 MB (The compressed FLAC format significantly reduces the file size.)
MP3 16 bit sample size, 44.1 KHz bit rate (CD quality), 320 Kbps constant bit rate stereo (2 channel)=14 MB
As you can see, there is a significant reduction in file size using the FLAC format for multi-channel audio files. The size can be further reduced by lowering the audio quality of the target file in the above process from DVD 24-96 to CD 16-44.1.
-
From the Audacity File menu, ‘Open’ the 5.1 WAV file. You will be given the option of creating a copy of the file for editing purpose or modifying the original. I would recommend the former. Press ‘OK’. The Audacity main window will display 6 mono channels and, if the source WAV 5.1 file has been correctly mapped, should be in the FL, FR, FC, LFE, BL and BR sequence.
-
From the File menu select ‘Export Audio’. For the purpose of this example, you would select ‘Type:FLAC’. ‘Options’ allows you to specify the quality level of the FLAC compression and the bit rate/depth of the target FLAC file. Higher bit rate equals bigger output file. Press ‘Save’.
-
In the ‘Advance Mixing Options’ window you now remap the 5.1 WAV channels of the source to the 5.1 FLAC map of the target, as documented above. That is, channel 3 (FC) from the source file is remapped to channel 5 in the target file, channel 4 (LFE) from the source file is remapped to channel 6 in the target file, channel 5 (BL) from source to channel 3 in the target and channel 6 (BR) from source to channel 4 in the target. Select ‘OK’.
-
Fill in any desired metadata and press ‘OK’ to create the FLAC file.
You can find a 6_Channel_ID.wav file for testing these procedures at
http://www-mmsp.ece.mcgill.ca/documents/audioformats/wave/Samples.html
Please note that the creator of this file has recorded the call out of the speaker positions so that all but the LFE are called out in sequence. In spite of the fact that LFE is in channel 3, due to the time the LFE note is recorded, it is called out as the last speaker, which could cause some confusion.
I haven’t had time to try this but I think Audacity Advanced Mixing Options can be used to create pseudo 5.1 media files from a less than 6 channel source. Take example A above. When the 4.0 source channels are remapped to their target 5.1 channels, the FL and FR can also simultaneously be mapped to the FC channel in the target. With proper gain control, the FC volume can be adjusted to complement the FL and FR volume in the target. Similarly, the FL, FR, BL and BR can also simultaneously be mapped to the LFE channel in the target. With proper filter applied to each channel, frequencies below 120 Hz can be removed from the target FL, FR, BL and BR, and frequencies above 120 HZ removed from the mixed target LFE channel. I can’t comment on the realism of the result.
I am not familiar enough with Audacity to know if there is some way to create a template or script, to automate loading of target file, set re-mapping and output characteristics and produce output file. Without such a facility, each track must be loaded, modified and saved manually. This process could be time consuming if you have a large multi-channel file collection. It is also prone to error. You want to ensure that each track of an album is processed with the same options. For example, I discovered that after I loaded a source file and accidentally clicked on one of the loaded tracks, I inadvertently reduced the gain of the track. If I hadn’t listened to each target file before deleting the source and noticed the error, I could have lost the time and effort creating the source.
I hope that this post will help other WD TV Live users in getting multi-channel audio files working. The fact that a proper mapped file is processed correctly by the WD TV Live, suggests that maybe the firmware is not that far off track. The only thing that may be missing is correct processing of channel mapping metadata. Maybe WD doesn’t even consider this a problem with the firmware and therefore is ignoring us.