Windows Media Audio

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Windows Media Audio
WMA Extension Icon
Filename extension .wma
Internet media type audio/x-ms-wma
Uniform Type Identifier (UTI) com.microsoft.windows-?media-wma
Developed by Microsoft

Windows Media Audio (WMA) is an audio data compression technology developed by Microsoft. The name can be used to refer to its audio file format or its audio codecs. It is a proprietary technology that forms part of the Windows Media framework. WMA consists of four distinct codecs. The original WMA codec, known simply as WMA, was conceived as a competitor to the popular MP3 and RealAudio codecs.[1][2] WMA Pro, a newer and more advanced codec, supports multichannel and high resolution audio.[3] A lossless codec, WMA Lossless, compresses audio data without loss of audio fidelity (the regular WMA format is lossy).[3] WMA Voice, targeted at voice content, applies compression using a range of low bit rates.[3]

Development history

The first WMA codec was based on earlier work by Henrique Malvar and his team which was transferred to the Windows Media team at Microsoft.[4] Malvar was a senior researcher and manager of the Signal Processing Group at Microsoft Research,[5] whose team worked on the MSAudio project.[6] The first finalized codec was initially referred to as MSAudio 4.0.[7][8] It was later officially released as Windows Media Audio,[9] as part of Windows Media Technologies 4.0. Microsoft claimed that WMA could produce files that were half the size of equivalent-quality MP3 files;[10] Microsoft also claimed that WMA delivered "near CD-quality" audio at 64 kbit/s.[10] The former claim however was rejected by some audiophiles.[11] RealNetworks also challenged Microsoft's claims regarding WMA's superior audio quality compared to RealAudio.[2]

Newer versions of WMA became available: Windows Media Audio 2 in 1999,[12] Windows Media Audio 7 in 2000,[13] Windows Media Audio 8 in 2001,[14] and Windows Media Audio 9 in 2003.[3] Microsoft first announced its plans to license WMA technology to third parties in 1999.[15] Although earlier versions of Windows Media Player played WMA files, support for WMA file creation was not added until the seventh version.[16] In 2003, Microsoft released new audio codecs that were not compatible with the original WMA codec. These codecs were Windows Media Audio 9 Professional,[3] Windows Media Audio 9 Lossless,[3] and Windows Media Audio 9 Voice.[3]

All versions of WMA released since version 9.0 - namely 9.1, 9.2 and 10 - have been backwards compatible with the original v9 decoder and are therefore not considered separate codecs. The sole exception to this is the WMA 10 Professional codec whose Low Bit Rate (LBR) mode is only backwards compatible with the older WMA Professional decoders at half sampling rate (similar to how HE-AAC is backwards compatible with AAC-LC). Full fidelity decoding of WMA 10 Professional LBR bitstreams requires a WMA version 10 or newer decoder.

Container format

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

A WMA file is in most circumstances contained in the Advanced Systems Format (ASF), a proprietary Microsoft container format for digital audio or digital video.[17] The ASF container format specifies how metadata about the file is to be encoded, similar to the ID3 tags used by MP3 files. Metadata may include song name, track number, artist name, and also audio normalization values. This container can optionally support digital rights management (DRM) using a combination of elliptic curve cryptography key exchange, DES block cipher, a custom block cipher, RC4 stream cipher and the SHA-1 hashing function. See Windows Media DRM for further information.

Since 2008 Microsoft has also been using WMA Professional in its Protected Interoperable File Format (PIFF) based on the ISO Base Media File Format and most commonly used for Smooth Streaming, a form of adaptive bit rate streaming over HTTP. Related industry standards such as DECE UltraViolet and MPEG-DASH have not standardized WMA as a supported audio codec, deciding in favor of the more industry-prevalent MPEG and Dolby audio codecs.

Codecs

Each WMA file features a single audio track in one of the four sub-formats: WMA, WMA Pro, WMA Lossless, or WMA Voice. These formats use different codes that are technically distinct and mutually incompatible.[clarify] Each codec is further explained below.

Windows Media Audio

