# Intel High Definition Audio

Intel High Definition Audio (IHDA) (also called HD Audio or development codename Azalia) is a specification for the audio sub-system of personal computers. It was released by Intel in 2004 as the successor to their AC'97 PC audio standard.

## Features

The Intel High Definition Audio specification includes the following features:
* Up to 15 input and 15 output streams
* Up to 16 PCM audio channels per stream
* Sample resolutions of 8–32 bits
* Sample rates of 6–192 kHz
* Support for audio codecs (e.g., ADC, DAC), modem codecs, and vendor-defined codecs
* Discoverable codec architecture
* Fine-grained codec power-control
* Audio jack detection, sensing, and retasking
Motherboards typically do not have any more than eight built-in output channels (7.1 surround sound) and four input channels (back and front panel microphone inputs, and a back-panel stereo line-in). Users requiring more audio I/Os will typically opt for a sound card or an external audio interface, as these provide additional features that are more oriented towards professional audio applications.

## Operating system support

The Service Pack 3 update to Windows XP and all later versions of Windows (from Vista onwards) included the Universal Audio Architecture (UAA) class driver, which supported audio devices built to HD Audio's specifications. Retrospective UAA drivers were also built for Windows 2000, Server 2003 and XP Service Pack 1/2. macOS provides support for Intel HD Audio with its AppleHDA driver. Several Linux operating systems also support HD Audio, as well as OpenSolaris, FreeBSD, and OpenBSD.

## Host controller

Like AC'97, HD Audio acts as a device driver, defining the architecture, link frame format, and programming interfaces used in the hardware of the host controller of the PCI bus and linking it to a codec used by a computer's software. Configurations of the host controller (Chipset) are available from third-party suppliers, including Nvidia, VIA and AMD, while codecs have also been provided by third-party suppliers including Realtek, Conexant, IDT, VIA, SigmaTel, Analog Devices, C-Media and Cirrus Logic. AMD's TRX40 chipset was introduced in 2019 for use with Ryzen "Threadripper" CPUs, which provided the Realtek ALC1220 chip instead of the HD Audio interface. As a result, a separate USB or PCIe audio device was required to integrate HD audio codecs on TRX40 motherboards. Intel has also decoupled the audio controller from its chipsets in favor of Intel Smart Sound Technology (SST) or I²S instead of the more traditional HD Audio Bus.

## Limitations

As with the previous AC'97 standard, HD Audio does not specify handlers for the media buttons attached to headphone jacks (i.e., Play/Pause, Next, Previous, Volume up, Volume down).

## Front panel connector

Computer motherboards often provide a connector to bring microphone and headphone signals to the computer's front panel. Intel provides a general specification for this process, but the signal assignments are different for both AC'97 and HD Audio headers.
The pin assignments for the AC'97 and HD Audio connectors are:$^{:21,22}$
| Pin | AC'97 | AC'97 | HD Audio (HDA) | HD Audio (HDA) |
| Pin | Signal | Description | Signal | Description |
| 1 | MIC | Audio, mono, in (mic. level)Audio, left, in (biased, mic.level) | PORT 1L | Audio, left, port 1 |
| 2 | AUD_GND | Ground | GND | Ground |
| 3 | MIC BIAS | Microphone biasAudio, right, in (biased, mic. level) | PORT 1R | Audio, right, port 1 |
| 4 | AUD_GND | Ground | PRESENCE# | HDA dongle/connector detection, active low |
| 5 | FP_OUT_R | Audio out, right, out (headphone-level capable), front panel | PORT 2R | Audio, right, port 2 |
| 6 | FP_RETURN_R | Audio, right, return (when jack is unconnected), front panel | SENSE1_RETURN | Port 1 jack detection |
| 7 | AUD_5V | Power, +5 V | SENSE_SEND | Jack detection sense, resistance multiplexed |
| 8 | KEY | Not present, physical key | KEY | Not present, physical key |
| 9 | FP_OUT_L | Audio, left, out (headphone-level capable), front panel | PORT 2L | Audio, left, port 2 |
| 10 | FP_RETURN_L | Audio, left, return (when jack is unconnected), front panel | SENSE2_RETURN | Port 2 jack detection |
The HD Audio 3.5 mm subminiature audio jack differed from connectors used in the AC'97 specification and in general audio equipment. The AC'97 used a regular 3.5 mm audio jack, which typically has 5 pins: one pin for ground, two pins for stereo signal, and two pins for the return signal.$^{:20}$ When no plug is connected, the two stereo signals are connected to their return pins. When a plug is inserted, the stereo signals contact the respective channels on the plug and are disconnected from the jack's return pins. The HD Audio 3.5 mm jack does not have the two return audio signals; instead, it has an isolated switch that senses the presence of a plug in the jack.$^{:25}$
In the AC'97 design, the audio output is sent to the jack by default. When a headphone is detected, the return signal pins for the speakers are disconnected, directing the audio to the headphone. The jack redirects the audio to the speakers if no headphone connection is detected. Similarly, the return pins ground the microphone jack connection if no microphone detected. As a result, most motherboards with AC'97 audio require two jumpers to short these pins if no front panel audio module is connected, so audio passes to the speakers.$^{:21}$
In the HD Audio design, the codec sends the audio directly to the speakers if a plug is not inserted. When a plug is inserted, the isolated switch inside the jack informs the motherboard, and the codec sends audio to the headphones. A similar isolated switch is used to detect when a microphone has been plugged in. HD Audio can also sense the presence of an audio dongle. A 10 kΩ pull-up resistor is attached to pin 4 (PRESENCE#). When the HDA dongle is plugged in, it pulls pin 4 to the ground with a 1 kΩ resistor. The motherboard can determine if a dongle is connected by examining the logic level on pin 4. If the motherboard does not detect a HDA dongle, it should ignore the SENSE1_RETURN (pin 6) and SENSE2_RETURN (pin 10) signals.$^{:24}$
Intel warns that HDA dongles should be used with HDA motherboards:$^{:19}$
   It is strongly recommended that motherboard designers only use Intel HD Audio analog front panel dongles with the Intel HD Audio analog front panel header to ensure that the jack detection and dynamic retasking capability are preserved. Passive AC'97 analog front panel dongles (ones that leave the 5V Analog pin-7 line unconnected on the dongle) may be used with the Intel HD Audio analog front panel header. But note that the front panel jack detection and re-tasking functionality will be lost as the AC'97 jacks cannot support connection to the SENSE line. In addition, software must be aware that an AC'97 dongle is being used with an Intel HD Audio analog header since the software might need to dedicate codec ports that are connected to the header to meet the product's intended functionality.
The different signal assignments can cause trouble when AC'97 front-panel dongles are used with HDA motherboards and vice versa. An AC'97 dongle returns audio on pins 6 and 10 rather than digital plug sensing signals. Consequently, a loud audio passage may cause a HDA motherboard with a AC'97 dongle believe headphones and microphones are being plugged and unplugged hundreds of times per second. An AC'97 motherboard with an HDA dongle will route the AC'97 5 V audio supply (pin 7; silence) to the speakers instead of the desired left and right audio signals. To avoid this, some motherboards allow choosing between HDA and AC'97 front panels in the BIOS. Even though the actual audio hardware is HD Audio, the BIOS can be manipulated to allow the use of an AC'97 front panel. Likewise, some modern enclosures have both an "AC'97" and an "HDA" plug at the end of the front-panel audio cable.