黃子衡 发表于 2020-3-5 09:32:30

QCC3020, 已实现GAIA EQ控制, 欢迎讨论

大家好, EARBUD默认工程砍掉很多sink具备的功能, 导致许多必须自行从sink project移入.
个人已经实现透过GAIA app控制EQ, 如果有兴趣欢迎一起讨论.
原则上就是按照sink gaia的代码来进行搬移, 但由于架构差异过大, 所需工作繁琐, 耗费不少功夫, 有需要个人可分享之.

628495173 发表于 2020-3-5 09:52:43

支持下,很有钻研精神。

黃子衡 发表于 2020-3-5 10:27:02

52bluetooth 发表于 2020-3-5 09:52
支持下,很有钻研精神。

过奖了, 纯粹有这个需要.
希望高通能赶紧官方加强earbud的基础功能, 不让我们下游这么辛苦.

tangmb 发表于 2020-3-5 10:43:12

请问下接收到APP发送的EQ值后,3020调用什么函数可以把EQ值写入到DSP。谢谢!

黃子衡 发表于 2020-3-5 11:06:55

tangmb 发表于 2020-3-5 10:43
请问下接收到APP发送的EQ值后,3020调用什么函数可以把EQ值写入到DSP。谢谢!

请参考sink project, 调用AudioGetUserEqParameters().
这函式会令apps1发出IPC命令给Kymera, 但您会碰到peq_op没有被附于的问题.
Sink是在Audio chain建立时附于此值, 但earbud架构不同, 需在appKymeraA2dpStartMaster()
与appKymeraA2dpStartSlave()加上,
    // Retrieve the output chain
    kymera_chain_handle_t chain_handle = theKymera->chainu.output_vol_handle;
    // Get the PEQ operator id
    Operator peq_op = PanicZero(ChainGetOperatorByRole(chain_handle, OPR_PEQ));
    // Setting the sample rate for the PEQ as the default is 8kHz
    OperatorsStandardSetSampleRate(peq_op,rate);
    AudioMusicProcessingUnregisterRole(audio_music_processing_user_peq_role);
    AudioMusicProcessingRegisterRole(audio_music_processing_user_peq_role, peq_op);

zhaopeng2511 发表于 2020-3-5 11:21:32

产品想出货基本都会把EQ加入,代理那边会提供EQ加入方法,至于GAIA调EQ,参数传过去简单,至于将参数设置到DSP调用API是否和sink一致这就不好说了,楼主是否有验证过通过GAIA调节EQ后,用QACT看下参数是否真实设置到呢?

黃子衡 发表于 2020-3-5 11:56:37

zhaopeng2511 发表于 2020-3-5 11:21
产品想出货基本都会把EQ加入,代理那边会提供EQ加入方法,至于GAIA调EQ,参数传过去简单,至于将参数设置到 ...

是一致的, 可直接透过GAIA连线调整并选取EQ bank, 声音会有变化.

天下无双 发表于 2020-3-26 09:35:19

大佬,有文档吗?分享一下方法呀

,ソ伤心刺。 发表于 2020-3-26 16:43:52

:D 可以,自己专研出来也乐意给大家分享出来,顶起。好样的。

把握现在 发表于 2020-3-26 18:44:57

用哪个ADK版本来做的?只能连接主耳吧,那副耳这边的参数同步机制是不是也要自己添加?
页: [1] 2 3
查看完整版本: QCC3020, 已实现GAIA EQ控制, 欢迎讨论