Cis mode - Mic issues

Hi,

With this setup in Issue with Stereo Sound from External Codec on nRF5340 DK (SDK v2.6.2) , I successfully built a CIS mode using my nRF5340 DKs, enabling stereo sound while the microphone is active.

However, I am currently experiencing several issues:

  • The recorded microphone signal is accelerated, playing back faster than it was recorded.
  • The input signal quality is poor when using an analog microphone, but it improves significantly with a digital microphone.
  • When using the microphone and playing audio through the headset simultaneously, the recorded sound is barely audible (very low signal strength).
  • Occasionally, one of the DKs disconnects, causing a complete loss of audio.

Any insights into what might be causing these issues? and how might they be solved?

Thank you in advance—I truly appreciate your time and support.

Best regards,
Abdulmohaimen Algamoudi 

Parents
  • Hi,

    On which specific board do you experience issues?

    Do you still use NCS v2.6.2?

    Best regards,
    Dejan

  • Hey Dejan,
    The nrf5340 audio DK as well as the BC40C from Fanstel.
    The sdk is V2.8.0

    Thank you in advance

    Best regards,
    Abdulmohaimen Algamoudi 

  • Hey Dejan, 

    is there ny news? Looking foewaed for your support.

    Thanks in advance!
    Best regards,
    Abdulmohaimen

  • Hi Abdulmohaimen,

    You could try to check settings on the codec side.

    I expect to get back to you with additional information by the end of next week.

    Best regards,
    Dejan

  • Hi Abdulmohaimen,

    MCLK value should be close to 6.144 MHz. With currently used ratio of 128 and ratio * LRCK = MCLK (see LRCK in the documentation), MCLK is expected to be 6.144 MHz. You could try to check on the oscilloscope using higher sampling rate (more than twice of 6.144 MHz).

    As for bypass mode, it is expected for MCLK to be 12.288 MHz. It might be that your codec is not configured properly. You can check your codec settings.

    Best regards,
    Dejan

  • Hi Dejan,

    Thank you very much for all the support you provided in this ticket. I’ve decided to continue using I²S as the source for my signal, where the USB configuration still shows the accelerated mic signal.

    I do have one remaining question:
    Is it possible to reduce the frequency of the source in the uncast_client.c file,

    #define BT_BAP_LC3_UNICAST_PRESET_STEREO_16_2_1(_loc, _stream_context)                                    \
     	BT_BAP_LC3_PRESET(BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CFG_FREQ_24KHZ,                 \
     						    BT_AUDIO_CODEC_CFG_DURATION_10, _loc, 40U, 1,  \
     						    _stream_context),                              \
     			  BT_AUDIO_CODEC_QOS_UNFRAMED(10000u, 80u, 2u, 10u, 40000u))
     
    
    static struct bt_bap_lc3_preset lc3_preset_sink = BT_BAP_LC3_UNICAST_PRESET_NRF5340_AUDIO_SINK;
    static struct bt_bap_lc3_preset lc3_preset_sink_48_4_1 = BT_BAP_LC3_UNICAST_PRESET_48_4_1(
    	BT_AUDIO_LOCATION_ANY, (BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED));
    static struct bt_bap_lc3_preset lc3_preset_sink_24_2_1 = BT_BAP_LC3_UNICAST_PRESET_24_2_1(
    	BT_AUDIO_LOCATION_ANY, (BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED));
    static struct bt_bap_lc3_preset lc3_preset_sink_16_2_1 = BT_BAP_LC3_UNICAST_PRESET_STEREO_16_2_1(
    	BT_AUDIO_LOCATION_ANY, (BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED));
    
    static struct bt_bap_lc3_preset lc3_preset_source = BT_BAP_LC3_UNICAST_PRESET_NRF5340_AUDIO_SOURCE;
    static struct bt_bap_lc3_preset lc3_preset_source_48_4_1 =
    	BT_BAP_LC3_UNICAST_PRESET_48_4_1(BT_AUDIO_LOCATION_ANY, BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED);
    static struct bt_bap_lc3_preset lc3_preset_source_24_2_1 =
    	BT_BAP_LC3_UNICAST_PRESET_24_2_1(BT_AUDIO_LOCATION_ANY, BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED);
    static struct bt_bap_lc3_preset lc3_preset_source_16_2_1 =
    	BT_BAP_LC3_UNICAST_PRESET_16_2_1(BT_AUDIO_LOCATION_ANY, BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED);
    

    similar to how it was reduced to 16 kHz on the sink side? I attempted to configure this myself, but I wasn’t able to do it correctly. Would reducing the frequency on the source side help reduce CPU load and possibly improve signal quality?

    Otherwise, I’ll go ahead and close this ticket and open a new one regarding the use of dual microphones in different setups.

    Thanks again for your support!

    Best regards,


    Abdulmohaimen Algamoudi

  • Hi Abdulmohaimen,

    Abdulmohaimen said:
    Is it possible to reduce the frequency of the source in the uncast_client.c file,
    Abdulmohaimen said:
    similar to how it was reduced to 16 kHz on the sink side?

    Could this discussion be helpful?

    Abdulmohaimen said:
    Would reducing the frequency on the source side help reduce CPU load and possibly improve signal quality?

    CPU rate is directly impacted by the sampling rate. USB audio interface and bidirectional communication require CPU resources. To avoid getting CPU overloaded and having bad audio quality, you should consider using either 16 KHz sampling rate or mono channel instead of stereo.

    Best regards,
    Dejan

Reply
  • Hi Abdulmohaimen,

    Abdulmohaimen said:
    Is it possible to reduce the frequency of the source in the uncast_client.c file,
    Abdulmohaimen said:
    similar to how it was reduced to 16 kHz on the sink side?

    Could this discussion be helpful?

    Abdulmohaimen said:
    Would reducing the frequency on the source side help reduce CPU load and possibly improve signal quality?

    CPU rate is directly impacted by the sampling rate. USB audio interface and bidirectional communication require CPU resources. To avoid getting CPU overloaded and having bad audio quality, you should consider using either 16 KHz sampling rate or mono channel instead of stereo.

    Best regards,
    Dejan

Children
No Data
Related