Regarding audio issue in imx6q sabre AI

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Regarding audio issue in imx6q sabre AI

Jump to solution
1,286 Views
srilakshmikanag
Contributor I

Hi,

At present I am working on sabre platform for autoinfotainment.

If I run this command means

aplay -Dplughw:0,0 test.wav  - audio rendering expected on J26 audio jack of Sabre AI Base board

and we could hear the same.

However

If I run this command means 

aplay -Dplughw:0,1 test.wav - audio rendering is expected on J27 audio jack of Sabre AI Base board.

But No audio is getting played out, instead audio is still getting played on J26 only.

Would like to know, Does BSP has support to play Second audio as mentioned above?

Please let me know

Regards,

Srilakshmi

Labels (4)
Tags (2)
0 Kudos
1 Solution
878 Views
juangutierrez
NXP Employee
NXP Employee

I was investigating and doing some trial and error experiments and I was able to find some configuration suitable for hearing audio in J27-1.

You only need to create a file asound.conf in /etc/ directory

# vim /etc/asound.conf

And copy paste the next as content

pcm.dsplit {

    type dmix

    ipc_key 2048

    slave {

        pcm "hw:0,0"

        channels 4

    }

    bindings {

        0 0

        2 1

        1 2

        3 3

    }

}

pcm.j26_3 {

    type plug

    slave {

        pcm "dsplit"

        channels 4

    }

    ttable.0.0 1

    ttable.1.1 1

}

pcm.j27_1 {

    type plug

    slave {

        pcm "dsplit"

        channels 4

    }

    ttable.0.2 1

    ttable.1.3 1

}

Next play through J26-3 by

# aplay -D j26_3 stereo.wav

or by J27=1 by

# aplay -D j27_1 stereo.wav

You can find some useful info about the asound.conf and .asoundrc here http://alsa.opensrc.org/.asoundrc

View solution in original post

0 Kudos
2 Replies
878 Views
juangutierrez
NXP Employee
NXP Employee

Hi Srilakshmi

plughw:0,0 (7.1 audio-codec) supports up to 8 channels and they are mapped as follows

   ch1 and ch2: J26-3

   ch3 and ch4: J27-1

   ch5 and ch6: J27-2

   ch7 and ch8: J27-3

While plughw:0,1 (ASRC audio codec) only supports 2 to 6 channles. They are mapped as follows:

   ch1 and ch2: J26-3

   ch3 and ch4: J27-1

   ch5 and ch6: J27-2

So by executing aplay -Dplughw:0,1 <file.wav> you are just picking the ASRC codec driver not channel mapping .

For hearing sound in the J27 you need to use a 4, 6, or 8 channel wave file.

You can download the 6_Channel_ID.wav and 8_Channel_ID.wav files from Wave File Examples

Try

aplay -Dplughw:0,0 8_Channel_ID.wav   --->   you will hear sound through J26-3, J27-1, J27-2 and J27-3

aplay -Dplughw:0,1 8_Channel_ID.wav   --->   you will get an error since ASRC only supports up to 6 channels

aplay -Dplughw:0,0 6_Channel_ID.wav   --->   you will hear sound through J26-3, J27-1 and J27-2

aplay -Dplughw:0,1 6_Channel_ID.wav   --->   you will hear sound through J26-3, J27-1 and J27-2

I don't know if is possible to change the channel mapping. I guess this implies some modifications in the driver code.

879 Views
juangutierrez
NXP Employee
NXP Employee

I was investigating and doing some trial and error experiments and I was able to find some configuration suitable for hearing audio in J27-1.

You only need to create a file asound.conf in /etc/ directory

# vim /etc/asound.conf

And copy paste the next as content

pcm.dsplit {

    type dmix

    ipc_key 2048

    slave {

        pcm "hw:0,0"

        channels 4

    }

    bindings {

        0 0

        2 1

        1 2

        3 3

    }

}

pcm.j26_3 {

    type plug

    slave {

        pcm "dsplit"

        channels 4

    }

    ttable.0.0 1

    ttable.1.1 1

}

pcm.j27_1 {

    type plug

    slave {

        pcm "dsplit"

        channels 4

    }

    ttable.0.2 1

    ttable.1.3 1

}

Next play through J26-3 by

# aplay -D j26_3 stereo.wav

or by J27=1 by

# aplay -D j27_1 stereo.wav

You can find some useful info about the asound.conf and .asoundrc here http://alsa.opensrc.org/.asoundrc

0 Kudos