Recording I2S audio in Jetson AGX Xavier

Hi,
We are trying to record audio from i2s in Jetson AGX Xavier board.
We are converting the audio coming through hdmi to i2s using IT68051 EBV Board and giving the data to i2s pins in the Jetson AGX Xavier board, as per the given diagram.

There were 20 audio nodes in the AGX board.
pcmC1D0c - pcmC1D19c

We tried to record the audio from all the nodes using arecord. The arecord command that I used is:

arecord -d 0 -f cd -c 2 -t wav -D hw:1,0 sample.wav

After recording audios from all the audio nodes, we found that the audio files recorded from hw:1,0 and hw:1,1 are having some recordings and audio files recorded from others nodes doesn’t contain much data in that. The audio files which have some recordings also not playing anything, it contains only silent data.

I have also configured .asoundrc on the Jetson AGX Xavier board.

Do we need to configure anything before recording audio from i2s?

1 Like

Hi user116816,

Assuming hdmi to i2s signal conversion is working, ensure that pinmux settings of the i2s pins is done. Refer link for help with setting appropriate i2s pinmux settings. This shall configure the pins used as I2S instead of GPIO

Later, use below amixer settings and record commands and share your observations

amixer -c 1 cset name="ADMAIF2 Mux" "I2S5"
arecord -D hw:1,1 -c 2 -f <sample_format>  -r <rate> in.wav 

Note to fill in suitable rate and format values. In above example, (1, 1) refers to (card number, admaif id-1).

Please note that documentation in available at link

Regards

Hi atalambedu,

I referred to the link and configured the pins for I2S as mentioned. Now I’m getting audio in the recorded file, but it contains lot of noise.

Is there anyway I can get a proper audio without noise?

Hi user116816,

What kind of noise is observed? Could you share the recoreded file. Also, share the clk summary(cat /sys/kernel/debug/clk/clk_summary) and usecase details like sample rate, sample width and chanel count.

Is Jetson I2S set as master or slave?

Ensure that output signals of IT68051 EBV board (i.e i2s data signal) are clean by using oscilloscope

Thanks

Hi atalambedu,

Thank you for your support. I am getting proper audio after setting codec as I2S Master.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.