Socket
Socket
Sign inDemoInstall

@speechly/browser-client

Package Overview
Dependencies
2
Maintainers
5
Versions
79
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @speechly/browser-client

JavaScript client for Speechly Streaming API


Version published
Weekly downloads
1.6K
Maintainers
5
Install size
636 kB
Created
Weekly downloads
 

Readme

Source

speechly-logo-duo-black

Website  ·  Docs  ·  Support  ·  Blog  ·  Login


Speechly Browser Client

build npm license

Add voice features to any web app with Speechly Browser Client. It handles authentication, audio capture, network streaming and connection management with the Speechly Streaming API.

If you are using React, you can use the Speechly React Client instead. It provides the same functionalities, but provides a programming model that is idiomatic to React.

Documentation

Install

Using npm:

npm install @speechly/browser-client

Using yarn:

yarn add @speechly/browser-client

Using unpkg CDN:

<script type="module">
  import { BrowserClient, BrowserMicrophone } from "//unpkg.com/@speechly/browser-client?module=true"
</script>

Usage

Create new BrowserMicrophone and BrowserClient instances:

import { BrowserClient, BrowserMicrophone } from '@speechly/browser-client';

// Get your App ID from Speechly Dashboard (https://api.speechly.com/dashboard/)
// or by using Speechly CLI `list` command.

const microphone = new BrowserMicrophone();
const client = new BrowserClient({
  appId: 'YOUR-APP-ID',
  logSegments: true,
  debug: true,
});

Capture browser microphone audio:

const myButton = document.getElementById('myButton');

// Make sure that you call `microphone.initialize` from a user initiated
// action handler, like a button press.

const attachMicrophone = async () => {
  if (microphone.mediaStream) return;
  await microphone.initialize();
  await client.attach(microphone.mediaStream);
};

const handleClick = async () => {
  if (client.isActive()) {
    await client.stop();
  } else {
    await attachMicrophone();
    await client.start();
  }
};

myButton.addEventListener('click', handleClick);

React to API updates:

// Use `segment.isFinal` to check the segment state. When `false`,the segment might
// be updated several times. When `true`, the segment won’t be updated anymore and 
// subsequent callbacks within the same audio context refer to the next segment.

client.onSegmentChange((segment) => {
  console.log('Tentative segment:', segment)
  if (segment.isFinal) {
    console.log('Final segment:', segment)
  }
})

Contributing

Keywords

FAQs

Last updated on 06 Sep 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc