This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] EVMK2G:提高默认音频器件上的回放采样率

Guru**** 2589265 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/636457/evmk2g-increasing-the-playback-sample-rate-on-default-audio-device

器件型号:EVMK2G

我使用"aplay"时的最大播放采样率似乎是192000。

root@k2g-EVM:~# aplay -Ddefault:K2GEVM 192000.wav
播放波'192000.wav':有符号16位小端字节序、速率192000Hz、单声道

我是否可以通过任何方法来增加它?  内核修改/重建?

谢谢、

Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Mike:

    我将对此进行研究。
    您能否分享您使用的是哪款 Linux SDK?

    此致、
    YORDAN
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。

    我使用的是 ti-processor-sdk-linux-rt-k2g-evm-04.01.00.06。

    TI-RTOS 是否更合适?

    此致、

    Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Mike:

    默认情况下、采样率应针对您正在播放的文件进行调整。 换言之、应将其设置为与原始文件的采样率相同。

    有一些选项可修改采样率、而无需重新编译内核。 尝试:
    1.在/etc/asound.conf 中添加
    pcm.device{
    格式 S24_LE
    费率96000
    键入 HW
    卡0
    器件0


    2.在/etc/pulse/demon.conf 中编辑:
    ;默认采样率

    有关 TI 内核中音频实现的更多信息、请参阅此 wiki:
    processors.wiki.ti.com/.../Sitara_Linux_Audio_DAC_Example


    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!

    我正在尝试在我的 K2G-EVM 板上以每秒192000个样本的速度获取样本。 如果我尝试以更快的速度播放 WAV 文件,它会产生炸弹,即:

    root@k2g-EVM:~# aplay -Dplughw:0、0 384000.wav
    播放波'384000.wav':有符号16位小端字节序、速率384000 Hz、单声道
    aplay:set_params:1305:无法安装 HW params:
    访问:rw_interleaved
    格式:S16_LE
    子格式:标准
    SAMPLE_BITS:16
    FRAME_BITS:16
    通道:1.
    价格:无
    PERIOD_TIME:(92879 92880)
    Period_size:(35665 35666)
    Period_Bytes:(7133071332)
    期间:(3 5)
    Buffer_Time:(371518 371519)
    Buffer_size:142663
    Buffer_bytes:285326
    tick_time:0

    我已尝试您的建议1. 和2. 结果与上述输出相同。

    您的 processors.wiki.ti.com/.../Sitara_Linux_Audio_DAC_Example 可能可以正常工作、但我还没有尝试过。

    其他想法值得赞赏。

    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Mike:
    让我看看我可以找到的内容。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Mike:

    这是我找到的内容。 正如我说过的、采样率是根据正在播放的文件以及原始文件的采样率动态设置的。 但是、内核驱动程序配置为在以下频率之间进行选择:
    静态常量 unsigned int Davinci_McASP_Dai 比率[]={
    8000、11025、16000、22050、32000、 44100、48000、64000、
    88200、96000、176400、192000、
    };

    您可以看到192000是支持的最高采样率。 是否可以尝试添加384000? 测试 McASP 是否支持这个更高的采样率。 我不太熟悉 k2g 中的 McASP、我需要深入研究文档以进行确认、因此验证这一点的最快方法是在硬件上尝试。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Yordan。

    我在 Davinci-McASP/c 中查看了 DaVinci_McASP_Dai 比率[]  有一些明显的地方可以很容易地添加384000、还有一些其他地方可能需要更改、但我不清楚如何操作。

    正如您指出的、我认为需要对 McASP 有更多的了解。

    顺便说一下、我发现了有关 ALSA 声卡内核补丁的一些讨论:

    我认为 McASP 方法会更高效、更具可扩展性。

    此致、

    Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mike、

    我找不到一个384 kHz wav 文件来使用。 您能否在论坛中在此添加测试文件?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我没有听到。 此问题是否已解决? 如果是、我现在将关闭该线程。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../upfm.wav

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我已离开办公室。 我向您发送了384000 Hz WAV 文件。

    祝您好运!

    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我测试了这个、但它不起作用。
    这仅确认我在 TRM (第11.9.1节 McASP 概述)中找到的内容:
    •用于发送和接收的两个独立时钟发生器模块
    –时钟灵活性使 McASP 能够以不同的速率接收和发送数据。 例如、
    McASP 可以以48kHz 的频率接收数据、但以96kHz 或192kHz 的频率输出上采样的数据。

    McASP 功能时钟似乎不足以支持384kHz 采样率。

    此致、
    Yordan