Skip to content

Commit

Permalink
AVS release v1.0b1r3
Browse files Browse the repository at this point in the history
  • Loading branch information
avsheth committed Sep 17, 2018
0 parents commit 080f8dd
Show file tree
Hide file tree
Showing 236 changed files with 35,135 additions and 0 deletions.
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
## ChangeLog

### v1.0b1r3 (Beta) - 2018-08-28

**Enhancements**

* Seeking support for Audible books
* Support for OffsetInMilliSeconds, ProgressReportDelayElapsed and ProgressReportIntervalElapsed
* LED patterns for various Alexa states as per Alexa UX design guidelines
* Playing Alerts/Timers, Reminders from received URL even after device reboot. Device used to play stored tunes if device rebooted in between setting the Alarm and its timeout
* Minute latency improvement where Recognize event is now being sent earlier upon WW detection

**Bug Fixes**

* No intermittent audio playback between multiple Speak directives of the same dialog (e.g "What's up")
* Few stability related fixes

**Known Issues/Improvements**

* Crashes are seen in Audible when segments >512 are received
* Only limited TuneIn radio stations are supported
* It is largely tested with internet and WiFi connectivity intact throughout its operation. Some issues are seen when device loses connectivity.
* TLS Certificate validation of Amazon and other streaming sites is yet to be done.

### v1.0b1r2 (Beta) - 2018-08-14

**Enhancements**

* Support for persistent Alerts/Timers, Reminders and Notifications

**Bug Fixes**

* Multiple race conditions fixed to improve the stability

**Known Issues**

* Regression in Audible support - crashes are seen with Audible
* Book and audio playback seeking is not yet supported
* Only limited TuneIn radio stations are supported
* It is largely tested with internet and WiFi connectivity intact throughout its operation. Some issues are seen when device loses connectivity.

### v1.0b1r1 (Beta) - 2018-08-06

**Enhancements**

* Amazon music support
* Alerts/Timers, Reminders, Notifications support
* Audible support
* Capabilities API integration
* AudioActivityTracker support

**Bug Fixes**
* Overall stability improvements
* Fixed minor issues with Android App
* Amazon app is no more required on phone for authentication. App opens login page on device's browser if app isn't found.

**Known Issues**

* Alerts/Timers, Reminders and Notifications do not persist across device reboot
* Book and audio playback seeking is not yet supported
* Only limited TuneIn radio stations are supported
* It is largely tested with internet and WiFi connectivity intact throughout its operation. Some issues are seen when device loses connectivity.

### v1.0a1r1 (Alpha) - 2018-07-09

* Complete C-Based SDK from ground-up with support for
* Basic conversation
* Multi-turn
* Audio playback - Saavn, TuneIn, Kindle
* Volume control (both physical and spoken)
* Tap-To-Talk
* Salvaged 75KB of internal memory as compared to CPP based port
* Phone app (Android) support for:
* Network configuration
* Alexa authentication

### v0.15

* Port of Amazon's CPP SDK (v1.3) with additional optimizations for embedded target
22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

ESPRESSIF MIT License

Copyright (c) 2018 <ESPRESSIF SYSTEMS (SHANGHAI) PTE LTD>

Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in which case,
it is free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Overview

The ESP-Alexa SDK provides an implementation of Amazon's Alexa Voice Service endpoint for ESP32 microcontroller. This facilitates the developers to evaluate ESP32 based Alexa integrated devices like speakers and IoT devices. Please refer to [Changelog](CHANGELOG.md) to track release changes and known-issues.

### About SDK

The SDK contains pre-built library of Alexa SDK along with sources of some of the utility components such as audio pipeline and connection manager. The SDK supports all major features of Alexa such as:
* Basic Alexa conversation
* Alexa dialogues and multi-turn
* Audio Streaming and Playback: Saavn, Amazon music, TuneIn (Only limited stations are supported as of now)
* Audio Book Support: Kindle, Audible
* Volume control via Alexa command
* Seek support for Audible
* Alerts/Timers, Reminders, Notifications

For now, Tap-To-Talk is the only interaction mode supported on LyraT.

## Supported Hardware

Release supports following hardware platforms:
* [ESP32-LyraT](https://www.espressif.com/en/products/hardware/esp32-lyrat)

The SDK can easily be extended to other ESP32 based audio platforms that have SPIRAM availability.

## Getting started

* 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.
* Please refer to [LyraT README](examples/lyrat_alexa/README.md) to get started with flashing, provisioning and Alexa interactions.
74 changes: 74 additions & 0 deletions components/audio_board/audio_board.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
* ESPRESSIF MIT License
*
* Copyright (c) 2018 <ESPRESSIF SYSTEMS (SHANGHAI) PTE LTD>
*
* Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in which case,
* it is free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished
* to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or
* substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
#ifndef __AUDIO_BOARD_H__
#define __AUDIO_BOARD_H__

#include <esp_types.h>

#include <driver/i2c.h>
#include <driver/i2s.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
* @brief returns i2s gpio config struct
*
* @param port_num i2s port number
* @param pf_i2s_pin i2s gpio init struct
*
*/
esp_err_t audio_board_i2s_pin_config(int port_num, i2s_pin_config_t *pf_i2s_pin);

/*
* @brief returns i2c config struct with gpio pins intialization
*
*@param port_num i2c port number
*@param pf_i2c_pin i2c gpio init struct
*
*/
esp_err_t audio_board_i2c_pin_config(int port_num, i2c_config_t *pf_i2c_pin);

/*
* @brief returns i2s default parameters init
*
*@param i2s_cfg_dft i2s param config structure
*
*/
esp_err_t audio_board_i2s_init_default(i2s_config_t *i2s_cfg_dft);

/*
* @brief gpio initialization for button
*
*@param adc1_channel_t adc gpio selection from struct
*
*/
esp_err_t audio_board_button_config(adc1_channel_t *pf_button_pin);

#ifdef __cplusplus
}
#endif

#endif
3 changes: 3 additions & 0 deletions components/audio_board/component.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

COMPONENT_ADD_INCLUDEDIRS := .

Loading

0 comments on commit 080f8dd

Please sign in to comment.