-
Notifications
You must be signed in to change notification settings - Fork 349
Tools: Topology2: Add nocodec topology to test google-rtc-aec #8266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tools: Topology2: Add nocodec topology to test google-rtc-aec #8266
Conversation
|
Note: I wasn't able to get a conventional AEC topology shape (*) to work so I changed the approach to be able to test module conversion for Google RTC audio processing. This topology is a minimalistic version for nocodec where AEC reference is captured from DAI as done with smart amplifiers (sof-mtl-max98357a-rt5682.tplg). Without smart amplifier the reference would be extracted in SOF with copier module. (*) |
|
@singalsu can we integrate the mock AEC into our regular nocodec tplg instead of this? That way we will be testing the 2 simultaneous capture DAIs configuration with our kernel |
I'd prefer to have this as well, this also goes to development directory only so it won't be relased. This is so simple that it can run in testbench by developers. Also this approach is simple to extend for other formats like s32 that is being added to be able to check them all somehow. |
If this is intended for testbench, we can name it or add commentary to state this. The topology looks OK to me but needs @ranj063 to approve. |
|
"46 successful and 1 failing checks", rebase and retry |
The first playback PCM is for AEC mic input via SSP0 LBM. The second playback PCM is for AEC reference via SSP2 LBM. The first capture PCM is the AEC output. The AEC (mockup) can be run and tested with the topology like this: $ aplay -Dhw:0,0 mic_clip.wav & $ aplay -Dhw:0,2 ref_clip.wav & $ arecord -Dhw:0,0 -f dat -d 10 output.wav With AEC mockup version output.wav is mix of microphone and reference. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
31b8158 to
40f69c5
Compare
|
@ranj063 good for you ? |
RanderWang
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4ch AEC is supported now, do you plan to support it ?
I did this to test the module conversion but it should be possible to create variants. Is the 4ch such that reference is 2ch, AEC is 4ch mic and 4ch out? |
we need 4ch ref. |
|
@RanderWang @singalsu can we clarify the comments above? The echo reference cannot have more channels than what is actually rendered? The number of channels in the echo reference is not correlated with the number of channels in the microphone input, and it's not clear how reference channels might be created out of thin air? |
|
Yep, 4ch reference would make sense only with four separate speakers channels, not even 2-way stereo with woofer & tweeter should normally require such. |
Sure we only need 2ch ref. We support 4ch dmic 351fe7e so I mentioned it. |
|
@ranj063 ping? Others, @RanderWang @singalsu is this ready to go or not? It's hard to tell when you press approve but have comments asking for changes. :) |
On my behalf ready yes, I could test my work with this with sufficient confidence that things work. The 4ch can be added later as incremental change or now if preferred. |
sure, it is ready for me |
|
4 channels can be added incrementally. |

The first playback PCM is for AEC mic input via SSP0 LBM. The second playback PCM is for AEC reference via SSP2 LBM. The first capture PCM is the AEC output.
The AEC (mockup) can be run and tested with the topology like this:
$ aplay -Dhw:0,0 mic_clip.wav &
$ aplay -Dhw:0,2 ref_clip.wav &
$ arecord -Dhw:0,0 -f dat -d 10 output.wav
With AEC mockup version output.wav is mix of microphone and reference.