Overview
========
The maestro_demo application demonstrates audio processing on the ARM cortex core
utilizing the Maestro Audio Framework library.

Depending on target platform there are different features of the demo enabled.

    - file decoding and playback
    - EAP effects during file playback
    - loopback from microphone to speaker
    - recording microphone to a file
    - wake word + voice recognition

The application is controlled by commands from a shell interface using serial console.

Type "help" to see the command list. Similar description will be displayed on serial console:

    >> help

    "help": List all the registered commands

    "exit": Exit program

    "version": Display component versions

    "file": Perform audio file decode and playback

      USAGE: file [list|<audio_file>|all]
        list          List audio files on SD card available for playback
        <audio_file>  Select file from SD card and start playback
        all           Play all supported audio files from SD card.
        eap           choose one of the options:
                      1: All effect Off, 2: Voice enhancer, 3: Music enhancer
                      4: Auto volume leveler, 5: Loudness max, 6: 3D Concert snd
                      7: Custom, 8: Tone generator, 9: Crossover two way speakers
                      10: Crossover for subwoofer
      EXAMPLE: Playback with eap effect: file <audio_file> eap 3

    "record_mic": Record MIC audio and either:
     - perform voice recognition (VIT)
     - playback on WM8904 codec
     - store samples to file.

     USAGE: record_mic [audio|file|vit] 20 [en|cn]
     The number defines length of recording in seconds.
     For voice recognition say supported WakeWord and in 3s frame supported command.
     Please note that this VIT demo is near-field and uses 1 on-board microphone.
     NOTE: this command returns to shell after record finished.


Toolchain supported
===================
- GCC ARM Embedded  10.2.1
- MCUXpresso  11.4.1
- IAR embedded Workbench  9.20.1

Hardware requirements
=====================
- Mini/micro USB cable
- LPCXpresso55s36 board
- Personal Computer
- headphones with 3.5 mm stereo jack


Board settings
==============
Short JP73 2-3, JP72 2-3, JP50 1-2, JP53 1-2
Remove resistor between BH20 and BH21, Short BH19 and BH20. 
Remove resistor between BH23 and BH24, Short BH22 and BH23. 

Prepare the Demo
================
Note: MCUXpresso IDE project default debug console is semihost
1.  Connect headphones to Audio HP / Line-Out connector.
2.  Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J1) on the board
3.  Open a serial terminal with the following settings :
    - 115200 baud rate
    - 8 data bits
    - No parity
    - One stop bit
    - No flow control
5.  Download the program to the target board.
6.  Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
================
When the example runs successfully, you should see similar output on the serial terminal as below:

**********************************
Maestro audio solutions demo start
**********************************

[APP_SDCARD_Task] start
[APP_Shell_Task] start

SHELL build: Nov  5 2020
Copyright  2020  NXP

>> [APP_SDCARD_Task] SD card drive mounted
