JSPM

  • Created
  • Published
  • Downloads 1081
  • Score
    100M100P100Q124016F
  • License MIT

Browser client for Speechly API

Package Exports

  • @speechly/browser-client

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@speechly/browser-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Speechly is the Fast, Accurate, and Simple Voice Interface API for Web, Mobile and E‑commerce

Website  |  Docs  |  Discussions  |  Blog  |  Podcast


Speechly browser client

Release build npm version License

With the browser-client you can add voice features to any website. It handles authentication, audio capture, network streaming and connection management with the Speechly Voice API.

Check out the browser-client-example repository for a demo app built using this client.

NOTE: If you are using React, you can use our React client instead. It provides the same functionalities, but provides a programming model that is idiomatic to React.

Usage

Install the package:

# Using Yarn
yarn add @speechly/browser-client

# Using NPM
npm install --save @speechly/browser-client

Start using the client:

import { Client, Segment } from '@speechly/browser-client'

// Create a new Client. appId is configured in the dashboard.
const client = new Client({appId: 'your-app-id'})

// Initialize the client - this will ask the user for microphone permissions and establish the connection to Speechly API.
// Make sure you call `initlialize` from a user action handler (e.g. from a button press handler).
await client.initialize()

// React to the updates from the API.
client.onSegmentChange((segment: Segment) => {
  console.log('Received new segment from the API:', segment.intent, segment.entities, segment.words, segment.isFinal)
})

// Start recording.
// Ideally this should be bound to e.g. a button press.
await client.startContext()

// Stop recording after a timeout.
// Ideally this should be bound to e.g. a button press.
setTimeout(async function() {
  await client.stopContext()
}, 3000)

Documentation

You can find the detailed browser-client API documentation in the GitHub repository.

You can also refer to Speechly Docs for more information.

Contributing

See contribution guide in CONTRIBUTING.md.