App note: Interfacing an STM32L1xx microcontroller with an external I2S audio codec to play audio files

I2S protocol interfacing with an STM32 microcontroller app note from ST Microelectronics. Link here (PDF)

The I2S protocol is widely used to transfer audio data from a microcontroller/DSP to an audio codec in order to play melodies (stored in a memory) or, to capture analog sound (from a microphone).
The STM32L1xx allows I2S audio communication using the SPI peripheral, and implements specific functionalities for this communications mode.

from Dangerous Prototypes