Aurora C++ SDK & Proof of Concept. Final Report
|
|
- Barrie Sullivan
- 5 years ago
- Views:
Transcription
1 Aurora C++ SDK & Proof of Concept Final Report CS 130 Spring 2018 Discussion 1A Team Name: Team Yaacov James Dickie ( ) Seth Eisner ( ) Benjamin Lawson ( ) Jaron Mink ( ) Yaacov Tarko ( ) Nicandro Vergara ( )
2 1 Table of Contents 1. Motivation and Application Overview 3 2. Improvements Since Midterm Report 3 3. Features UML Use Case Diagram Use Case Descriptions 4 4. SDK Design UML Class Diagram Application Architecture General Application Architecture API Class Backend Class Config Class Text Class Speech Class Interpret Class AudioFile Class External Libraries C++ Requests PortAudio JSON for Modern C Libsndfile Google Test 8 5. User Interface Documentation 9 6. Testing Unit Tests Example Programs Proof of Concept GitHub Links Individual Contributions 15 James Dickie 15 Seth Eisner 15 Benjamin Lawson 16
3 2 Jaron Mink 16 Yaacov Tarko 16 Nicandro Vergara 16
4 3 1. Motivation and Application Overview The Aurora C++ SDK is a software library that helps facilitate the use of Aurora API services in C++ applications. This application abstracts away the intricacies of recording audio, playing audio, and making API requests to Aurora servers through a custom library intended for use by developers wishing to receive these services. It's main use is for internet-of-things (IoT) devices and thus performance and dependencies are of utmost importance in this SDK. Additionally, we created a small proof of concept program to help explain the general workflow of the SDK and to demonstrate how these services can be utilized by a simple C++ program. The C++ port of the Aurora API software development kit provides a high-level interface for Aurora s text-to-speech, speech-to-text, and language interpretation services. C++ application developers, our users, are able to have their applications utilize the SDK in order to receive resources from Aurora's API, located on their remote servers. This API is already directly accessible for C++ developers via an HTTP API however, it it is far more accessible to developers if an SDK abstracts the HTTP requests away and provides idiomatic classes and functions for the concepts of speech, text, and interpreting. The C++ SDK should make it easy to integrate Aurora s services with embedded systems and IoT devices, which have low memory and power requirements. 2. Improvements Since Midterm Report Since the midterm report, we have implemented all of the audio functionality needed in the SDK. The SDK now supports recording audio, playing audio, speech-to-text, and text-to-speech. Furthermore, our AudioFile class now supports writing and reading WAV files, and trimming or padding silence in audio. Additionally, we wrote many more unit tests and some example programs that exercise the functionality of our new classes and check for corner cases (where exceptions are thrown). Finally, we developed the proof-of-concept trivia game requested by our client that uses our API to implement a purely voice-based trivia game. In the game, the computer announces trivia questions, and the player speaks their answers. The computer then announces the final score. There has not been a need to make any significant design changes since the midterm report.
5 4 3. Features 3.1 UML Use Case Diagram Figure 3.1 Use Case Diagram showing the five use cases 3.2 Use Case Descriptions 1. Developer wishes to convert text to speech by invoking the speech class Example: A developer would like an IoT device to ask a question by converting the question to speech 2. Developer creates a scenario where a user of their program talks to device using either listen() or continuouslylisten() in order to create a speech object Example: A developer would like to record speech to either later manipulate or convert into text 3. Developer creates text from audio by either utilizing the Speech class or by using listenandtranscribe() Example: A developer would like to convert user speech into text so they can determine the interpretation
6 5 4. The device interprets a set of text to determine the user s intent and any entities that may have been detected in the utterance. Example: A developer is creating a voice activated lamp. They can implement the IoT to turn off or on based on the intents of turn off or turn on with the entities of light or lamp while ignoring things such as turn up the music 5. The developer manipulates or plays the audio data by using the AudioFile class and its methods Example: A developer would like to remove all silence from a recording and then save it as a wav file. 4. SDK Design 4.1 UML Class Diagram Figure 4.1: UML Class Diagram showing the class structure of the C++ sdk
7 6 4.2 Application Architecture General Application Architecture Figure 4.2: The design of the SDK This SDK will be used to communicate with the Aurora API Endpoint servers on behalf of a C++ application. Using this SDK provides a generous amount of abstraction, allowing the application to believe it is calling methods on local variables when it is in fact communicating with a database via an HTTP API. In Figure 4.2, there is a C++ application, such as our proof of concept trivia game, that is developed using the SDK. The SDK allows the developer to easily connect to the Aurora Endpoint server to facilitate development. In our proof of concept, the user will communicate with the application via speech. The application then uses the SDK to communicate with the server in order to learn how to respond to the user API Class The API class provides the backend methods that the Speech, Interpret, and Text classes use to invoke calls with the Aurora server. gettts() queries the Aurora TTS server with text and returns an audio file getsst() queries the Aurora SST server with an audio file and returns text getinterpret() queries the API with provided Text object and returns a list of intents and entities Backend Class The Backend class provides an abstraction of HTTP requests, with the call() method, that the API class uses to make requests to the Aurora API. The Text class is a container for a string object. It can be created by using a string or by transcribing audio. Interpret() uses the API class in order to create an interpret object based on the text Speech() uses the API class in order to create a speech object based on the text gettext() returns the text held as a string
8 Config Class The Config class is a container for API credentials that the user can set. The Backend class sends these credentials with each HTTP request Text Class The Text class is a container for a string object. It can be created by using a string or by transcribing audio. Interpret() uses the API class in order to create an interpret object based on the text Speech() uses the API class in order to create a speech object based on the text gettext() returns the text held as a string Speech Class The Speech class is an object created using an AudioFile, an API response to text, or by using the listen() method Text() uses the API in order to create a text version of the audio in the speech object Interpret Class The Interpret class holds interpretation of a text object. It has no methods outside of the constructor, but has two members Intent - a string that holds the intent of the text based on pre-determined values on the Aurora dashboard Entities - an unordered map of all entities mentioned in the text object. It is a key-value listing according to values on the Aurora dashboard AudioFile Class The AudioFile class has the purpose of playing, recording, and manipulating WAV data. WriteToFile() writes WAV data to the specified location. Pad(), PadLeft(), PadRight(), and TrimSilence() all adjust the data within the WAV Stop() and Play() allow the user to start and stop playing the underlying audio recording NewRecordingStream() records new audio based on given parameters of length
9 8 Figure 4.3: Class Interaction Workflow Class Workflow Diagram Above shows the general interactions between the user and the C++ SDK and within the SDK itself. 4.3 External Libraries A large portion of design considerations we had to make were decisions on choosing C/C++ libraries to utilize. A majority of project development time has been spent configuring CMake to build these libraries, reading library documentation, and then integrating these libraries with our SDK C++ Requests C++ Requests is a C++ wrapper around the popular C networking library libcurl. It abstracts the process of performing HTTP requests, which is needed in the SDK to make GET and POST requests to the Aurora API server.
10 PortAudio PortAudio is a cross-platform library for processing audio data. It enables recording and playing back audio data on most modern computers. It is needed in the SDK for the speech-to-text and text-to-speech functionality JSON for Modern C++ Unlike many other modern languages, the C++ standard library does not support parsing or creating JSON data structures. JSON for Modern C++ enables us to convert the response string from the Aurora API server into a C++ Map object, which is a practical format that can be given to the user Libsndfile Libsndfile is a popular C library for reading and writing audio data into common audio file formats. The Aurora API handles all audio in the WAV file format, so in order to avoid parsing and forming WAV file headers and bodies ourselves, we are using this library to abstract that process Google Test Google Test is an extremely popular library for creating unit tests for C++ code. It supports mocking classes so that we can insert stub method implementations and return dummy values and avoid making actual network requests. It also provides many types of assert statements and a framework for naming, setting up, executing, and tearing down groups of tests. 5. User Interface Since this project is an SDK, the users are developers and the user interface is the collection of high-level classes and public methods for interacting with the Aurora SDK. The front facing classes that users will be utilizing are Text, Speech, AudioFile, Interpret, and Config. The methods and members of these classes are described in the design section. Additionally, users can use the free functions listen(), listencontinuously(), and listenandtranscribe() to utilize the speech-to-text functionality of the SDK. There are several classes in our design that are not intended for users to use or even know about, and so they are not considered part of the user interface. They are implementation details. These classes include the API, WAV, and Backend classes.
11 Documentation Documentation is a critical part of the user s interaction with the SDK, and it is highly valued by our client. Most of our code is commented with Doxygen formatted comments, and we have a build target that generates Doxygen documentation files from our source files. The user interface of our SDK s Doxygen documentation looks like figure 5.1 and figure 5.2. Figure 5.1 : The list of classes and their descriptions.
12 11 Figure 5.2 : The documentation page of our Text class. It includes a detailed description of the interpret() method. Furthermore, our code repository s README file has many code examples illustrating how to use core features of our API.
13 12 Figure 5.3 : README code example documentation showing usage of Speech class. 6. Testing Both unit tests and example programs were used to detect bugs in our SDK and increase our confidence in the correctness of our software product. 6.1 Unit Tests The Google Test framework was chosen to automate our unit tests. These tests check each of the major classes in our design diagram. Most tests fall into one of two categories: those which attempt to ensure that the unit under test produces correct output when provided with valid input, and those which attempt to ensure that the program correctly detects and handles failures caused by invalid input or invalid server responses. After building the project with make, all tests can be run automatically with the make test command, as shown in figure 6.1.
14 13 Figure 6.1: Running all test groups and getting a results summary. Figure 6.2: Google Test output showing passing API class tests for interpretation, exceptions, and speech-to-text.
15 14 Every class used in our project is covered by unit tests. Unit tests cover nearly every substantial class method as well as most of our free functions. In order to test our Backend class, we created a MockBackend subclass which produces realistic output without communicating with the Aurora server. We test robustness in multiple scenarios in which the backend would be instantiated incorrectly, such as faulty credentials, bad call methods, and empty queries. The MockBackend subclass is also used to test other classes which depend on the Backend class s functionality, without requiring a connection to Aurora s servers. All classes are tested for an encompassing range of fault scenarios, including errors returned from the server, incorrect typing, empty or missing data, and missing or incorrect credentials. Additionally, all classes are tested using normal input data which is expected to result in successful execution, and the outputs of that class s functions are then compared with the expected outputs. After any bug was found, a test case was added which fails when the bug is present and passes after it is fixed. As a single example, the WAV class s trimsilent function is intended to delete segments below a volume threshold, except for a buffer of a specified length, from the beginning and end of a wav file. Tests include: Trimming segments below the maximum threshold and leaving no buffer, and ensuring the entire file is erased. Trimming segments below an intermediate threshold and leaving no buffer, and ensuring some but not all of the file is erased. Trimming segments below an intermediate threshold and attempting to leave a buffer larger than the entire file, and ensuring that none of the file is erased. This test case was added after a bug was located which caused the program to loop infinitely when the buffer was larger than the file. Trimming segments below a realistic threshold, and leaving a buffer of realistic size (similar to the way our program will actually use the function), and ensuring that the correct portion, and only the correct portion, of the file is deleted. 6.2 Example Programs In addition to unit tests, several example programs have been created to test and demonstrate the proper usage of our SDK s functionality. One example program takes English phrases (or other text strings) as input, posts them to the Aurora server, and retrieves and prints a JSON object describing the semantic meaning of the string. Another example program, our Proof of Concept game, is a broader test of our SDK s ability to listen to audio from a user s device microphone, convert its audio output to text using the Aurora server, convert stored text to audio using Aurora s server, and play that stored text over the user s microphone.
16 15 7. Proof of Concept The Proof of Concept is a trivia game designed to showcase the Text, Speech, and AudioFile functions. First the program converts a predefined list of questions to audio format using the Text class s speech() method. The program then plays this audio to the player, by utilizing the AudioFile class, and uses ListenAndTranscribe() to convert their speech to a Text object. The program then verifies the answer and plays audio indicating whether the user gave a correct or incorrect response. After all questions have been responded to, the program gives the user their total score. 8. GitHub Links Aurora API SDK GitHub: Aurora API SDK Tests Folder: Aurora API SDK Example Folder: Proof of Concept GitHub: 9. Individual Contributions James Dickie Wrote part of SRS Wrote most of midterm report Created midterm report diagrams Created midterm presentation Developed and tested Proof of Concept program Wrote most of final report Created final presentation Seth Eisner Started proof of concept Wrote midterm/final report introduction section Helped with midterm presentation Helped with final presentation
17 16 Benjamin Lawson Wrote large portion of SRS Configured CMake build systems for Aurora SDK & proof of concept Configured Doxygen documentation generation Implemented Backend, Speech, Text, AudioFile, and Config classes Wrote unit tests for API, Text, Backend, Speech, AudioFile classes Wrote code example documentation (README) Wrote External Libraries, User Interface, and Improvements sections of midterm & final report Midterm/Final presentation Documentation slide Recorded final presentation demo video Jaron Mink Implemented API class Implemented listenandtranscribe() function (speech-to-text) within Speech Class Implemented silence detection and trimming in record() function and rewrote to conform to client standards Formatted SRS in LaTex Wrote part of SRS Made SRS diagrams Developed midterm presentation demo program Wrote examples Created class workflow diagram for final presentation and final report Refined Final Report Yaacov Tarko Implemented WAV class to generate, read, and write.wav audio files Designed and implemented test cases for the WAV class Implemented utilities required for the WAV class. These functions were required to determine whether a WAV file is silent, calculate the root mean square of an array, and convert between little-endian byte arrays and unsigned integers of any available size. Assisted with configuration of CMake for automatic build management Wrote the Test section of the final report
18 17 Nicandro Vergara Formatted some of the midterm report Proofread midterm report with minor fixes Midterm & final presentation formatting Midterm presentation speaker notes Implemented CMake configuration bug fix for Windows systems Added testing and wrote requirements slides for final presentation
Voice activated spell-check
Technical Disclosure Commons Defensive Publications Series November 15, 2017 Voice activated spell-check Pedro Gonnet Victor Carbune Follow this and additional works at: http://www.tdcommons.org/dpubs_series
More informationVoice-controlled Home Automation Using Watson, Raspberry Pi, and Openwhisk
Voice-controlled Home Automation Using Watson, Raspberry Pi, and Openwhisk Voice Enabled Assistants (Adoption) Voice Enabled Assistants (Usage) Voice Enabled Assistants (Workflow) Initialize Voice Recording
More informationVoice Biometric Integration
Voice Biometric Integration Product Requirements Document, Version 2 November 28, 2016 Team Tres Commas Members: Jonathan Easterman, Sasha Shams, Arda Ungun, Carson Holoien, Vince Nicoara Mentors: Mike
More informationDevelop Mobile Front Ends Using Mobile Application Framework A - 2
Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4
More informationMRCP. Google SR Plugin. Usage Guide. Powered by Universal Speech Solutions LLC
Powered by Universal Speech Solutions LLC MRCP Google SR Plugin Usage Guide Revision: 6 Created: May 17, 2017 Last updated: January 22, 2018 Author: Arsen Chaloyan Universal Speech Solutions LLC Overview
More informationMichigan State University Team MSUFCU Banking with Amazon s Alexa and Apple s Siri Project Plan Spring 2017
1 Michigan State University Team MSUFCU Banking with Amazon s Alexa and Apple s Siri Project Plan Spring 2017 MSUFCU Contacts: Emily Fesler Collin Lochinski Judy Lynch Benjamin Maxim Andy Wardell Michigan
More informationSummary. Speech-Enabling Visual Basic 6 Applications with Microsoft SAPI Microsoft Corporation. All rights reserved.
Speech-Enabling Visual Basic 6 Applications with Microsoft SAPI 5.1 2001 Microsoft Corporation. All rights reserved. Summary Prerequisites You need no previous experience with speech recognition, but you
More informationApplication Development in ios 7
Application Development in ios 7 Kyle Begeman Chapter No. 1 "Xcode 5 A Developer's Ultimate Tool" In this package, you will find: A Biography of the author of the book A preview chapter from the book,
More informationIBM Image-Analysis Node.js
IBM Image-Analysis Node.js Cognitive Solutions Application Development IBM Global Business Partners Duration: 90 minutes Updated: Feb 14, 2018 Klaus-Peter Schlotter kps@de.ibm.com Version 1 Overview The
More informationYour Voice is Your Passport: Implementing Voice-driven Applications with Amazon Alexa
Your Voice is Your Passport: Implementing Voice-driven Applications with Amazon Alexa Stephen Lippens Solutions Architect slippens@microstrategy.com This presentation may include statements that constitute
More informationHKIoTDemo Documentation
HKIoTDemo Documentation Release 1.0 Eric Tran, Tyler Freckmann October 12, 2016 Contents 1 Video of the Demo 3 2 About the project 5 3 Challenges we ran into 7 4 Architecture Overview 9 4.1 Architecture
More informationMicrosoft speech offering
Microsoft speech offering Win 10 Speech APIs Local Commands with constrained grammar E.g. Turn on, turn off Cloud dictation Typing a message, Web search, complex phrases Azure marketplace Oxford APIs LUIS
More informationAastra 673xi / 675xi. Telephony with SIP Phones at the Aastra 800/OpenCom 100 Communications System User Guide
Aastra 673xi / 675xi Telephony with SIP Phones at the Aastra 800/OpenCom 100 Communications System User Guide Welcome to Aastra Thank you for choosing this Aastra product. Our product meets the strictest
More informationCisco Unified Workforce Optimization
Cisco Unified Workforce Optimization Quality Management Integration Guide for CAD and Finesse Version 10.5 First Published: June 2, 2014 Last Updated: September 15, 2015 THE SPECIFICATIONS AND INFORMATION
More informationUber Push and Subscribe Database
Uber Push and Subscribe Database June 21, 2016 Clifford Boyce Kyle DiSandro Richard Komarovskiy Austin Schussler Table of Contents 1. Introduction 2 a. Client Description 2 b. Product Vision 2 2. Requirements
More informationITP 342 Mobile App Dev. Audio
ITP 342 Mobile App Dev Audio File Formats and Data Formats 2 pieces to every audio file: file format (or audio container) data format (or audio encoding) File formats describe the format of the file itself
More informationEnhancing applications with Cognitive APIs IBM Corporation
Enhancing applications with Cognitive APIs After you complete this section, you should understand: The Watson Developer Cloud offerings and APIs The benefits of commonly used Cognitive services 2 Watson
More informationV-9908 Message Page Panel Programming Utility
General V-9908 Message Page Panel Programming Utility The Message Page Panel Programmer (MCPP.exe) is a Windows Tool used to record phrases for the Message Page Panel (V-9908), to save the digitized audio
More informationMRCP. AWS Lex Plugin. Usage Guide. Powered by Universal Speech Solutions LLC
Powered by Universal Speech Solutions LLC MRCP AWS Lex Plugin Usage Guide Revision: 2 Created: October 15, 2018 Last updated: November 1, 2018 Author: Arsen Chaloyan Universal Speech Solutions LLC Overview
More informationFusion Voic Plus User Guide For the iphone
Fusion Voicemail Plus User Guide For the iphone Welcome to Fusion Voicemail Plus! Fusion Voicemail Plus (FVM+) is a replacement for the ordinary voicemail that you use with your cellular phone company.
More informationCS 1110, LAB 3: MODULES AND TESTING First Name: Last Name: NetID:
CS 1110, LAB 3: MODULES AND TESTING http://www.cs.cornell.edu/courses/cs11102013fa/labs/lab03.pdf First Name: Last Name: NetID: The purpose of this lab is to help you better understand functions, and to
More informationParticipant User Guide, Version 2.6
Developers Integration Lab (DIL) Participant User Guide, Version 2.6 3/17/2013 REVISION HISTORY Author Date Description of Change 0.1 Laura Edens Mario Hyland 9/19/2011 Initial Release 1.0 Michael Brown
More informationCisco Unified Workforce Optimization
Cisco Unified Workforce Optimization Quality Management Integration Guide for CAD and Finesse Version 11.5 First Published: July 28, 2016 Last Updated: July 28, 2016 Cisco Systems, Inc. www.cisco.com THE
More informationDeveloping Intelligent Apps
Developing Intelligent Apps Lab 1 Creating a Simple Client Application By Gerry O'Brien Overview In this lab you will construct a simple client application that will call an Azure ML web service that you
More informationCaching. Caching Overview
Overview Responses to specific URLs cached in intermediate stores: Motivation: improve performance by reducing response time and network bandwidth. Ideally, subsequent request for the same URL should be
More informationSelenium Testing Course Content
Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference
More informationPodcasting: How to Create Your Own in 30-Minutes
Podcasting: How to Create Your Own in 30-Minutes Podcasts Included in this Tutorial: o What is a Podcast? o What are the Learning Benefits of Podcasts? o Creating a Podcast with Audacity o Creating a Podcast
More informationProgram Correctness and Efficiency. Chapter 2
Program Correctness and Efficiency Chapter 2 Chapter Objectives To understand the differences between the three categories of program errors To understand the effect of an uncaught exception and why you
More information2.5.1: Reforms in Continuous Internal Evaluation (CIE) System at the Institutional Level
D Y Patil Institute of Engineering and Technology, Ambi, Pune Address:Sr.No.124 & 126, A/p- Ambi, Tal-Maval, MIDC Road, TalegaonDabhade, Pune-410506, Maharashtra, India Tel: 02114306229, E-mail : info@dyptc.edu.in
More informationP2P Programming Assignment
P2P Programming Assignment Overview This project is to implement a Peer-to-Peer (P2P) networking project similar to a simplified Napster. You will provide a centralized server to handle cataloging the
More informationd. Delete data e. Transactions Realtime Features a. Value Listener b. Child Listener c. Remove Listeners
Contents 1. License... 5 2. Introduction... 5 3. Plugin updates... 7 a. Update from previous versions to 1.5.0... 7 4. Example project... 8 5. GitHub Repository... 8 6. Getting started... 9 7. Database
More informationCSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy
CSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy Project Overview In this project, you will implement a simple web proxy that passes requests and data between a web client and
More informationDESIGN AS RISK MINIMIZATION
THOMAS LATOZA SWE 621 FALL 2018 DESIGN AS RISK MINIMIZATION IN CLASS EXERCISE As you come in and take a seat What were the most important risks you faced in a recent software project? WHAT IS A RISK? WHAT
More informationBuild, Deploy & Operate Intelligent Chatbots with Amazon Lex
Build, Deploy & Operate Intelligent Chatbots with Amazon Lex Ian Massingham AWS Technical Evangelist @IanMmmm aws.amazon.com/lex 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
More informationAutomated Tagging to Enable Fine-Grained Browsing of Lecture Videos
Automated Tagging to Enable Fine-Grained Browsing of Lecture Videos K.Vijaya Kumar (09305081) under the guidance of Prof. Sridhar Iyer June 28, 2011 1 / 66 Outline Outline 1 Introduction 2 Motivation 3
More informationProject 2 Implementing a Simple HTTP Web Proxy
Project 2 Implementing a Simple HTTP Web Proxy Overview: CPSC 460 students are allowed to form a group of up to 3 students. CPSC 560 students each must take it as an individual project. This project aims
More informationForm. Settings, page 2 Element Data, page 7 Exit States, page 8 Audio Groups, page 9 Folder and Class Information, page 9 Events, page 10
The voice element is used to capture any input from the caller, based on application designer-specified grammars. The valid caller inputs can be specified either directly in the voice element settings
More informationUCT Application Development Lifecycle. UCT Business Applications
UCT Business Applications Page i Table of Contents Planning Phase... 1 Analysis Phase... 2 Design Phase... 3 Implementation Phase... 4 Software Development... 4 Product Testing... 5 Product Implementation...
More informationApptec Corporation. Our products and solutions make your work easier!
PCRRecorder Voice-Activated Pedal Controlled PC Recorder DigiLog Manual Installation, setup and use. Availability and specifications subject to change without notice. Version 08.00.04 COPYRIGHT Copyright
More informationx. The optional Cross-compiler word set x.1 Introduction x.2 Additional terms and notation x.2.1 Definitions of terms
x. The optional Cross-compiler word set x.1 Introduction The purpose of this optional wordset is to facilitate writing programs that may be compiled to run on s other than the system performing the compilation.
More informationProject 2 Group Project Implementing a Simple HTTP Web Proxy
Project 2 Group Project Implementing a Simple HTTP Web Proxy Overview: This is a group project. CPSC 460 students are allowed to form a group of 3-4 students (It is ok if you want to take it as an individual
More informationCisco CVP VoiceXML 3.0. Element Specifications
Cisco CVP VoiceXML 3.0 CISCO CVP VOICEXML 3.0 Publication date: 14 January 2005 Copyright (C) 2000-2005 Audium Corporation. All rights reserved. Distributed by Cisco Systems, Inc. under license from Audium
More informationSelection tool - for selecting the range of audio you want to edit or listen to.
Audacity Quick Guide Audacity is an easy-to-use audio editor and recorder. You can use Audacity to: Record live audio. Convert tapes and records into digital recordings or CDs. Edit sound files. Cut, copy,
More informationHow A Website Works. - Shobha
How A Website Works - Shobha Synopsis 1. 2. 3. 4. 5. 6. 7. 8. 9. What is World Wide Web? What makes web work? HTTP and Internet Protocols. URL s Client-Server model. Domain Name System. Web Browser, Web
More informationCS112 Lecture: Exceptions and Assertions
Objectives: CS112 Lecture: Exceptions and Assertions 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions 3. Introduce assertions Materials: 1. Online Java documentation
More informationEXIT ENGLISH TEST (EET) SPEAKING
EXIT ENGLISH TEST (EET) SPEAKING User Guide for Students AKADEMI PENGAJIAN BAHASA UiTM Instructions for Users Please make sure your computer is installed with the latest ADOBE PLAYER. Download: www.adobe.com
More informationGuideAutomator: Automated User Manual Generation with Markdown
GuideAutomator: Automated User Manual Generation with Markdown Allan dos Santos Oliveira 1, Rodrigo Souza 1 1 Department of Computer Science Federal University of Bahia (UFBA) Salvador BA Brazil allanoliver@dcc.ufba.br,
More informationHow Agencies are Developing Accessible E-Government. By Stephen Condon Software Engineer Fig Leaf Software
How Agencies are Developing Accessible E-Government By Stephen Condon Software Engineer Fig Leaf Software www.figleaf.com scondon@figleaf.com 1 Objectives 2 Define a custom skill for Amazon Alexa Define
More informationP2: Collaborations. CSE 335, Spring 2009
P2: Collaborations CSE 335, Spring 2009 Milestone #1 due by Thursday, March 19 at 11:59 p.m. Completed project due by Thursday, April 2 at 11:59 p.m. Objectives Develop an application with a graphical
More informationSpeaker Recognition Enhanced Voice Conference
Advanced Internet Service Project Report Speaker Recognition Enhanced Voice Conference Yancheng Li, Liang Wei, Zhaoyuan Zhang I. Introduction With the development of the whole world, more and more people
More informationCommunication Manager API Release Notes Release 2.1, Build , May
INTRODUCTION Communication Manager API Release Notes Release 2.1, Build 2.1.25, May 2005 03-300136 This document introduces the latest release of the Communication Manager API (Release 2.1), describes
More informationIntroducing working with sounds in Audacity
Introducing working with sounds in Audacity A lot of teaching programs makes it possible to add sound to your production. The student can either record her or his own voice and/or add different sound effects
More informationRegis University CC&IS CS362 Data Structures
Regis University CC&IS CS362 Data Structures Programming Assignment #5 (covers classes and objects) Due: midnight Sunday of week 6 A college wants to you to write a test program for tracking their course
More informationDevelop Unified SNMP, XML, CLI, and Web-based Management for Embedded Real-Time Systems with MIBGuide
1 Overview Develop Unified SNMP, XML, CLI, and Web-based Management for Embedded Real-Time Systems with MIBGuide SNMP Research International, Inc. Knoxville, Tennessee 1 Overview Support for remote management
More informationBeginning jquery. Course Outline. Beginning jquery. 09 Mar
Course Outline 09 Mar 2019 Contents 1. Course Objective 2. Pre-Assessment 3. Exercises, Quizzes, Flashcards & Glossary Number of Questions 4. Expert Instructor-Led Training 5. ADA Compliant & JAWS Compatible
More informationCMPSCI 145 MIDTERM #1 Solution Key. SPRING 2017 March 3, 2017 Professor William T. Verts
CMPSCI 145 MIDTERM #1 Solution Key NAME SPRING 2017 March 3, 2017 PROBLEM SCORE POINTS 1 10 2 10 3 15 4 15 5 20 6 12 7 8 8 10 TOTAL 100 10 Points Examine the following diagram of two systems, one involving
More informationLeveraging the Globus Platform in your Web Applications. GlobusWorld April 26, 2018 Greg Nawrocki
Leveraging the Globus Platform in your Web Applications GlobusWorld April 26, 2018 Greg Nawrocki greg@globus.org Topics and Goals Platform Overview Why expose the APIs A quick touch of the Globus Auth
More information1. Rich video conference control. Video Conferencing. System Solutions. Video Conferencing System
Video Conferencing System Solutions SparkleConference-Video Supports single node video conferencing for 100 people Supports multi-node overlay Support standard SIP rfc-4579 conference control protocol
More informationMenu Support for 2_Option_Menu Through 10_Option_Menu
Menu Support for 2_Option_Menu Through 10_Option_Menu These voice elements define menus that support from 2 to 10 options. The Menu voice elements are similar to the Form voice element, however the number
More informationDocumenting APIs with Swagger. TC Camp. Peter Gruenbaum
Documenting APIs with Swagger TC Camp Peter Gruenbaum Introduction } Covers } What is an API Definition? } YAML } Open API Specification } Writing Documentation } Generating Documentation } Alternatives
More informationLeveraging the OO Jenkins Plugin in DevOps scenarios
Leveraging the OO Jenkins Plugin in DevOps scenarios HP OO Webinar, October 2015 Remus Golgot, HP Operations Orchestration RnD Agenda Introduction Overview OO Jenkins Plugin Download and Installation Configurations
More informationA Mini Challenge: Build a Verifiable Filesystem
A Mini Challenge: Build a Verifiable Filesystem Rajeev Joshi and Gerard J. Holzmann Laboratory for Reliable Software, Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA 91109,
More informationA GET YOU GOING GUIDE
A GET YOU GOING GUIDE To Your copy here Audio Notetaker 4.0 April 2015 1 Learning Support Getting Started with Audio Notetaker Audio Notetaker is highly recommended for those of you who use a Digital Voice
More informationEnglish. Smart API Using Smart API for open data and in the sharing economy
English Smart API Using Smart API for open data and in the sharing economy Table of Contents 1. Why and how should you share data... 1 2. Smart API Sharing... 2 2.1. How does it work... 2 2.2. How to take
More informationCS112 Lecture: Exceptions. Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions
CS112 Lecture: Exceptions Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions Materials: 1. Online Java documentation to project 2. ExceptionDemo.java to
More informationTYPIO BY ACCESSIBYTE LLC
TYPIO BY ACCESSIBYTE LLC All information contained is Accessibyte LLC 1 OVERVIEW 1. Forward Thank you for using Typio! The intent of Typio is to teach touch typing to students in the most accessible and
More informationITP 342 Mobile App Development. APIs
ITP 342 Mobile App Development APIs API Application Programming Interface (API) A specification intended to be used as an interface by software components to communicate with each other An API is usually
More informationLucidWorks: Searching with curl October 1, 2012
LucidWorks: Searching with curl October 1, 2012 1. Module name: LucidWorks: Searching with curl 2. Scope: Utilizing curl and the Query admin to search documents 3. Learning objectives Students will be
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationFull Stack Developer with Java
Full Stack Developer with Java Full Stack Developer (Java) MVC, Databases and ORMs, API Backend Frontend Fundamentals - HTML, CSS, JS Unit Testing Advanced Full Stack Developer (Java) UML, Distributed
More informationUSER GUIDE FOR TWO MICROPHONE DIRECTION OF ARRIVAL ESTIMATION ON ANDROID SMARTPHONE FOR HEARING AID APPLICATIONS
USER GUIDE FOR TWO MICROPHONE DIRECTION OF ARRIVAL ESTIMATION ON ANDROID SMARTPHONE FOR HEARING AID APPLICATIONS Anshuman Ganguly, Abdullah Kucuk, Yiya Hao, Dr. Issa M.S. Panahi STATISTICAL SIGNAL PROCESSING
More informationSalesforce1 - ios App (Phone)
Salesforce1 - ios App (Phone) Web Content Accessibility Guidelines 2.0 Level A and AA Voluntary Product Accessibility Template (VPAT) This Voluntary Product Accessibility Template, or VPAT, is a tool that
More informationAlexa, what did I do last summer?
, what did I do last summer? Vladimir Katalov, ElcomSoft SecTor 2018 ElcomSoft Ltd. www.elcomsoft.com 1 Who s Alexa? Amazon Alexa is a virtual assistant developed by Amazon She s 4 years young First appeared
More informationLibelium Cloud Hive. Technical Guide
Libelium Cloud Hive Technical Guide Index Document version: v7.0-12/2018 Libelium Comunicaciones Distribuidas S.L. INDEX 1. General and information... 4 1.1. Introduction...4 1.1.1. Overview...4 1.2. Data
More informationManagement of Prompts, Grammars, Documents, and Custom Files
Management of Prompts, Grammars, Documents, and Custom Files Manage Prompt Files Unified CCX applications can make use of many auxiliary files that interact with callers, such as scripts, pre-recorded
More informationRESTFUL WEB SERVICES - INTERVIEW QUESTIONS
RESTFUL WEB SERVICES - INTERVIEW QUESTIONS http://www.tutorialspoint.com/restful/restful_interview_questions.htm Copyright tutorialspoint.com Dear readers, these RESTful Web services Interview Questions
More informationTesting & Debugging TB-1
Testing & Debugging TB-1 Need for Testing Software systems are inherently complex» Large systems 1 to 3 errors per 100 lines of code (LOC) Extensive verification and validiation is required to build quality
More informationActions on Landing Pages
Technical Disclosure Commons Defensive Publications Series July 03, 2017 Actions on Landing Pages John D. Lanza Foley & Lardner LLP John D. Lanza Foley & Lardner LLP Follow this and additional works at:
More informationSonatype CLM - Release Notes. Sonatype CLM - Release Notes
Sonatype CLM - Release Notes i Sonatype CLM - Release Notes Sonatype CLM - Release Notes ii Contents 1 Introduction 1 2 Upgrade instructions 2 3 Sonatype CLM for Bamboo 3 4 Sonatype CLM 1.13 4 5 Sonatype
More informationSoftware Test Plan Version 1.0
Software Test Plan Version 1.0 3/23/2017 Team Name: Skyward Team Members: Gage Cottrell Justin Kincaid Chris French Alexander Sears Sponsors: Dr. Michael Mommert and Dr. David Trilling Mentor: Dr. Otte
More informationLecture 15 Software Testing
Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered
More informationIF YOU D LIKE TO BUILD ALONG WITH ME
IF YOU D LIKE TO BUILD ALONG WITH ME 1. Visual Studio 2015 (or newer) with AWS Toolkit for Visual Studio https://aws.amazon.com/visualstudio/ 2. Sign up for an AWS Account (Free, requires credit card):
More informationManual Cellip 365 Centrex Dashboard Audio Library Recording a Sound File Auto attendant (IVR)...
TABLE OF CONTENTS Manual Cellip 365 Centrex... 2 1. Dashboard... 2 2. Audio Library... 2 2.1 Recording a Sound File... 3 3. Auto attendant (IVR)... 3 4. Response group... 6 4.1 Change the name of the response
More informationNabto SDK Nabto Serial Link Protocol
Nabto SDK Nabto Serial Link Protocol Nabto/001/TEN/011 Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 1 of 23 Vocabulary Contents 1 Vocabulary... 4 2 Introduction... 5 3 Access control... 5 3.1
More informationBiocomputing II Coursework guidance
Biocomputing II Coursework guidance I refer to the database layer as DB, the middle (business logic) layer as BL and the front end graphical interface with CGI scripts as (FE). Standardized file headers
More informationJob Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.1
Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.1 December 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22
More information1 P age NEXTIVA CALL CENTER. Supervisor User Guide. nextiva.com/support 2015 NEXTIVA, ALL RIGHTS RESERVED
1 P age NEXTIVA CALL CENTER Supervisor User Guide nextiva.com/support 2015 NEXTIVA, ALL RIGHTS RESERVED 2 P age Creating Employees... 3 Creating an Employee... 3 Assigning Licenses to Employees... 7 Schedules...
More informationChapter Ten String Manipulation and Menus
Microsoft Visual Basic 2015: Reloaded Sixth Edition Chapter Ten String Manipulation and Menus Objectives After studying this chapter, you should be able to: Determine the number of characters in a string
More informationOhio s State Tests and Ohio English Language Proficiency Assessment Practice Site Guidance Document Updated September 14, 2018
Ohio s State Tests and Ohio English Language Proficiency Assessment Practice Site Guidance Document Updated September 14, 2018 This document covers the following information: What s new for 2018-2019 About
More informationOn the right side, you will find a headphone jack closest to you, followed by Volume Down and Volume Up buttons.
8GB Micro-Speak Plus User Guide Thank you for purchasing the Micro-Speak Talking Digital Voice Recorder from Talking Products Limited and A T Guys. Let s get you oriented so you can use your new recorder
More informationTESL-EJ 11.1, June 2007 Audacity/Alameen 1
June 2007 Volume 11, Number1 Title: Audacity 1.2.6 Publisher: Product Type: Platform: Minimum System Requirements: Developed by a group of volunteers and distributed under the GNU General Public License
More informationJavadoc. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 7
Javadoc Computer Science and Engineering College of Engineering The Ohio State University Lecture 7 Motivation Over the lifetime of a project, it is easy for documentation and implementation to diverge
More informationdoor Sasa Berberovic
door Sasa Berberovic Overview Reusable Components Subsystems Reusable Components Reuse Mechanisms The Role of Testing in Reuse Reusing Test Suites Test Design Patterns Abstract Class Test Generic Class
More informationApplication Note for Emergency Broadcast System PHP Sample Code - Issue 1.0
Avaya Solution & Interoperability Test Lab Application Note for Broadcast System PHP Sample Code - Issue 1.0 Abstract These Application Notes describes the installation and operation of the Broadcast System
More informationManagement of Prompts, Grammars, Documents, and Custom Files
Management of Prompts, Grammars, Documents, and Custom Files Unified CCX applications can make use of many auxiliary files that interact with callers, such as scripts, pre-recorded prompts, grammars, and
More informationDialog Designer Call Flow Elements
Dialog Designer Call Flow Elements A DevConnect Tutorial Table of Contents Section 1: Dialog Designer Call Flow Elements Section 1: Dialog Designer Call Flow Elements... 1 1.1 About this Tutorial When
More informationB. Subject Workbook. Introduction. Tutorial
183 B. Subject Workbook Introduction In this experiment we hope to discover whether a technique known as musical program auralisation creates musical representations of Pascal programs that are easily
More informationMRCP. Kaldi SR Plugin. Usage Guide. Powered by Universal Speech Solutions LLC
Powered by Universal Speech Solutions LLC MRCP Kaldi SR Plugin Usage Guide Revision: 1 Created: February 6, 2018 Last updated: February 6, 2018 Author: Arsen Chaloyan Universal Speech Solutions LLC Overview
More informationMRCP. Yandex SS Plugin. Usage Guide. Powered by Universal Speech Solutions LLC
Powered by Universal Speech Solutions LLC MRCP Yandex SS Plugin Usage Guide Revision: 1 Created: November 19, 2018 Last updated: November 19, 2018 Author: Arsen Chaloyan Universal Speech Solutions LLC
More informationDistributed Systems 8. Remote Procedure Calls
Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier
More information