The objective of the algorithm is to represent the high-fidelity audio signal with a minimum number of bits while retaining quality.
This can effectively reduce the storage space and the bandwidth required for transmission of the stored audio file.
Most software codecs are implemented as libraries which interface to one or more multimedia players.
In hardware, audio codec refers to a single device that encodes analog audio as digital signals and decodes digital back into analog.
Hardware audio codecs send and receive digital data using buses such as AC-Link, I²S, SPI, I²C, SoundWire, etc.