AudioEngine: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>DDDamian
mNo edit summary
>DDDamian
Line 38: Line 38:
AE brings several new settings to the graphical user interface (GUI) as well as to advancedsettings.xml.
AE brings several new settings to the graphical user interface (GUI) as well as to advancedsettings.xml.


Settings > Audio Output [[File:Settings_-_Audio_Output.png]]
'''Settings > Audio Output''' [[File:Settings_-_Audio_Output.png|border|900px]]
 
'''Audio output''' - choose your device type: analog, optical or HDMI<br />
 
'''Speaker configuration''' - select your physical speaker layout<br />
 
'''Boost volume level on downmix''' - self-explanatory<br />
 
'''Output Stereo to all speakers''' - re-maps and upmixes two channel sources to all speakers in Speaker Configuration<br />
 
'''XXX capable receiver''' - select if your receiver or device natively decodes these formats<br />
 
'''Audio output device''' - device you use to play pcm or decoded audio such as mp3's and FLAC<br />
 
'''Passthrough output device''' - device you use to play encoded formats (those checked in "xxx capable receiver" above)<br />
 
'''Play GUI sounds''' - select from never, only when playback stopped, or always


See [http://forum.xbmc.org/showthread.php?tid=78289 Forum]
See [http://forum.xbmc.org/showthread.php?tid=78289 Forum]

Revision as of 17:37, 30 May 2012

AudioEngine (or AE) refers to XBMC's new audio system, a two-year project spear-headed by gnif which is intended to be released in v12 (Frodo), and has been merged with master for user testing as of May 15th, 2012.

It's been an accepted fact that the existing audio code was little-touched since the early days of XBMC, and was limited by the 16-bit architecture of the original XBox and codecs available at the time. Dolby AC3 and mp3 (or earlier formats!) ruled the media codec world. HTPC's became more mainstream, more powerful and better connected.

With the growth of the HTPC and new formats like those made available with Bluray technology, the audio subsystem was given more scrutiny as an area for improvement. Higher definition audio like multichannel FLAC was becoming a preferred standard for those demanding higher quality audio media.

History and Team

Early efforts at patching fixes and even an initial attempt at a completely new system fell by the wayside. The scope of the required changes and the complexity of the API made it a daunting task, especially for volunteer programmers working in their spare time. This was compounded by the fact that XBMC runs on a wide range of hardware and operating systems. Most of the developers focus on specific platforms or subsystems within the whole of XBMC.

In time, it became obvious the project was going to require a full re-write and replacement of the audio engine. Furthermore, XBMC's base of hardware and OS platforms continued to grow. The detailed specifications for the new audio formats were unknown, and of course the master code for XBMC was ever-changing.

Thanks to the determination of gnif the core engines, decoders, encoders and utilities that make up AudioEngine became a reality, and other developers began to contribute to the core and especially the platform-specific sinks or output stages. Among those contributing were gimli, fneufneu, memphiz, dddamian, anssi and others.

Team-XBMC is proud to at last unveil AudioEngine, bringing HD audio to XBMC!

Features

Features of AE include: - support for DTS-MA / Dolby TrueHD Bluray formats - support for 24-bit and floating-point audio at up to 384,000hz - mixing of all streams including GUI sounds even when passing through or transcoding audio - start-up enumeration of hardware audio devices and their capablities with log output - bitstreaming support in PAPlayer - upmixing of stereo to full channel layout - tighter syncing of A/V streams - floating-point processing of audio - 24-bit and floating-point decoding/handling of mp3 - full support for ReplayGain - built-in sample-rate conversion and transcoding

Planned Features for upcoming AE releases: - rules-based decisions for output formats based on hardware capabilites - a range of DSP's (digital signal processors) including headphone head-related transfer function processing, DRC (dynamic range compression), low-pass filtering for subs and an equalizer function - custom channel-mixing/mapping for up and downmixing

AudioEngine replaces SDL and brings some of the external dependencies into XBMC, and wraps up all the different media types for mixing, samplerate conversion, format conversion, encoding, upmix, downmix, etc.

NEW Settings

AE brings several new settings to the graphical user interface (GUI) as well as to advancedsettings.xml.

Settings > Audio Output Settings - Audio Output.png

Audio output - choose your device type: analog, optical or HDMI

Speaker configuration - select your physical speaker layout

Boost volume level on downmix - self-explanatory

Output Stereo to all speakers - re-maps and upmixes two channel sources to all speakers in Speaker Configuration

XXX capable receiver - select if your receiver or device natively decodes these formats

Audio output device - device you use to play pcm or decoded audio such as mp3's and FLAC

Passthrough output device - device you use to play encoded formats (those checked in "xxx capable receiver" above)

Play GUI sounds - select from never, only when playback stopped, or always

See Forum See GitHub Development Branch

See also