Windows Media Audio (WMA) is the most common codec of the four WMA codecs. Colloquial usage of the term WMA, especially in marketing materials and device specifications, usually refers to this codec only. The first version of the codec released in 1999 is regarded as WMA 1. In the same year, the bit stream syntax, or compression algorithm, was altered in minor ways and became WMA 2.[12] Since then, newer versions of the codec have been released, but the decoding process remained the same, ensuring compatibility between codec versions.[12] WMA is a lossy audio codec based on the study of psychoacoustics. Audio signals that are deemed to be imperceptible to the human ear are encoded with reduced resolution during the compression process.

WMA can encode audio signals sampled at up to 48 kHz with up to two discrete channels (stereo). WMA 9 introduced variable bit rate (VBR) and average bit rate (ABR) coding techniques into the MS encoder although both were technically supported by the original format.[12] WMA 9.1 also added support for low-delay audio,[18] which reduces latency for encoding and decoding.

Fundamentally, WMA is a transform coder based on modified discrete cosine transform (MDCT), somewhat similar to AAC, Cook and Vorbis. The bit stream of WMA is composed of superframes, each containing 1 or more frames of 2048 samples. If the bit reservoir is not used, a frame is equal to a superframe. Each frame contains a number of blocks, which are 128, 256, 512, 1024, or 2048 samples long after being transformed into the frequency domain via the MDCT. In the frequency domain, masking for the transformed samples is determined, and then used to requantize the samples. Finally, the floating point samples are decomposed into coefficient and exponent parts and independently huffman coded. Stereo information is typically mid/side coded. At low bit rates, line spectral pairs (typically less than 17 kbit/s) and a form of noise coding (typically less than 33 kbit/s) can also be used to improve quality.

Like AAC and Ogg Vorbis, WMA was intended to address perceived deficiencies in the MP3 standard. Given their common design goals, the three formats ended up making similar design choices. All three are pure transform codecs. Furthermore, the MDCT implementation used in WMA is essentially a superset of those used in Ogg and AAC such that WMA iMDCT and windowing routines can be used to decode AAC and Ogg Vorbis almost unmodified. However, quantization and stereo coding is handled differently in each codec. The primary distinguishing trait of the WMA Standard format is its unique use of 5 different block sizes, compared to MP3, AAC, and Ogg Vorbis which each restrict files to just two sizes. WMA Pro extends this by adding a 6th block size used at 88.2/96 kHz sampling rate.

Certified PlaysForSure devices, as well as a large number of uncertified devices, ranging from portable hand-held music players to set-top DVD players, support the playback of WMA files. Most PlaysForSure-certified online stores distribute content using this codec only. In 2005, Nokia announced its plans to support WMA playback in future Nokia handsets.[19] In the same year, an update was made available for the PlayStation Portable (version 2.60) which allowed WMA files to be played on the device for the first time.[20]

Windows Media Audio Professional

File:WMA10ProOptions.PNG
Screenshot of Windows Media Encoder 9 Series, displaying new encoding options for Windows Media Audio 10 Professional.

Windows Media Audio Professional (WMA Pro) is an improved lossy codec closely related to WMA standard. It retains most of the same general coding features, but also features improved entropy coding and quantization strategies as well as more efficient stereo coding. Notably, many of the WMA standard's low bitrate features have been removed, as the core codec is designed for efficient coding at most bitrates. Its main competitors include AAC, HE-AAC, Vorbis, Dolby Digital, and DTS. It supports 16-bit and 24-bit sample bit depth, sampling rates up to 96 kHz and up to eight discrete channels (7.1 channel surround).[21] WMA Pro also supports dynamic range compression, which reduces the volume difference between the loudest and quietest sounds in the audio track. According to Microsoft's Amir Majidimehr, WMA Pro can technically go beyond 7.1 surround sound and support "an unlimited number of channels."[22]

The codec's bit stream syntax was frozen at the first version, WMA 9 Pro.[23] Later versions of WMA Pro introduced low-bit rate encoding, low-delay audio,[24] frequency interpolation mode,[25] and an expanded range of sampling rate and bit-depth encoding options. A WMA 10 Pro file compressed with frequency interpolation mode comprises a WMA 9 Pro track encoded at half the original sampling rate, which is then restored using a new compression algorithm.[26] In this situation, WMA 9 Pro players which have not been updated to the WMA 10 Pro codec can only decode the lower quality WMA 9 Pro stream. Starting with WMA 10 Pro, eight channel encoding starts at 128 kbit/s, and tracks can be encoded at the native audio CD resolution (44.1 kHz, 16-bit), previously the domain of WMA Standard.

