A Javascript Library for Music and Audio Analysis on the Web

Total Page:16

File Type:pdf, Size:1020Kb

A Javascript Library for Music and Audio Analysis on the Web ESSENTIA.JS: A JAVASCRIPT LIBRARY FOR MUSIC AND AUDIO ANALYSIS ON THE WEB Albin Correya1 Dmitry Bogdanov1 Luis Joglar-Ongay1;2 Xavier Serra1 1 Music Technology Group, Universitat Pompeu Fabra, Barcelona, Spain 2 SonoSuite, Barcelona, Spain [email protected], [email protected] ABSTRACT applications arguably makes it one of the most used com- puter programming languages in the recent years [2]. JS is Open-source software libraries for audio/music analysis also widely used as an entry-level programming language and feature extraction have a significant impact on the de- by the thinkers from design, art, computer graphics, archi- velopment of Audio Signal Processing and Music Infor- tecture, and spaces in between where audio processing and mation Retrieval (MIR) systems. Despite the abundance analysis can be relevant. of such tools on the native computing platforms, there is With the adoption of both HTML5 and the W3C Web a lack of an extensive and easy-to-use reference library Audio API specifications [14], modern web browsers are for audio feature extraction on the Web. In this paper, capable of audio processing, synthesis, and analysis with- we present Essentia.js, an open-source JavaScript (JS) li- out any third-party dependencies on proprietary software. brary for audio and music analysis on both web clients This allows developers to move most of the audio process- and JS-based servers. Along with the Web Audio API, it ing code from the server to the client and can provide better can be used for efficient and robust real-time audio fea- scalability and deployment, considering that the web-client ture extraction on the web browsers. Essentia.js is modu- has computational resources for the required processing. lar, lightweight, and easy-to-use, deploy, maintain and in- Web Audio API provides a JS interface to various prede- tegrate into the existing plethora of JS libraries and Web fined nodes for audio processing, synthesis, and analysis. technologies. It is powered by a WebAssembly back-end Even though the provided capabilities are limited, the API of the Essentia C++ library, which facilitates a JS interface includes the ScriptProcessorNode for developers to add to a wide range of low-level and high-level audio features. custom JS code for audio processing. 2 The design of this It also provides a higher-level JS API and add-on MIR util- node has been criticized by the audio developer commu- ity modules along with extensive documentation, usage ex- nity since it runs the JS audio processing code on the main amples, and tutorials. We benchmark the proposed library UI thread, which can result in unreliable performance and on two popular web browsers, Node.js engine, and An- audio glitching [15]. As an alternative, AudioWorklet [10] droid devices, comparing it to the native performance of has been introduced to mitigate this design issue to a great Essentia and Meyda JS library. extent by allowing running custom audio processing code on a dedicated audio thread. It also allows bi-directional communication between the audio thread and the control 1. INTRODUCTION thread of Web Audio API asynchronously using the web The Web has become one of the most used computing message ports. platforms with billions of web pages served daily, and JS Despite all of these recent developments of Web Audio being an essential part of building modern web applica- technologies, the Audio Signal Processing and MIR com- tions. Using HTML, CSS, and JS, developers can make munities still lack reliable and modular software tools and dynamic, interactive, and responsive web pages by imple- libraries that could be easily used for building audio and menting custom client-side scripts. At the same time, the music analysis applications for web browsers and JS run- developers can also use cross-platform run-time engines time engines. To the best of our knowledge, Meyda [11] like Node.js 1 to write server-side code in JS. The flexi- and JS-Xtract [18] are the few available JS libraries that bility of using JS on both server and client ends of web are ready-to-use and have implementations of a limited set of MIR audio features. 3 The lack of more extensive al- 1 https://nodejs.org ternatives is not surprising, given that writing a new JS audio analysis library from scratch would require a lot of effort. Also, JS code for audio processing are prone to per- c Albin Correya, Dmitry Bogdanov, Luis Joglar-Ongay, Xavier Serra. Licensed under a Creative Commons Attribution 4.0 In- formance issues due to the just-in-time (JIT) compilation ternational License (CC BY 4.0). Attribution: Albin Correya, Dmitry and garbage collection overhead, which can be critical for Bogdanov, Luis Joglar-Ongay, Xavier Serra. “Essentia.js: A JavaScript Library for Music and Audio Analysis on the Web”, 21st International 2 https://www.w3.org/TR/webaudio/ Society for Music Information Retrieval Conference, Montréal, Canada, #scriptprocessornode 2020. 3 As of May 2020, Meyda only has 20 MIR algorithms. real-time audio and music analysis tasks. Due to these rea- sons, researchers and developers often rely on server-side audio processing solutions using the existing native MIR tools for writing the required web applications. Over the last two decades, the existing software tools for audio analysis have been mostly written in C/C++, Java and Python and delivered as standalone applications, host application plug-ins, or as software library packages. Soft- ware libraries with a Python API, such as Essentia [7], Li- brosa [23], Madmom [6], Yaafe [22] and Aubio [8], have been especially popular within the MIR community due to rapid prototyping and rich environment for scientific com- Figure 1: Overview of the Essentia.js library in terms of putations. Meanwhile, the libraries with a native C/C++ its abstraction levels. back-end offered faster analysis [24] and were often re- quired for writing industrial audio applications. Various web applications for audio processing and analysis have machine learning frameworks. been developed using these tools. Spotify API 4 (formerly In [24], the authors evaluated a wide range of MIR soft- Echonest), Freesound API [13] and AcousticBrainz [25] ware libraries in terms of coverage, effort, presentation, are examples of web services providing precomputed au- time-lag and found Essentia 7 [7] to be an overall best per- dio features to the end users via a REST API. Besides, nu- former with respect to these criteria. Essentia is an open- merous web applications were built for aiding tasks such source library for audio and music analysis released under as crowd sourcing audio annotations [9, 12], audio listen- the AGPLv3 license providing a wide range of optimized ing tests [19, 26] and music education platforms [1, 21] to algorithms (over 250 algorithms) that are successfully used mention a few. All these services manage their audio anal- in various academic and industrial large-scale applications. ysis on the server, which may require a significant effort Essentia includes both low-level and high-level audio fea- and resources to scale to many users. tures, along with some ready-to-use features extractors. With the recent arrival of WebAssembly (WASM) sup- And, it provides an object-oriented interface to fine tune port on most of the modern web browsers [16], one can each algorithm in detail. Given all these advantages and safely port the existing C/C++ audio processing and anal- that the code repository is consistently maintained by its ysis code into the Web Audio ecosystem using com- developers, it is a good potential choice for porting into piler toolchains such as Emscripten. 5 WASM is a low- WASM target for the web platform. level assembly-like language with a compact binary format In this paper, we present Essentia.js, an open-source JS that runs with near-native performances on modern web library for audio and music analysis on the web, released browsers or any WebAssembly-based stacks without com- under the AGPLv3 license. It allows building audio analy- promising security, portability and load time. WASM code sis and MIR applications for web browsers and JS engines was found to be comparatively faster than JS code [17] and such as Node.js. It provides straightforward integration generates no garbage from the code and can run within Au- with the latest W3C Web Audio API specification allow- dioWorkletProcessor. 6 This makes it an ideal solution to ing efficient real-time audio feature extraction on the web the problems that were previously hindering us from build- browsers. Web applications written using the proposed li- ing efficient and reliable JS MIR libraries for the web plat- brary can also be cross-compiled to native targets such as form [20]. However, taking full advantage of all these fea- for PCs, smartphones, and IoT devices using the JS frame- tures can be challenging because it requires understand- works like Electron 8 and React Native. 9 ing concurrent programming wrapped with several JS APIs The rest of the paper is organized as follows. Section 2 and dealing with cross-compilation and linking of the na- outlines the design choices, software architecture and var- tive code. Even for experienced developers, compiling na- ious components of Essentia.js. An overview of potential tive code to WASM targets, generating JS bindings, and in- use-cases and usage examples are detailed in Section 3. tegrating them in a regular JS processing code pipeline can A detailed benchmarking of Essentia.js across and against be cumbersome. Hence, it is essential that an ideal JS MIR various platforms and alternative JS libraries can found in software library should encapsulate and abstract all these Section 4.
Recommended publications
  • Stable/Build) • --Port PORT - Set the PORT Number (Default: 8000)
    Pyodide Release 0.18.1 unknown Sep 16, 2021 CONTENTS 1 Using Pyodide 3 1.1 Getting started..............................................3 1.2 Downloading and deploying Pyodide..................................6 1.3 Using Pyodide..............................................7 1.4 Loading packages............................................ 12 1.5 Type translations............................................. 14 1.6 Pyodide Python compatibility...................................... 25 1.7 API Reference.............................................. 26 1.8 Frequently Asked Questions....................................... 50 2 Development 55 2.1 Building from sources.......................................... 55 2.2 Creating a Pyodide package....................................... 57 2.3 How to Contribute............................................ 64 2.4 Testing and benchmarking........................................ 74 2.5 Interactive Debugging.......................................... 76 3 Project 79 3.1 About Pyodide.............................................. 79 3.2 Roadmap................................................. 80 3.3 Code of Conduct............................................. 82 3.4 Governance and Decision-making.................................... 83 3.5 Change Log............................................... 85 3.6 Related Projects............................................. 95 4 Indices and tables 97 Python Module Index 99 Index 101 i ii Pyodide, Release 0.18.1 Python with the scientific stack, compiled to WebAssembly.
    [Show full text]
  • Machine Learning in the Browser
    Machine Learning in the Browser The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:38811507 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#LAA Machine Learning in the Browser a thesis presented by Tomas Reimers to The Department of Computer Science in partial fulfillment of the requirements for the degree of Bachelor of Arts in the subject of Computer Science Harvard University Cambridge, Massachusetts March 2017 Contents 1 Introduction 3 1.1 Background . .3 1.2 Motivation . .4 1.2.1 Privacy . .4 1.2.2 Unavailable Server . .4 1.2.3 Simple, Self-Contained Demos . .5 1.3 Challenges . .5 1.3.1 Performance . .5 1.3.2 Poor Generality . .7 1.3.3 Manual Implementation in JavaScript . .7 2 The TensorFlow Architecture 7 2.1 TensorFlow's API . .7 2.2 TensorFlow's Implementation . .9 2.3 Portability . .9 3 Compiling TensorFlow into JavaScript 10 3.1 Motivation to Compile . 10 3.2 Background on Emscripten . 10 3.2.1 Build Process . 12 3.2.2 Dependencies . 12 3.2.3 Bitness Assumptions . 13 3.2.4 Concurrency Model . 13 3.3 Experiences . 14 4 Results 15 4.1 Benchmarks . 15 4.2 Library Size . 16 4.3 WebAssembly . 17 5 Developer Experience 17 5.1 Universal Graph Runner .
    [Show full text]
  • Javascript API Deprecation in the Wild: a First Assessment
    JavaScript API Deprecation in the Wild: A First Assessment Romulo Nascimento, Aline Brito, Andre Hora, Eduardo Figueiredo Department of Computer Science Federal University of Minas Gerais, Brazil romulonascimento, alinebrito, andrehora,figueiredo @dcc.ufmg.br { } Abstract—Building an application using third-party libraries of our knowledge, there are no detailed studies regarding API is a common practice in software development. As any other deprecation in the JavaScript ecosystem. software system, code libraries and their APIs evolve over JavaScript has become extremely popular over the last years. time. In order to help version migration and ensure backward According to the Stack Overflow 2019 Developer Survey1, compatibility, a recommended practice during development is to deprecate API. Although studies have been conducted to JavaScript is the most popular programming language in this investigate deprecation in some programming languages, such as platform for the seventh consecutive year. GitHub also reports Java and C#, there are no detailed studies on API deprecation that JavaScript is the most popular language in terms of unique in the JavaScript ecosystem. This paper provides an initial contributors to both public and private repositories2. The npm assessment of API deprecation in JavaScript by analyzing 50 platform, the largest JavaScript package manager, states on popular software projects. Initial results suggest that the use of 3 deprecation mechanisms in JavaScript packages is low. However, their latest survey that 99% of JavaScript developers rely on wefindfive different ways that developers use to deprecate API npm to ease the management of their project dependencies. in the studied projects. Among these solutions, deprecation utility This survey also points out the massive growth in npm usage (i.e., any sort of function specially written to aid deprecation) and that started about 5 years ago.
    [Show full text]
  • Create Mobile Apps with HTML5, Javascript and Visual Studio
    Create mobile apps with HTML5, JavaScript and Visual Studio DevExtreme Mobile is a single page application (SPA) framework for your next Windows Phone, iOS and Android application, ready for online publication or packaged as a store-ready native app using Apache Cordova (PhoneGap). With DevExtreme, you can target today’s most popular mobile devices with a single codebase and create interactive solutions that will amaze. Get started today… ・ Leverage your existing Visual Studio expertise. ・ Build a real app, not just a web page. ・ Deliver a native UI and experience on all supported devices. ・ Use over 30 built-in touch optimized widgets. Learn more and download your free trial devexpress.com/mobile All trademarks or registered trademarks are property of their respective owners. Untitled-4 1 10/2/13 11:58 AM APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE INSIDE Choose a Cloud Network for Government-Compliant magazine Applications Geo-Visualization of SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Government Data Sources Harness Open Data with CKAN, OData and Windows Azure Engage Communities with Open311 THE DIGITAL GOVERNMENT ISSUE Inside the tools, technologies and APIs that are changing the way government interacts with citizens. PLUS SPECIAL GOVERNMENT ISSUE APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Enhance Services with Windows Phone 8 Wallet and NFC Leverage Web Assets as Data Sources for Apps APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE ISSUE GOVERNMENT SPECIAL DEVELOPMENT & APPLICATIONS Untitled-1 1 10/4/13 11:40 AM CONTENTS OCTOBER 2013/SPECIAL GOVERNMENT ISSUE OCTOBER 2013/SPECIAL GOVERNMENT ISSUE magazine FEATURES MOHAMMAD AL-SABT Editorial Director/[email protected] Geo-Visualization of Government KENT SHARKEY Site Manager Data Sources MICHAEL DESMOND Editor in Chief/[email protected] Malcolm Hyson ..........................................
    [Show full text]
  • Javascript Client Guide
    JavaScript Client Guide Target API: Lightstreamer JavaScript Client v. 6.1.4 Last updated: 15/07/2014 Table of contents 1 INTRODUCTION................................................................................................................3 2 JAVASCRIPT CLIENT DEVELOPMENT.........................................................................................4 2.1 Deployment Architecture..................................................................................4 2.1.1 Deployment and Browsers................................................................................4 2.2 Site/Application Architecture.............................................................................5 2.3 The LightstreamerClient...................................................................................6 2.3.1 Using an AMD loader........................................................................................7 2.3.2 Using Global Objects........................................................................................9 2.3.3 Name Clashes................................................................................................10 2.3.4 LightstreamerClient in a Web Worker...............................................................11 2.3.5 The Node.js case............................................................................................12 2.4 The Subscription Listeners..............................................................................13 2.4.1 StaticGrid.......................................................................................................13
    [Show full text]
  • Extracting Taint Specifications for Javascript Libraries
    Extracting Taint Specifications for JavaScript Libraries Cristian-Alexandru Staicu Martin Toldam Torp Max Schäfer TU Darmstadt Aarhus University GitHub [email protected] [email protected] [email protected] Anders Møller Michael Pradel Aarhus University University of Stuttgart [email protected] [email protected] ABSTRACT ACM Reference Format: Modern JavaScript applications extensively depend on third-party Cristian-Alexandru Staicu, Martin Toldam Torp, Max Schäfer, Anders Møller, and Michael Pradel. 2020. Extracting Taint Specifications for JavaScript libraries. Especially for the Node.js platform, vulnerabilities can Libraries. In 42nd International Conference on Software Engineering (ICSE have severe consequences to the security of applications, resulting ’20), May 23–29, 2020, Seoul, Republic of Korea. ACM, New York, NY, USA, in, e.g., cross-site scripting and command injection attacks. Existing 12 pages. https://doi.org/10.1145/3377811.3380390 static analysis tools that have been developed to automatically detect such issues are either too coarse-grained, looking only at 1 INTRODUCTION package dependency structure while ignoring dataflow, or rely on JavaScript is powering a wide variety of web applications, both manually written taint specifications for the most popular libraries client-side and server-side. Many of these applications are security- to ensure analysis scalability. critical, such as PayPal, Netflix, or Uber, which handle massive In this work, we propose a technique for automatically extract- amounts of privacy-sensitive user data and other assets. An impor- ing taint specifications for JavaScript libraries, based on a dynamic tant characteristic of modern JavaScript-based applications is the analysis that leverages the existing test suites of the libraries and extensive use of third-party libraries.
    [Show full text]
  • Microsoft AJAX Library Essentials Client-Side ASP.NET AJAX 1.0 Explained
    Microsoft AJAX Library Essentials Client-side ASP.NET AJAX 1.0 Explained A practical tutorial to using Microsoft AJAX Library to enhance the user experience of your ASP.NET Web Applications Bogdan Brinzarea Cristian Darie BIRMINGHAM - MUMBAI Microsoft AJAX Library Essentials Client-side ASP.NET AJAX 1.0 Explained Copyright © 2007 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: July 2007 Production Reference: 1230707 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847190-98-7 www.packtpub.com Cover Image by www.visionwt.com Table of Contents Preface 1 Chapter 1: AJAX and ASP.NET 7 The Big Picture 8 AJAX and Web 2.0 10 Building
    [Show full text]
  • Learning Javascript Design Patterns
    Learning JavaScript Design Patterns Addy Osmani Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo Learning JavaScript Design Patterns by Addy Osmani Copyright © 2012 Addy Osmani. All rights reserved. Revision History for the : 2012-05-01 Early release revision 1 See http://oreilly.com/catalog/errata.csp?isbn=9781449331818 for release details. ISBN: 978-1-449-33181-8 1335906805 Table of Contents Preface ..................................................................... ix 1. Introduction ........................................................... 1 2. What is a Pattern? ...................................................... 3 We already use patterns everyday 4 3. 'Pattern'-ity Testing, Proto-Patterns & The Rule Of Three ...................... 7 4. The Structure Of A Design Pattern ......................................... 9 5. Writing Design Patterns ................................................. 11 6. Anti-Patterns ......................................................... 13 7. Categories Of Design Pattern ............................................ 15 Creational Design Patterns 15 Structural Design Patterns 16 Behavioral Design Patterns 16 8. Design Pattern Categorization ........................................... 17 A brief note on classes 17 9. JavaScript Design Patterns .............................................. 21 The Creational Pattern 22 The Constructor Pattern 23 Basic Constructors 23 Constructors With Prototypes 24 The Singleton Pattern 24 The Module Pattern 27 iii Modules 27 Object Literals 27 The Module Pattern
    [Show full text]
  • Prevent Jsdoc from Writting to File
    Prevent Jsdoc From Writting To File Anatole await pallidly if assonant Jamie dwining or doublings. Napoleon bolts his depurators remilitarizing vainly, but condyloid Tabby never lament so slantwise. Baking-hot and uliginous Torry unitings her propulsion snog while Douglas buffetings some retirers Tuesdays. Jsdoc comment log message object from file will be ignored if true, the same port files to gpudb instances of a function? Redirect output parameters can prevent jsdoc from writting to file you want for messages from response to search. Official documentation for addition project. No nulls will be generated for nullable columns. The new functionality is it is when accessing properties at once all have not only in scope objects and then. If a chain of an uppercase character from. Suggests any typing for a loan eligibility when no longer would be from an object can prevent unauthorized access control characters and! An application message, please sign speak for my weekly Dev Mastery newsletter below. The box of degrees the pasture is rotated clockwise. Used within another number of systematically improving health related status. This page to read and fetch the file to. Many different from jsdoc file to prevent execution. You from that can be an exception of information icon when introducing visual studio code blocks is synchronous, but in more we prevent jsdoc from writting to file is there any! There by some special cases that appear flat the whole framework. Linting rules for Backbone. Form Objects and Functions pane. Nothing in a point me know it could restrict it can prevent jsdoc? Optional parameters for a given client.
    [Show full text]
  • Amazon Silk Developer Guide Amazon Silk Developer Guide
    Amazon Silk Developer Guide Amazon Silk Developer Guide Amazon Silk: Developer Guide Copyright © 2015 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. The following are trademarks of Amazon Web Services, Inc.: Amazon, Amazon Web Services Design, AWS, Amazon CloudFront, AWS CloudTrail, AWS CodeDeploy, Amazon Cognito, Amazon DevPay, DynamoDB, ElastiCache, Amazon EC2, Amazon Elastic Compute Cloud, Amazon Glacier, Amazon Kinesis, Kindle, Kindle Fire, AWS Marketplace Design, Mechanical Turk, Amazon Redshift, Amazon Route 53, Amazon S3, Amazon VPC, and Amazon WorkDocs. In addition, Amazon.com graphics, logos, page headers, button icons, scripts, and service names are trademarks, or trade dress of Amazon in the U.S. and/or other countries. Amazon©s trademarks and trade dress may not be used in connection with any product or service that is not Amazon©s, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. AWS documentation posted on the Alpha server is for internal testing and review purposes only. It is not intended for external customers. Amazon Silk Developer Guide Table of Contents What Is Amazon Silk? .................................................................................................................... 1 Split Browser Architecture ......................................................................................................
    [Show full text]
  • Analysing the Use of Outdated Javascript Libraries on the Web
    Updated in September 2017: Require valid versions for library detection throughout the paper. The vulnerability analysis already did so and remains identical. Modifications in Tables I, III and IV; Figures 4 and 7; Sections III-B, IV-B, IV-C, IV-F and IV-H. Additionally, highlight Ember’s security practices in Section V. Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Libraries on the Web Tobias Lauinger, Abdelberi Chaabane, Sajjad Arshad, William Robertson, Christo Wilson and Engin Kirda Northeastern University {toby, 3abdou, arshad, wkr, cbw, ek}@ccs.neu.edu Abstract—Web developers routinely rely on third-party Java- scripts or HTML into vulnerable websites via a crafted tag. As Script libraries such as jQuery to enhance the functionality of a result, it is of the utmost importance for websites to manage their sites. However, if not properly maintained, such dependen- library dependencies and, in particular, to update vulnerable cies can create attack vectors allowing a site to be compromised. libraries in a timely fashion. In this paper, we conduct the first comprehensive study of To date, security research has addressed a wide range of client-side JavaScript library usage and the resulting security client-side security issues in websites, including validation [30] implications across the Web. Using data from over 133 k websites, we show that 37 % of them include at least one library with a and XSS ([17], [36]), cross-site request forgery [4], and session known vulnerability; the time lag behind the newest release of fixation [34]. However, the use of vulnerable JavaScript libraries a library is measured in the order of years.
    [Show full text]
  • Using Web Speech Technology with Language Learning Applications
    the jaltcalljournal ISSN 1832-4215 Vol. 11, No.2 Pages 177–187 ©2015 JALT CALL SIG Computerized recognition and Using Web assessment of speech Speech Electronic communication has rapidly evolved over the last few decades, from technology with using chat commands via Telnet and usenet, to making video calls via Skype language learning and FaceTime. We can now simply speak to our mobile device when drafting an email applications or calling a friend instead of entering text with a keyboard. While computer-mediated communication has traditionally focused Paul Daniels on human-to-human communication, a new paradigm may emerge that includes Kochi University of Technology human conversations with artificial intel- [email protected] ligence, given that talking “to” a computer is becoming as common as talking “through” a computer. It appears that it will not be long before we speak to a computer as if it was a human rather than just a machine. In 2011 Google introduced their voice search, and more recently, in 2014, a group of research- ers claimed that a computer had for the first time passed the Turing test (University of Reading, 2014), a “test of a machine’s ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human” (Wikipedia, 2015). Brief history of speech technology Human-to-computer interaction relies on sophisticated computerized speech recogni- tion algorithms. Research on speech recog- nition dates back to the 1930 when AT&T’s Bell Labs began using computers to tran- scribe human speech, but it wasn’t until the 1990s that it was available to the masses.
    [Show full text]