UNPKG

watson-speech

Version:

IBM Watson Speech to Text and Text to Speech SDK for web browsers.

106 lines (79 loc) 3.74 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Source: recognize-element.js</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Source: recognize-element.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>/** * Copyright 2015 IBM Corp. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 'use strict'; var MediaElementAudioStream = require('./media-element-audio-stream'); var L16 = require('./webaudio-l16-stream'); var RecognizeStream = require('./recognize-stream.js'); var FormatStream = require('./format-stream.js'); /** * Recognize audio from a &lt;audio> or &lt;video> element * * @param {Object} options - Also passed to {MediaElementAudioStream} and to {RecognizeStream} * @param {String} options.token - Auth Token - see https://github.com/watson-developer-cloud/node-sdk#authorization * @param {MediaElement} options.element - the &lt;video> or &lt;audio> element to play * @param {Boolena} [options.format=true] - pipe the text through a {FormatStream} which performs light formatting * * @returns {RecognizeStream} */ module.exports = function recognizeElement(options) { if (!options || !options.token) { throw new Error("WatsonSpeechToText: missing required parameter: opts.token"); } options['content-type'] = 'audio/l16;rate=16000'; // raw wav audio (no header) var recognizeStream = new RecognizeStream(options); var sourceStream = new MediaElementAudioStream(options.element , options); var stream = sourceStream .pipe(new L16()) .pipe(recognizeStream); if (options.format !== false) { stream = stream.pipe(new FormatStream(options)); } recognizeStream.on('stop', sourceStream.stop.bind(sourceStream)); return stream;; }; </code></pre> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="FormatStream.html">FormatStream</a></li><li><a href="MediaElementAudioStream.html">MediaElementAudioStream</a></li><li><a href="RecognizeStream.html">RecognizeStream</a></li><li><a href="TimingStream.html">TimingStream</a></li><li><a href="WebAudioL16Stream.html">WebAudioL16Stream</a></li></ul><h3>Events</h3><ul><li><a href="RecognizeStream.html#event:connection-close">connection-close</a></li><li><a href="RecognizeStream.html#event:data">data</a></li><li><a href="RecognizeStream.html#event:error">error</a></li><li><a href="RecognizeStream.html#event:results">results</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.0</a> on Mon Feb 08 2016 20:03:58 GMT+0000 (UTC) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>