Despite a growing number of supported devices and its superiority over WMA, WMA Pro still has little hardware and software support. Some notable exceptions to this are the Microsoft Zune (limited to stereo),[27] Xbox 360,[28] Windows Mobile-powered devices with Windows Media Player 10 Mobile,[29] newer Toshiba Gigabeat and Motorola devices,[30][31] and devices running recent versions of the Rockbox alternative firmware.[32] In addition, WMA Pro is a requirement for the WMV HD certification program.[33] On the software side, Verizon utilizes WMA 10 Pro for its V CAST Music Service,[34] and Windows Media Player 11 has promoted the codec as an alternative to WMA for copying audio CD tracks.[35] WMA Pro is supported in Silverlight as of version 2 (though only in stereo mode). In the absence of the appropriate audio hardware, WMA Pro can automatically downmix multichannel audio to stereo or mono, and 24-bit resolution to 16-bit during playback.

A notable example of WMA Pro being used instead of WMA Standard is the NBC Olympics website which uses WMA 10 Pro in its low-bitrate mode at 48 kbit/s.

Windows Media Audio Lossless

Label for 5.1 surround sound, the maximum channel configuration for Windows Media Audio Lossless.

Windows Media Audio 9 Lossless is a lossless incarnation of Windows Media Audio, an audio codec by Microsoft, released in early 2003. It compresses an audio CD to a range of 206 to 411MB, at bit rates of 470 to 940 kbit/s. The result is a bit-for-bit duplicate of the original audio file; in other words, the audio quality on the CD will be the same as the file when played back. WMA Lossless uses the same .WMA file extension as other Windows Media Audio formats. It supports 6 discrete channels and up to 24-bit/96 kHz lossless audio. The format has never been publicly documented, although an open source decoder has been reverse engineered for non-Microsoft platforms by the libav and ffmpeg projects.

Windows Media Audio Lossless (WMA Lossless) is a lossless audio codec that competes with ATRAC Advanced Lossless, Dolby TrueHD, DTS-HD Master Audio, Shorten, Monkey's Audio, FLAC, Apple Lossless, and WavPack (Since late 2011,[36][37][38] the last three have the advantage of being open source software and available for nearly any operating system.) Designed for archival purposes,[39] it compresses audio signals without loss of quality from the original using VBR. When decompressed, the audio signal is an exact replica of the original. The first version of the codec, WMA 9 Lossless, and its revisions support up to 96 kHz, 24-bit audio for up to 6 discrete channels (5.1 channel surround) with dynamic range compression control. The typical compression ratio for music varies between 1.7:1 and 3:1.[39][40][41]

Hardware support for the codec is available on the Cowon A3,[42] Cowon S9, Bang & Olufsen Serenata[43] Sony Walkman NWZ-A and NWZ-S series, Zune 4, 8, 80 30, Zune 120 (with firmware version 2.2 or later) and the new Zune HD, Xbox 360,[28] Windows Mobile-powered devices with Windows Media Player 10 Mobile,[29] Windows Phone (version 8 and above), Toshiba Gigabeat S and V models, Toshiba T-400, the Meizu M3, and Best Buy's Insignia NS-DV, Pilot, and Sport music players. The Logitech Squeezebox Touch now supports the format natively despite previously only supporting it via transcoding. Like WMA Standard, WMA Lossless is being used by a few online stores to distribute music online.[44][45] Similar to WMA Pro, the WMA Lossless decoder can perform downmixing when capable audio hardware is not present[citation needed]. As of 2012, the ffmpeg and libav projects have open source WMA Lossless decoders based on reverse engineering of the official decoder. Only 16-bit WMA files can be successfully decoded by ffmpeg as of June 20, 2012.

Windows Media Audio Voice

