Windows Media Audio
Windows Media Audio is a series of audio codecs and their corresponding audio coding formats developed by Microsoft. 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. WMA Pro, a newer and more advanced codec, supports multichannel and high resolution audio. A lossless codec, WMA Lossless, compresses audio data without loss of audio fidelity. WMA Voice, targeted at voice content, applies compression using a range of low bit rates. Microsoft has also developed a digital container format called Advanced Systems Format to store audio encoded by WMA.
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. Malvar was a senior researcher and manager of the Signal Processing Group at Microsoft Research, whose team worked on the MSAudio project. The first finalized codec was initially referred to as MSAudio 4.0. It was later officially released as Windows Media Audio, 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; Microsoft also claimed that WMA delivered "near CD-quality" audio at 64 kbit/s. The former claim however was rejected by some audiophiles. RealNetworks also challenged Microsoft's claims regarding WMA's superior audio quality compared to RealAudio.Newer versions of WMA became available: Windows Media Audio 2 in 1999, Windows Media Audio 7 in 2000, Windows Media Audio 8 in 2001, and Windows Media Audio 9 in 2003. Microsoft first announced its plans to license WMA technology to third parties in 1999. Although earlier versions of Windows Media Player played WMA files, support for WMA file creation was not added until the seventh version. In 2003, Microsoft released new audio codecs that were not compatible with the original WMA codec. These codecs were Windows Media Audio 9 Professional, Windows Media Audio 9 Lossless, and Windows Media Audio 9 Voice.
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 mode is only backwards compatible with the older WMA Professional decoders at half sampling rate. Full fidelity decoding of WMA 10 Professional LBR bitstreams requires a WMA version 10 or newer decoder.
Container format
A WMA file is in most circumstances contained in the Advanced Systems Format, a proprietary Microsoft container format for digital audio or digital video. 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 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 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 are implemented differently from one another, such that they are technically distinct and mutually incompatible; that is to say, a device or software compatible with one sub-format does not therefore automatically support any of the other codecs. Each codec is further explained below.Windows Media Audio
Windows Media Audio 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. Since then, newer versions of the codec have been released, but the decoding process remained the same, ensuring compatibility between codec versions. 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. WMA 9 introduced variable bit rate and average bit rate coding techniques into the MS encoder although both were technically supported by the original format. WMA 9.1 also added support for low-delay audio, which reduces latency for encoding and decoding.
Fundamentally, WMA is a transform coder based on modified discrete cosine transform, 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 and a form of noise coding 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. In the same year, an update was made available for the PlayStation Portable which allowed WMA files to be played on the device for the first time.
Windows Media Audio Professional
Windows Media Audio Professional 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. 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 could theoretically go beyond 7.1 surround sound and support "an unlimited number of channels," however Microsoft chose to limit its current capability to eight.The codec's bit stream syntax was frozen at the first version, WMA 9 Pro. Later versions of WMA Pro introduced low-bit rate encoding, low-delay audio, frequency interpolation mode, 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. 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, 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, Xbox 360, Windows Mobile-powered devices with Windows Media Player 10 Mobile, newer Toshiba Gigabeat and Motorola devices, and devices running recent versions of the Rockbox alternative firmware. In addition, WMA Pro is a requirement for the WMV HD certification program. On the software side, Verizon utilizes WMA 10 Pro for its V CAST Music Service, and Windows Media Player 11 has promoted the codec as an alternative to WMA for copying audio CD tracks. WMA Pro is supported in Silverlight as of version 2. 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 website which uses WMA 10 Pro in its low-bitrate mode at 48 kbit/s.
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 411 MB, 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 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 Designed for archival purposes, 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 with dynamic range compression control. The typical compression ratio for music varies between 1.7:1 and 3:1.
Hardware support for the codec is available on the Cowon A3, Cowon S9, Bang & Olufsen Serenata Sony Walkman NWZ-A and NWZ-S series, Zune 4, 8, 80 30, Zune 120 and the new Zune HD, Xbox 360, Windows Mobile-powered devices with Windows Media Player 10 Mobile, Windows Phone, 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. Similar to WMA Pro, the WMA Lossless decoder can perform downmixing when capable audio hardware is not present. 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 is a lossy audio codec that competes with Speex, ACELP, and other codecs. Designed for low-bandwidth, voice playback applications, 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. WMA Voice supports up to 22.05 kHz for a single channel only. Encoding is limited to constant bit rate 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. In addition, BBC World Service has employed WMA Voice for its Internet radio streaming service.
Sound quality
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. 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.Some conclusions made by recent studies:
- At , WMA Standard was noticeably better than LAME MP3, but not better than other modern codecs in a collective, independent test in July 2004.
- At , 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 , 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." 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 and , 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 , 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 , 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 has sometimes claimed that the sound quality of WMA at 64 kbit/s equals or exceeds that of MP3 at 128 kbit/s. In a 1999 study funded by Microsoft, National Software Testing Laboratories found that listeners preferred WMA at 64 kbit/s to MP3 at 128 kbit/s.
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.
Players
Apart from Windows Media Player, most of the WMA compression formats can be played using ALLPlayer, VLC media player, Media Player Classic, MPlayer, RealPlayer, Winamp, Zune Software, 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. On the Macintosh platform, Microsoft released a PowerPC version of Windows Media Player for Mac OS X in 2003, 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. Flip4Mac, however, does not currently support the Windows Media Audio Voice codec.
Not all Android devices have native support for WMA files because the core Android platform doesn't support this format, but third-party software that supports it also exists.
WMA format can be played in almost all Windows Mobile and later Windows Phone devices.