ㄷㅣㅆㅣ's Amusement

[AI] AVS Architecture - Alexa Voice Service SDK 본문

Programming

[AI] AVS Architecture - Alexa Voice Service SDK

ㄷㅣㅆㅣ 2018. 4. 11. 23:30

[AI] AVS Architecture - Alexa Voice Service SDK

반응형

AVS

Architecture of Alexa Voice Service


  • Audio Signal Processor
    • Third Party Module - Acoustic Echo Canceler, Beam Foaming, Vocie Activity Detection, Dynamic Range Compression 등 오디오 처리를 위한 처리.

  • Shared Data Stream
    • Ring buffer (Circular Buffer)로 구성되어 하나의 음성 입력을 여러 출력으로 내보낼 수 있도록 설계됨.
    • 버퍼의 형태는 Android AudioFlinger <-> HAL 의 방식과 비슷하지만 multi read가 추가지원되는 것으로 예상됨.

  • Key Word Detection
    • Sensory의 truely hands free - trigger와 동일.
    • 특정 wake word model을 처리하는 부분과 wake word 발화를 감지하는 부분으로 이루어져있다.
    • 누구 서비스의 "아리아" triggering.

  • Alexa Communication Libary
    • Alexa server와 연동하여 음성데이터를 전달하고 그에 알맞은 diractive를 전달받음.
    • HTTP/2를 이용한 통신
    • JSON format text 또는 audio binary.
    • NUGUCoreSDK와 동일함.

  • Alexa Directive Sequencer Library
    • Directive를 수행시키거나 각각의 sequence와 lifecycle을 관리, 
    • NUGUServiceSDK의 가장 큰 부분중 하나인 AISStateManager와 유사할 것으로 보임.

  • Capability Agent
    • SpeechRecognizer - The interface for speech capture.
    • SpeechSynthesizer - The interface for Alexa speech output.
    • Alerts - The interface for setting, stopping, and deleting timers and alarms.
    • AudioPlayer - The interface for managing and controlling audio playback.
    • Notifications - The interface for displaying notifications indicators.
    • PlaybackController - The interface for navigating a playback queue via GUI or buttons.
    • Speaker - The interface for volume control, including mute and unmute.
    • System - The interface for communicating product status/state to AVS.
    • TemplateRuntime - The interface for rendering visual metadata.

  • Activity FocusManager Library
    • 각각의 Capability Agent는 Audio channel을 가지는데, 여러 채널들이 한꺼번에 진행될 수는 있으나 foreground channel은 오직 한개만 존재함.
    • 따라서 여러 채널간에 우선순위에 따라 foreground channel 한 개를 선정해야 하므로 이것으로 관리하는 모듈을 따로 두었다.
    • 대략적으로 Dialog > Alerts > Content 순으로 우선순위를 가짐.



반응형

'Programming' 카테고리의 다른 글

[VoIP] WebRTC Components  (0) 2021.05.16
네이버 웹마스터 도구에서 robotDenied 오류 해결  (1) 2015.11.26
huffman code 작성법  (0) 2015.11.21
엑박의 압박  (0) 2015.10.31
Comments