@speechly/react-client
TypeScript icon, indicating that this package has built-in type declarations

2.2.4 • Public • Published

speechly-logo-duo-black

Website  ·  Docs  ·  Support  ·  Blog  ·  Login


Speechly React Client

build npm license

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

Documentation

Install

Using npm:

npm install @speechly/react-client

Using yarn:

yarn add @speechly/react-client

Usage

Wrap your app with the SpeechProvider context provider:

import { SpeechProvider } from '@speechly/react-client';

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

<SpeechProvider
  appId="YOUR-APP-ID"
  debug
  logSegments
>
  <App />
</SpeechProvider>

Capture browser microphone audio:

import { useSpeechContext } from '@speechly/react-client';

function App() {
  const { listening, segment, attachMicrophone, start, stop } = useSpeechContext();

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

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

  return (
    <button onClick={handleClick}>
      Start/stop microphone
    </button>
  );
}

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.

useEffect(() => {
  if (segment) {
    console.log('Tentative segment:', segment)
    if (segment.isFinal) {
      console.log('Final segment:', segment)
    }
  }
}, [segment]);

Contributing

Package Sidebar

Install

npm i @speechly/react-client

Weekly Downloads

530

Version

2.2.4

License

MIT

Unpacked Size

55.7 kB

Total Files

23

Last publish

Collaborators

  • aukkonen
  • thisismatu
  • speechlynpm
  • langma
  • hheikinh