Implementing Equalizer into nrf5340 Audio DK application

Hello, i am looking to implement an equalizer into the Audio application for the nrf5340 Audio DK. I want to implement this, specifically on the gateway side, and alter the sound before sending it to the headset.

My question is where in the code would be an appropriate place to alter the sound, between recieving it from USB and sending it to Network core or DAC?

My current idea would be to implement another "step" in the audio_datapath function -> audio_datapath_stream_out. However the description says the following 

/**
 * @brief Input an audio data frame which is processed and outputted over I2S
 *
 * @note A frame of raw encoded audio data is inputted, and this data then is decoded
 *       and processed before being outputted over I2S. The audio is synchronized
 *       using sdu_ref_us
 *
 * @param buf Pointer to audio data frame
 * @param size Size of audio data frame in bytes
 * @param sdu_ref_us ISO timestamp reference from BLE controller
 * @param bad_frame Indicating if the audio frame is bad or not
 * @param recv_frame_ts_us Timestamp of when audio frame was received
 */
void audio_datapath_stream_out(const uint8_t *buf, size_t size, uint32_t sdu_ref_us, bool bad_frame,
                   uint32_t recv_frame_ts_us);
It says outputtet over I2C, and i would also want it to be outputtet over BLE.
Thanks
Parents Reply Children
Related