/speechly

Client libraries, examples and demos of Speechly API for the Web.

Primary LanguageTypeScriptMIT LicenseMIT

The Fast, Accurate, and Simple Voice Interface API

Website  |  Docs  |  Discussions  |  Blog  |  Podcast


Speechly monorepository contains Speechly's web related libraries, demos and example apps.

Libraries

Speechly client libraries provide the natural Spoken Language Understanding API for web applications. They handle audio capturing and streaming, authentication, and network connection to Speechly cloud API.

Speechly UI libraries provide UI components to support building a voice-enabled, multimodal apps.

Folder Version npm package Description
/libraries/browser-client npm version @speechly/browser-client JavaScript API for natural spoken language understanding.
/libraries/react-client npm version @speechly/react-client React API for natural spoken language understanding.
/libraries/browser-ui npm version @speechly/browser-ui Web components for controlling listening and showing speech-to-text transcription.
/libraries/react-ui npm version @speechly/react-ui React components for controlling listening and showing speech-to-text transcription.
/libraries/react-voice-forms npm version @speechly/react-voice-forms React form components with built-in support for voice and multi-modal input.

Demos

This monorepository contains the source code of Speechly demos available at https://demos.speechly.com. They are built using React and Speechly's react-client, react-ui and react-voice-forms libraries. Each of the demo subfolder is a stand-alone node project. See the demos' subfolders for more information.

Folder Description
/demos/voice-search Voice Search demonstrates how to use Speechly and Google Custom Search API to create a voice-enabled search enginge.
/demos/speech-to-text Speech-to-Text app demonstrates Speechly API's automatic speech recognition (ASR).
/demos/smart-home Smart Home app demonstrates updating GUI in real-time by reacting to intents and entities provided by Speechly API's streaming Natural Language Understanding (NLU).
/demos/flight-booking Flight Booking app demonstrates use of react-voice-forms library to create a voice-enabled interface with text input field, dropdown and checkbox components.
/demos/fashion-ecommerce Fashion Store app demonstrates browsing a large inventory of goods using with voice-enabled category filters.

Examples

Example applications can be used to validate correct behaviour of client and UI libraries. They may come handy as learning tools as well.

Folder Description
/examples/browser-client-example A simple example application built with browser-client
/examples/react-client-example A simple example application built with react-client
/examples/react-ui-example An example showcasing UI components in React.
/examples/cra-template-speechly A create-react-app template for setting up a Speechly application.

Templates

Collection of simple React templates for Speechly applications. Templates provide a starting point for any application. They can be expanded further to build more complex applications.

Folder Description
/templates/empty This template is a blank canvas. Useful for speech-to-text applications, like text entry and note taking.
/templates/product-filtering This template provides a starting point for creating a product filtering experience.
/templates/contact-form This template provides a starting point for creating a contact form that can be interacted with using voice.
/templates/command-control This template shows how to use Speechly for command-and-control. Useful for things like navigation and finding information on a site.

How to get help?

For general discussion or questions, please use our GitHub Discussion forum.

For feature requests or bug reports, please file a GitHub Issue.

Contributing

We are happy to receive community contributions! For small fixes, feel free to file a pull request. For bigger changes or new features start by filing an issue.

How to use this Rush monorepository

This monorepository is set up using rushjs. Rush can be used to build all projects and libraries in one go. It also helps with develop and test features that span multiple libraries and/or projects.

Each project and library is a stand-alone node project that can be built and devoped with npm or pnpm. To run a single examples or demos, just follow the instructions in the project's README.

To build all projects using Rush, run

npm install -g @microsoft/rush
npm install -g pnpm
rush update
rush build

This will build everything in the repository – This may take a while! After this step, you can run any example or demo by navigating to the corresponding folder (e.g. examples/browser-client-example) and running

rushx start

Before doing a PR, remember to create a changelog entry with

rush change -b origin/main

Learn more

Related repositories