2 Replies Latest reply on Oct 16, 2018 9:02 AM by dchu_1995281

    BLE audio stream quality


      I currently have a PSoC 6 streaming audio to another PSoC 6 but I am having some issues with the quality of the audio being played back. The audio can be heard well enough to understand speech but the quality is not as good as I would like it to be.


      There is also a constant noise that I can hear that occurs less frequently when I use a larger buffer for the audio, so I believe the noise is from the DMA or I2S being turned on/off but haven't been able to fix it.


      I am using a pair of PSoC 6 BLE Pioneer Kits each with a TFT Display Shield for my setup.

      I have attached my workspace for reference.


      Any help would be appreciated.

        • 1. Re: BLE audio stream quality



          Apologies for the delay.

          Could you please let us know the steps to replicate.



          P Yugandhar.

          • 2. Re: BLE audio stream quality

            1) In the CY_BLE_EVT_STACK_ON case of the AppCallback function in host_main.c (should be the first event), uncomment the call to Cy_BLE_GAPP_StartAdvertisement(CY_BLE_ADVERTISING_FAST, CY_BLE_PERIPHERAL_CONFIGURATION_0_INDEX) for the peripheral device and uncomment the call to Cy_BLE_GAPC_StartScan(CY_BLE_SCANNING_FAST, 0u) for the client device.


            2) The client and peripheral should automatically connect. The LED will turn blue on both, briefly flash cyan, then go back to blue.


            3) Press and hold SW2 on the client and you should be able to hear what the mic picks up though the jack on the peripheral if you have headphones connected.


            Note that you may need to press the reset button to make it work. When I plug in the devices all I hear is the constant noise i mentioned before. If I press the reset button, The noise is much quieter and I can hear the audio from the mic, though the quality isn't the best.


            Also the client will not connect to a previously connected device, it needs to be reset to connect to the same device again. This isn't really an issue, just something I haven't gotten around to fixing/implementing.


            Hope this helps.