Windows Media Audio Voice (WMA Voice) is a lossy audio codec that competes with Speex (used in Microsoft's own Xbox Live online service[46]), ACELP, and other codecs. Designed for low-bandwidth, voice playback applications,[47] it employs low-pass and high-pass filtering of sound outside the human speech frequency range to achieve higher compression efficiency than WMA. It can automatically detect sections of an audio track containing both voice and music and use the standard WMA compression algorithm instead.[23] WMA Voice supports up to 22.05 kHz for a single channel (mono) only.[47] Encoding is limited to constant bit rate (CBR) and up to 20 kbit/s. The first and only version of the codec is WMA 9 Voice.

Windows Mobile-powered devices with Windows Media Player 10 Mobile have native support for WMA 9 Voice playback.[29] In addition, BBC World Service has employed WMA Voice for its Internet radio streaming service.[48]

Sound quality

See codec listening test for a table of double-blind listening test results.

Microsoft claims that audio encoded with WMA sounds better than MP3 at the same bit rate; Microsoft also claims that audio encoded with WMA at lower bit rates sound better than MP3 at higher bit rates.[49] Double blind listening tests with other lossy audio codecs have shown varying results, from failure to support Microsoft's claims about its superior quality to supremacy over other codecs. One independent test conducted in May 2004 at 128 kbit/s showed that WMA was roughly equivalent to LAME MP3; inferior to AAC and Vorbis; and superior to ATRAC3 (software version).[50]

Some conclusions made by recent studies:

  • At 32 kbit/s, WMA Standard was noticeably better than LAME MP3, but not better than other modern codecs in a collective, independent test in July 2004.
  • At 48 kbit/s, WMA 10 Pro was ranked second after Nero HE-AAC and better than WMA 9.2 in an independent listening test organized and supported by Sebastian Mares and Hydrogenaudio Forums in December 2006. This test, however, used CBR for WMA 10 Pro and VBR for the other codecs.
  • At 64 kbit/s, WMA Pro outperformed Nero HE-AAC in a listening test commissioned by Microsoft but independently performed by the National Software Testing Labs in 1999. Out of 300 participants, "71% of all listeners indicated that WMA Pro was equal to or better than HE AAC."[citation needed] However, a September 2003 public listening test conducted by Roberto Amorim found that listeners preferred 128 kbit/s MP3 to 64 kbit/s WMA audio with greater than 99% confidence.
  • At 80 kbit/s and 96 kbit/s, WMA had lower quality than HE-AAC, AAC-LC, and Vorbis; near-equivalent quality to MP3, and better quality than MPC in individual tests done in 2005.
  • At 128 kbit/s, there was a four-way tie between aoTuV Vorbis, LAME MP3, WMA 9 Pro and AAC in a large scale test in January 2006, with each codec sounding close to the uncompressed music file for most listeners.
  • At 768 kbit/s, WMA 9 Pro delivered full-spectrum response at half the bit rate required for DTS in a comparative test done by EDN in October 2003. The test sample was a 48 kHz, 5.1 channel surround audio track.

Criticism of claimed quality

Microsoft's claims of WMA sound quality have frequently drawn complaints. "Some audiophiles challenge Microsoft's claims regarding WMA's quality," according to a published article from EDN.[11] Another article from MP3 Developments wrote that Microsoft's claim about CD-quality audio at 64 kbit/s with WMA was "very far from the truth."[51] At the early stages of WMA's development, a representative from RealNetworks claimed that WMA was a "clear and futile effort by Microsoft to catch up with RealAudio 8."[52]

Microsoft has sometimes claimed that the sound quality of WMA at 64 kbit/s equals or exceeds that of MP3 at 128 kbit/s (both WMA and MP3 are considered near-transparent at 192 kbit/s by most listeners). In a 1999 study funded by Microsoft, National Software Testing Laboratories (NSTL) found that listeners preferred WMA at 64 kbit/s to MP3 at 128 kbit/s (as encoded by MusicMatch Jukebox).[53] However, a September 2003 public listening test conducted by Roberto Amorim found that listeners preferred 128 kbit/s MP3 to 64 kbit/s WMA audio with greater than 99% confidence. This conclusion applied equally to other codecs at the same bitrate, leading him to conclude that:

<templatestyles src="Template:Blockquote/styles.css" />

No codec delivers the marketing plot of same quality as MP3 at half the bitrates.[54]

It is important to note that both MP3 and WMA encoders have undergone active development and improvement for many years, so their relative quality may change over time.

A July 2007 public listening test by Sebastian Mares found that 64 kbit/s HE-AAC audio (encoded by Nero Digital) was statistically tied with 64 kbit/s WMA Pro audio, in terms of listener preference.[55]

Players

Apart from Windows Media Player, most of the WMA compression formats can be played using ALLPlayer, VLC media player,[56] Media Player Classic,[57] MPlayer, RealPlayer, Winamp, Zune Software (with certain limitations—DSP plugin support and DirectSound output is disabled using the default WMA plugin)[citation needed], and many other software media players. The Microsoft Zune media management software supports most WMA codecs, but uses a variation of Windows Media DRM which is used by PlaysForSure.

The FFmpeg project has reverse-engineered and re-implemented the WMA codecs to allow their use on POSIX-compliant operating systems such as Linux. The rockbox project further extended this codec to be suitable for embedded cores, allowing playback on portable MP3 players and cell phones running open source software. RealNetworks has announced plans to support playback of DRM-free WMA files in RealPlayer for Linux.[58] On the Macintosh platform, Microsoft released a PowerPC version of Windows Media Player for Mac OS X in 2003,[59] but further development of the software has ceased. Microsoft currently endorses the third-party Flip4Mac WMA, a QuickTime component that allows Macintosh users to play WMA files in any player that uses the QuickTime framework.[60] Flip4Mac, however, does not currently support the Windows Media Audio Voice codec.[61]

Encoders

Software that can export audio in WMA format include Windows Media Player, Windows Movie Maker, Microsoft Expression Encoder, Sony Sound Forge, GOM Player, RealPlayer,[62] Adobe Premiere Pro,[63] Adobe Audition,[64] and Adobe Soundbooth.[65] Microsoft Office OneNote supports encoding in all WMA codecs,[66] and Windows Media Encoder supports all available bit rate and resolution options as well. Open source players like VLC media player can also do some encoding.

Digital rights management

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The WMA codecs are most often used with the ASF container format, which has an optional DRM facility. Windows Media DRM, which can be used in conjunction with WMA, supports time-limited music subscription services such as those offered by unlimited download services, including MTV's URGE, Napster, Rhapsody, Yahoo! Music Unlimited, and Virgin Digital. Windows Media DRM, a component of PlaysForSure and Windows Media Connect, is supported on many modern portable audio devices and streaming media clients such as Roku, SoundBridge, Xbox 360, and Wii. Players that support the WMA format but not Windows Media DRM cannot play DRM-protected files.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. 10.0 10.1 Lua error in package.lua at line 80: module 'strict' not found.
  11. 11.0 11.1 Lua error in package.lua at line 80: module 'strict' not found.
  12. 12.0 12.1 12.2 12.3 Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. 23.0 23.1 Lua error in package.lua at line 80: module 'strict' not found.
  24. Windows Media Developer Center: Low-Delay Audio
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. 28.0 28.1 Lua error in package.lua at line 80: module 'strict' not found.
  29. 29.0 29.1 29.2 Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. 39.0 39.1 Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. http://members.home.nl/w.speek/comparison.htm
  42. http://www.cowonglobal.com/product_wide/product_A3_feature.php
  43. http://www.serenatamobile.com
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Ralph Giles of Xiph.org explained that Xbox Live uses Speex for voice compression in the June 6, 2005 interview on LugRadio: http://www.lugradio.org/episodes/29
  47. 47.0 47.1 Lua error in package.lua at line 80: module 'strict' not found.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Microsoft's summary of the study. Full report from NSTL.
  54. Results of 64kbit/s Listening Test
  55. Results of Public, Multiformat Listening Test @ 64 kbps (July 2007)
  56. Lua error in package.lua at line 80: module 'strict' not found.
  57. Lua error in package.lua at line 80: module 'strict' not found.
  58. Real to plug Windows media support into Linux (Stephen Shankland, CNET News.com, 17 August 2006)
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. Lua error in package.lua at line 80: module 'strict' not found.
  62. Lua error in package.lua at line 80: module 'strict' not found.
  63. Supported file formats in Adobe Premiere Pro 2.0,
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.

External links