Re: Outputting multichannel sound through the optical link??
Re: Outputting multichannel sound through the optical link??
- Subject: Re: Outputting multichannel sound through the optical link??
- From: Ryan Walklin <email@hidden>
- Date: Sat, 6 Feb 2010 11:44:05 +1300
On 6/02/2010, at 11:36 AM, William Stewart wrote:
> ok... so a couple of salient points I'd like to bring out here.
>
> SPDIF's shortcomings have been described in some detail, but a point that might be missed is that AC-3 or DTS encoding of the audio is not the solution you really want. These encodings are lossy encodings, and will degrade the quality of the audio signal. The encodings also add latency, and while there are different versions of the AC-3 encoder to minimise this for game play (the XBox supports this), it is still not ideal.
Yes, you do lose quaility, but the advantage of realtime transcoding is that you can use the maximum AC3 bit rate. I've found 640kbps to be transparent to my ears. Latency's not so much an issue with movie playback, as you can look ahead and transcode to AC3 in advance of the current playback time, then just hand encoded packets to the hardware from a buffer as requested.
>
> So, the whole area of consumer multichannel audio has been a problematic one for some years now. The development of HDMI and DisplayPort as a means to easily transport both video and audio (multichannel) is the way in which this problem has been addressed by the CE industry.
>
> With the release of the new iMacs from Apple, we now have a solution for you.
>
> The DisplayPort connector on these iMacs is capable (through an adaption of the display port plug to HDMI) of carrying up to 24bit, 96kHz, 8 channels of linear pcm audio.
>
> Griffin technologies provide an adaptor to adapt the display port connection to HDMI, and once you plug this in, and then hook up a receiver on the other end of the HDMI cable.
>
> http://www.griffintechnology.com/products/video-display-converter
This is ideal, but does require a lot of new hardware. A TOSLINK optical connector is available on all shipping Macs.
>
>
> Now, HDMI is driven by an EDID (a descriptor that describes the capabilities of a given device). So, what you will see in AMS (Audio MIDI Setup) ***once you plug a receiver in*** is the capabilities of that receiver. Some of the older HDMI receivers are only able to do 2 channels of linear pcm audio over HDMI, so that is all you will see. If your receiver can do mutli-channel linear pcm over HDMI, then AMS will show that to you.
>
> Once this is there, this then behaves like any audio device you have plugged in to your Mac. That is, any application (iTunes, etc), any game, can output audio to that receiver up to the number of channels it supports.
>
> So, I think this is the one cable solution you are looking for.
>
> Bill
>
>
> On Feb 5, 2010, at 1:01 PM, Ryan Walklin wrote:
>
>>
>> On 6/02/2010, at 4:57 AM, Simon Thorpe wrote:
>>
>>>
>>> From my understanding, in order to play a multichannel audio file, I would have to use software like Compressor to generate a Dolby Digiial or DTS or AC3 formatted file. This seems excessively complex.
>>>
>>> Is this really necessary? Is there no way just to send the multichannel audio directly out through the optical link? Are there no home theatre amplifiers that could understand a non-proprietry dumb multichannel stream?
>>>
>>>
>>
>> As has been said, this is impossible given the SPDIF bandwidth, as it's only able to support 2 channels at a time.
>>
>> I've worked round the issue in Plex (www.plexapp.com) by using the free AC3 encoder Aften (aften.sourceforge,net) to encode multichannel PCM (e.g. from AAC/FLAC) to AC3 on the fly, and then output it to SPDIF as Jeff describes, You also need to encapsulate it as per IEC 60958 with a SPDIF header. This allows playback of video with 5.1 AAC etc.
>>
>> Something like Quicktime is a little harder, as it uses the system sound output by default and won't allow access to the raw audio data when playing back (Using QTKit anyway). So I used the AudioReflectorDriver to create a 6 channel virtual device that redirects sound to a daemon which does the encoding, then plays it over the actual SPDIF device. This allows realtime 5.1 output of any audio playing on the system, and even allows mixing. There's a little latency involved in converting the audio, given the PCM stream has to round trip through kernel space, but minimising the I/O buffers drives it down to ~40ms, which I can't detect watching video.
>>
>> The source for Plex is freely available at github.com, and has a GPL licence. I haven't released the code for my system-wide AC3 driver, but it shouldn't be too bad as most of the components are open source.
>>
>> One problem with this solution is that Dolby Digital (DD) is patented and I'm unsure of the legality of Aften in the US. I'm in NZ so it's not a problem.
>>
>> Regards,
>>
>> Ryan
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Coreaudio-api mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden