nrf5340 Stereo Audio

Hello team,

I was not able to receive a suitable reply for this post for almost two weeks. I started thinking the engineer had gone for vacation. That is the reason I am reposting and asking for guidance here once again. 

I am hoping to receive response from any other engineers if at all  is on vacation. You can refer the post where I am looking for a solution for sending a stereo audio from the gateway and hoping to collect and reproduce stereo audio at the headphone side using stereo hardware codec. I have detaily mentioned my queries in the previous post. As mentioned in the post, I am working on ncs V17.0.0. 

Thanks for your time. 

best regards,

Adarsh

Parents Reply Children
  • Hai Einarh,

    Thank you for your reply. Yours suggestions are on point.

    I have decided to use NCS V2.1.0. 

    If you compare the implementation of streamctrl_encoded_data_send in 2.1 and 2.0:

    I am struggling here somehow. I am not able to modify the le_audio_send function to make it work.

    It seems like ble_trans_iso_tx is the function you're looking for, and it seems to take an option for mono/stereo.

    Since now I am using NCSV2.1.0, I cannot find this function anymore. What is the equivalent function in ncsv2.1.0?

    You should here modify the le_audio_send function so that it sends stereo data

    Can you please shed more light on how this can be done. I assume it is not that easy as changing the parameter in ble_trans_iso_tx from mono to stereo. 

    iso_stream_send () does not seems to support stereo. I assume this function has to be properly modified. Is it correct? How you please explain how this could be done?

    ret = iso_stream_send(data, sdu_size, AUDIO_CH_L);
    	if (ret) {
    		LOG_DBG("Failed to send data to left channel");
    	}

    Thanks for your time.

    best regards,

    Adarsh

  • Hi

    Looking at the le_audio_send function, the stereo stream is split into two mono streams by two different calls of iso_stream_send.

    Here AUDIO_CH_R and AUDIO_CH_L simply indicate what iso channel to send the data on.

    So if you want to send a stereo stream, you can simply send all the data with a single call of iso_stream_send by doubling the sdu_size.

    You'll then have to split the received data in two on the headset side.

    Best regards,

    Einar

  • Hi,

    Thank you Einarh for your reply. 

    I will leave it open just in case I face problems while implementing the suggested methods. 

    Best regards,

    Adarsh

Related