Skip to content

Commit

Permalink
Release esp-va-sdk-v1.0-rc2-212881
Browse files Browse the repository at this point in the history
  • Loading branch information
avsheth committed Sep 18, 2019
1 parent 03605e3 commit 1a3661f
Show file tree
Hide file tree
Showing 119 changed files with 4,297 additions and 1,392 deletions.
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,32 @@
## ChangeLog
### 1.0-RC2 - 2019-08-13

**Enhancements**

* Added LED support for Error LED and Provisioning LED.
* Memory optimisations to improve the overall functionality and stability.
* Added an API to change the locale for amazon_alexa. Also added a cli for the same.
* Added support for sign-in and sign-out via the app.
* Added basic support for OTA. The APIs still need to be implemented by the application. (refer to examples/amazon_alexa/main/cloud_agent.h)
* Support for Gaana (India) and Hungama (India) music streaming services.
* Provisioning app for iOS has also been added. The existing Android app has been updated.
* Added error message in addition to error LEDs when the wake word is detected and the device is having trouble processing it.
* Added support for equalizer.
* Added support for text queries for google_dialogflow. Also added a CLI for the same.

**API Changes**

* The 'avs_nvs_*' APIs have been changed to 'va_nvs' and 'avs' is used as the default namespace.
* Authentication components have been moved from alexa.h to auth_delegate.h. Refer to the respective files for the changes.
* `media_hal_data.c` is now made common and is not a part of `board_support_pkgs/<board_name>/esp_codec/` anymore.
* This complete logic is now moved to `components/media_hal/`. Please take a look at (media_hal_playback.h)[components/media_hal/].
* Audio board must initialize `media_hal` using `media_hal_init_playback` with config. For example, for (lyrat_board)[board_support_pkgs/lyrat/audio_boar/audio_board_lyrat/audio_board_lyrat.c].
* APIs for tone have been changed to support the above media_hal change.

**Bug Fixes**

* Fixed some memory leaks.
* Some fixes to pass Amazon's certification.

### 1.0-RC1 - 2019-05-14

Expand Down
15 changes: 12 additions & 3 deletions README-Getting-Started.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Prerequisites
Please prepare your host system with the toolchain. Please see https://docs.espressif.com/projects/esp-idf/en/v3.2/ for the host setup.
Please prepare your host system with the toolchain. Please see https://docs.espressif.com/projects/esp-idf/en/v3.2/get-started/index.html for the host setup.


