The Saleae Logic software includes a software protocol analyzer for the I2S digital audio protocol.
The specification for the I2S audio protocol can be found from Sparkfun's website (document by Philips Semiconductors) below:
The Saleae analyzer is designed to decode two-channel audio in the I2S format. It is possible to decode additional channels by using more than one instance of the I2S analyzer at the same time and by sharing the clock and frame signal between analyzers. Each instance of the analyzers can decode two channels of audio.
The Saleae I2S analyzer does not support any Mono formats.
Unable to display results in a signed decimal format, even when the I2S settings have signed number selected. Unsigned numbers are always shown.
This issue is solved by changing the display radix from ascii to decimal. Although a decimal number is shown, the single quotes indicate that the ascii display mode is active, but the number is considered a non-displayable character (in this case, outside of the low ascii range completely) so the text string defaults to unsigned decimal. Changing the display radix to decimal will show the signed number.
Decoder displays "Error: bits don't divide evenly between subframes" or decoder does not display the data correctly as shown below.
In the figure above, the data bits are transitioning during the clock falling edge, but the I2S/PCM Analyzer is also set to read on the clock falling edge. That means the bits are being decoded at the exact moment the bits are changing. That will cause errors and will be very sensitive to changes in the sample rate. Change the I2S/PCM Analyzer setting to "Data is valid and should be read on the CLOCK rising edge."
For more information on this, please see the link below.