ASRC conversion fails for some rates

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

ASRC conversion fails for some rates

881件の閲覧回数
scrapper
Contributor I

I am using the ASRC in the imx6q, together with SSI based ALSA sound cards. When I configure the SSI ports to operate at a native sampling rate of 96KHz, then I can play back audio files with a sampling rate ranging from 44.1KHz up to 192 KHz. But when I configure the SSI ports to use a native sampling rate of 44.1 KHz, then the ASRC only works up to 88.2 KHz. When I configure the SSI ports to use a native sampling rate of 48 KHz, then the ASRC only works up to 96 KHz. When I try to play back higher sampling rate audio files, there is basically no audio and I am getting timeouts "conversion failed" error messages from the fsl-alsa-plugins library.

While everything is working fine for 96 KHz, I still want to set the SSI native sampling rate to 44.1 KHz, mainly because the overwhelming majority of content is still available at this rate. What could be the problem that cause the conversion errors?

ラベル(3)
タグ(3)
0 件の賞賛
2 返答(返信)

614件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

could you tell me which bsp are you using? which part of code you modified?

0 件の賞賛

614件の閲覧回数
scrapper
Contributor I

I am using the yocto linux daisy branch with linux kernel version 3.10.53 (tag: imx_3.10.53_1.1.0_ga)

I have added a new SSI based sound card driver to this kernel, no other modifications. To the yocto distribution, I have added the fsl-alsa-plugins and defined aliases in /etc/asound.conf for the asrc. Here is the asound.conf:

defaults.pcm.rate_converter "asrcrate"

pcm.sc0 {

   type hw

   card 0

   device 0

}

pcm.sc1 {

   type hw

   card 1

   device 0

}

pcm.sc2 {

   type hw

   card 2

   device 0

}

pcm.sc3 {

   type hw

   card 3

   device 0

}

pcm.asrc0 {

    type plug

    slave {

        pcm "sc0"

        format S24_LE

        channels 2

        rate 96000

    }

}

pcm.asrc1 {

    type plug

    slave {

        pcm "sc1"

        format S24_LE

        channels 2

        rate 96000

    }

}

pcm.asrc2 {

    type plug

    slave {

        pcm "sc2"

        format S24_LE

        channels 2

        rate 44100

    }

}

pcm.asrc3 {

    type plug

    slave {

        pcm "sc3"

        format S24_LE

        channels 2

        rate 48000

    }

}

pcm.sv_sc0 {

    type softvol

    slave {

        pcm "sc0"

    }

    control {

        name "Master"

        card 0

    }

}

pcm.sv_sc1 {

    type softvol

    slave {

        pcm "sc1"

    }

    control {

        name "Master"

        card 1

    }

}

pcm.sv_sc3 {

    type softvol

    slave {

        pcm "sc3"

    }

    control {

        name "Master"

        card 3

    }

}

pcm.sv_asrc0 {

    type softvol

    slave {

        pcm "asrc0"

    }

    control {

        name "Master"

        card 0

    }

}

pcm.sv_asrc1 {

    type softvol

    slave {

        pcm "asrc1"

    }

    control {

        name "Master"

        card 1

    }

}

pcm.sv_asrc3 {

    type softvol

    slave {

        pcm "asrc3"

    }

    control {

        name "Master"

        card 3

    }

}

0 件の賞賛