Created attachment 700 [details] pulseview session file, example exports (old is without patch, new is with), patch files There are a couple of issues with the wav files output by the I2S decoder. Patch, example outputs and pulseview session are attached. The signals in the session are 24-bits per sample, the DAC and ADC signals are similar, with silence on the left channel, and a (low quality) sine wave on the right. The number of samples on the left and right channels can be off by one, which causes the following python code to fail: import scipy.io.wavfile as wav import matplotlib.pyplot as plt rate, data = wav.read("minimal_old.wav") ffmpeg also complains about the file when running e.g.: ffmpeg -i minimal_old.wav -acodec pcm_f32le test.wav This is fixed by waiting for a pair of samples before outputting anything. Another issue is that the decoder doesn't handle data that is less than 32-bit properly. The MSBs are always 0. When opening the output in any program, the data will be completely wrong, because the sign bit of the original samples is now sitting in the middle of the 32-bit output, with 0s in front of it. This can be fixed by left-shifting the decoded data.