/ap-conversa-voice-calling

This software pack helps developers to build products that enable a complete voice call application using NXP’s MCU and Conversa Voice Suite. This project speeds up the evaluation of Voice over Internet Protocol (VoIP) products and provides sufficient audio quality required to meet the Microsoft Teams specification and receive certification.

Primary LanguageCOtherNOASSERTION

NXP Application Code Hub

Conversa Voice Calling

This project holds the Conversa Voice Calling App SW Pack running in the i.MX RT1170 and depends on the MCUXpresso SDK overall delivery.

The main_rt1170 branch contains the conversa voice calling sw pack for the i.MX RT1170. To see other available devices, please check the other branches.

Boards: MIMXRT1170-EVK

Categories: Voice

Peripherals: SAI, DMA, USB

Toolchains: MCUXpresso IDE

Table of Contents

  1. Resources
  2. Software
  3. Hardware
  4. Setup
  5. Results
  6. FAQs
  7. Support
  8. Release Notes

1. Resources

2. Software

3. Hardware

  • MIMXRT1170-EVK
  • Two micro USB cables.
  • Conversa Hardware mockup for a complete test.

4. Setup

4.1 Assemble the Application

You need to have both Git and West installed, then execute below commands to gather the whole APP-SW-PACKS/CONVERSA-VOICE-CALLING delivery at branch ${branch} and place it in a folder named appswpacks_conversa_voice_calling.

Replace ${branch} with another branch within the repo to select the device you would like to use. This can be main_rt1170 for the MIMXRT1170-EVK. To see other available devices, please check the other branches.

west init -m https://github.com/nxp-appcodehub/ap-conversa-voice-calling --mr ${branch} appswpacks_conversa_voice_calling
cd appswpacks_conversa_voice_calling
west update

You can find more information about setup the application software pack in the Audio Lab Guides included in the AN13752.

4.2 Build and Run the Application

To build and run the application please refer to the chapter 5. Audio Lab Guides within the AN13752.

5. Results

Application Overview

This software application pack enables a complete voice call application using NXP’s i.MX RT1170 crossover MCU and Conversa Voice Suite.

After initializing the necessary hardware, the demo launches a Shell task:

  1. Shell Task: Waits for user input to select one of the software configurations. Type help to see all the available options:

    With Conversa Voice Suite processing

     voicecall spswp16k    => Speaker phone with Conversa software (required voice call RT1170 mockup). Teams conferencing device 2.3m. Fs=16kHz
     voicecall spswp32k    => Speaker phone with Conversa software (required voice call RT1170 mockup). Teams conferencing device 2.3m. Fs=32kHz.
    

    Without Conversa Voice Suite processing

     voicecall usbswp16k    => USB microphones and USB speaker. Fs=16kHz
     voicecall usbswp32k    => USB microphones and USB speaker. Fs=32kHz
    
     WARNING : FOR lb CONFIGURATION REMOVE SPEAKER JACK CONNECTOR AND PLUG A HEADSET TO AVOID LARSERN EFFECT AND DAMAGE SPEAKER: WARNING
     WARNING : FOR lb CONFIGURATION REMOVE SPEAKER JACK CONNECTOR AND PLUG A HEADSET TO AVOID LARSERN EFFECT AND DAMAGE SPEAKER: WARNING
    
     voicecall lbswp16k    => Loop back between microphones and headset + USB microphones. Fs=16kHz
     voicecall lbswp32k    => Loop back between microphones and headset + USB microphones. Fs=16kHz
    

    RT1170 mockup : RT1170 EVKA (3 microphones used) + TA2024 amplifier + 1 TangBand 2136 speaker

    sp : sp means speaker phone with Conversa software. Conversa Tx output is sent to Tx USB channel 0. Conversa Rx output is sent to the speaker.

    usb : USB only use case, no process is running. Tx chain input (microphones) datas are sent USB Tx. USB Rx datas are sent to speakers. No process is present.

    lb : lb means loop back. Tx chain input are sent to speakers and to USB Tx. USB Rx datas are not handled. No process is present.

    WARNING : FOR lb CONFIGURATION REMOVE SPEAKER JACK CONNECTOR AND PLUG A HEADSET TO AVOID HOWLING AND POTENTIAL SPEAKER DAMAGE: WARNING

    Once you select an option, the demo launches an AUDIO_TxRxTask.

  2. AUDIO_TxRxTask: The AUDIO Task configures the audio paths and handles the input and output audio buffers to enable the voice calling application.

If a conversa voice calling software configuration is selected, the AUDIO task will execute the Conversa echo-cancelling audio processing.

NOTE: The Conversa library comes with a 10-minute trial timeout.

The image below shows the audio framework architecture.
flowchart

6. FAQs

6.1 How to get the Conversa HW mockup?

Contact us at voice@nxp.com

6.1 How to get an extended timeout Conversa library?

Contact us at voice@nxp.com

6.3 Have a question about the Conversa Voice Calling Software Pack?

If you have some question, you can contact FAE or create a ticket to NXP community.

6.4 Other Reference Applications

For other rapid-development software bundles please visit the Application Software Packs page.

To find another NXP application software packs or demos, visit NXP's Application Code Hub.

For SDK examples please go to the MCUXpresso SDK and get the full delivery to be able to build and run examples that are based on other SDK components.

7. Support

Project Metadata

Board badge

Category badge

Peripheral badge Peripheral badge Peripheral badge

Toolchain badge

Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.

Warning: For more general technical questions regarding NXP Microcontrollers and the difference in expected funcionality, enter your questions on the NXP Community Forum

Follow us on Youtube Follow us on LinkedIn Follow us on Facebook Follow us on Twitter

8. Release Notes

Version Description / Update Date
1.0 Initial release on Application Code HUb April 5th 2023