# Prepare Images
Expand All @@ -8,7 +8,7 @@ Please prepare your host system with the toolchain. Please see https://docs.espr
```
$ git clone --recursive https://github.com/espressif/esp-idf.git
$ cd esp-idf; git checkout release/v3.2; cd ..
$ cd esp-idf; git checkout release/v3.2; git submodule update --init --recursive; cd ..
$ git clone https://github.com/espressif/esp-va-sdk.git
```
Expand All @@ -28,16 +28,25 @@ $ make -j 8 flash monitor
```
NOTE:
> The google_voice_assistant and google_dialogflow applications only support Tap-to-talk whereas the amazon_alexa application supports both, "Alexa" wakeword and tap-to-talk.
* Once you have the firmware flashed, visit the following pages for interacting with the device:
* [Alexa](examples/amazon_alexa/README-Alexa.md)
* [Google Voice Assistant](examples/google_voice_assistant/README-GVA.md)
* [DialogFlow](examples/google_dialogflow/README-Dialogflow.md)


# Upgrading from Previous Release
Please skip this section if you are using the SDK for the first time.

## Upgrading to 1.0-RC2
* The partition table has been changed. If you face any issue, try doing 'make erase_flash' and then flash again.
* Authentication sequence has been changed for amazon_alexa. Refer to app_main.c in the amazon_alexa application.

## Upgrading to 1.0-RC1

* The example applications have changed from hardware specific to voice assistant specific.
* Hardware/Board specific configuration (specifically, LEDs, Hardware Codecs, DSP and the board) is moved into a separate board support package. Please pass the path of this package to the build command line as indicated above.
* The esp-idf branch needs to be changed to release/v3.2 from release/v3.1 and the relevant new patches need to be applied.
* The nvs version is changed with IDF release/v3.2. Please do `make erase-flash` before flashing the new app. Now re-provision the device.
* The nvs version is changed with IDF release/v3.2. Please do `make erase_flash` before flashing the new app. Now re-provision the device.
* Provisioning and authentication of Alexa app is now carried out over BLE instead of SoftAP. Use the new Android app for the same. (iOS app support is comming soon). GVA and Dialogflow would continue to use their respective older provisioning methods for now.


Expand Down
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
## Overview

The ESP-Voice-Assistant SDK provides an implementation of Amazon's Alexa Voice Service, Google Voice Assistant and Google's conversational interface (aka Dialogflow) for ESP32 microcontroller. This facilitates the developers to evaluate ESP32 based voice assistant/s integrated devices like speakers and other IoT devices. Please refer to [Changelog](CHANGELOG.md) to track release changes and known-issues.
The ESP-Voice-Assistant SDK provides an implementation of Amazon's Alexa Voice Service, Google Voice Assistant and Google's conversational interface (aka Dialogflow) for ESP32 microcontroller. This facilitates the developers directly run these voice-assistants on an ESP32. The SDK will run on hardware boards that have Microphone/Speaker interfaced with the ESP32.

## License
* For LyratD-DSPG board based on DSPG's DBMD5P DSP please read the licensing terms [here](board_support_pkgs/lyratd_dspg/dspg_fw/docs/license.pdf) for the DSP fimrware
* For rest of the ESP-VA-SDK components please refer to the licensing terms [here](LICENSE)

### About SDK
### About the SDK

The SDK contains pre-built libraries for Amazon Alexa, Google Voice Assistant (GVA) and Google Dialogflow along with sources of some of the utility components such as audio pipeline and connection manager. Below are the list of some of the features supported for each voice assistant:
* **Amazon Alexa**:
Expand Down Expand Up @@ -35,15 +35,20 @@ The SDK contains pre-built libraries for Amazon Alexa, Google Voice Assistant (G
The SDK supports the following hardware platforms:
* [ESP32-LyraT](https://www.espressif.com/en/products/hardware/esp32-lyrat)
* [ESP32-LyraTD-MSC](https://www.espressif.com/en/products/hardware/esp32-lyratd-msc)
* [ESP32-LyraTD-DSPG](https://www.espressif.com/sites/default/files/documentation/ESP32-LyraTD-DSPG_User_Guide__en.pdf)

The following list of acoustic front-ends is also supported. Please contact Espressif to enable acccess to these solutions.
* DSPG DBMD5P
* DSPG DBMD5P [GitHub support is for evaluation purpose only and uses Espressif's WakeWord Engine].
* Intel s1000
* Synaptics CX20921

## Getting started

* Follow the `README-Getting-Started.md` to clone the required repositories and to compile and flash the firmware.
* Follow the [Getting Started Guide](README-Getting-Started.md) to clone the required repositories and to compile and flash the firmware.
* When flashing the SDK for the first time, it is recommended to do `make erase_flash` to wipe out entire flash and start out fresh.
* Go through `README-<voice_assistant>.md` in their respective directories to know how to provision the device and to get authentication tokens from the respective authorization server and flash them onto the device.
* If you are updating from previous release, please check the `Upgrading from Previous Release` section from `README-Getting-Started.md` to know about any specific actions that needs to be taken while upgrading.
* Once you have the firmware flashed, visit the following pages for interacting with the device:
* [Alexa](examples/amazon_alexa/README-Alexa.md)
* [Google Voice Assistant](examples/google_voice_assistant/README-GVA.md)
* [DialogFlow](examples/google_dialogflow/README-Dialogflow.md)
* If you are updating from previous release, please check the `Upgrading from Previous Release` section from the [Getting Started Guide](README-Getting-Started.md) to know about any specific actions that needs to be taken while upgrading.

Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
AUDIO_HAL_PATH := $(AUDIO_BOARD_PATH)/../../
IPC_DRV_PATH := $(AUDIO_BOARD_PATH)/
IPC_DRV_PATH := $(AUDIO_HAL_PATH)/dsp_driver/lyrat_driver

# Board
EXTRA_COMPONENT_DIRS += $(AUDIO_BOARD_PATH)/

# DSP driver
EXTRA_COMPONENT_DIRS += $(IPC_DRV_PATH)/components/

# LED driver
EXTRA_COMPONENT_DIRS += $(AUDIO_HAL_PATH)/led_driver/ledc_lyrat

# codec
EXTRA_COMPONENT_DIRS += $(AUDIO_HAL_PATH)/esp_codec/es8388/components/

# va_dsp
include $(IPC_DRV_PATH)/va_dsp/va_dsp.mk
-include $(IPC_DRV_PATH)/components/va_dsp/va_dsp.mk

# This var sets partition file to partitions_4mb_flash.csv
# Please take a look at example makefile.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,3 @@
COMPONENT_ADD_INCLUDEDIRS := .

COMPONENT_SRCDIRS := .


Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <audio_board.h>
#include <led_lyrat.h>
#include <va_board.h>
#include <media_hal_playback.h>

#define VA_TAG "AUDIO_BOARD"

Expand All @@ -39,6 +40,15 @@ int va_board_init()
int ret;
i2s_config_t i2s_cfg = {};
audio_board_i2s_init_default(&i2s_cfg);

media_hal_playback_cfg_t cfg = {
.channels = 2,
.sample_rate = 48000,
.i2s_port_num = I2S_NUM_0,
.bits_per_sample = 16,
};
media_hal_init_playback(&cfg);

ret = i2s_driver_install(I2S_PORT_NUM, &i2s_cfg, 0, NULL);
if (ret != ESP_OK) {
ESP_LOGE(VA_TAG, "Error installing i2s driver for stream");
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
COMPONENT_ADD_INCLUDEDIRS := . include/

COMPONENT_SRCDIRS := . include/
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Copyright 2018 Espressif Systems (Shanghai) PTE LTD
// All rights reserved.

#include <stdlib.h>

void lyrat_stop_capture();
void lyrat_start_capture();
int lyrat_stream_audio(uint8_t *buffer, int size, int wait);
void lyrat_mic_mute();
void lyrat_mic_unmute();
void lyrat_init();
Loading

0 comments on commit 1a3661f

Please sign in to comment.