Skip to content
/ sonus Public
forked from evancohen/sonus

💬 /so.nus/ STT (speech to text) for Node with offline hotword detection

License

Notifications You must be signed in to change notification settings

asn10038/sonus

 
 

Repository files navigation

sonus

Build Status Dependency Status

This project is in active development and is rapidly evolving. As of v0.1.0 it uses semantic versioning.

Sonus is a speech to text library you can use to quickly and easally add a VUI (Voice User Interface) to any hardware or software project. Just like Alexa, Google Now, and Siri, Sonus is always listening offline for a customizable hotword. Once that hotword is detected your speech is streamed to the cloud recognition service of your choice - then you get the results.

Platform Support

  • Linux - most major distros (Including Raspbian)
  • macOS
  • Windows

Streaming Recognition Services

  • Google Cloud Speech
  • Alexa Voice Services
  • Wit.ai
  • Microsoft Cognitive Services
  • Houndify

Installation

npm install --save sonus

Dependencies

Generally, running npm install should suffice. This module however, requires you to install SoX.

For most linux disto's

Recommended: use arecord, which comes with most linux distros.
Alternatively:

sudo apt-get install sox libsox-fmt-all

For macOS

brew install sox

Usage

Add sonus and your cloud speech recognition system of choice:

const Sonus = require('sonus')
const speech = require('@google-cloud/speech')({
  projectId: 'streaming-speech-sample',
  keyFilename: './keyfile.json'
})

Add your keyword and initialize Sonus:

const hotwords = [{ file: 'resources/snowboy.umdl', hotword: 'snowboy' }] 
const sonus = Sonus.init({ hotwords }, speech) 

Create your own Alexa in less than a tweet:

Sonus.start(sonus) 
sonus.on('hotword', (index, keyword) => console.log("!")) 
sonus.on('final-result', console.log) 

If you build a project with Sonus send a PR and include it here!

Authors

Evan Cohen: @_evnc
Ashish Chandwani: @ashishschandwa1

License

Licensed under MIT.

About

💬 /so.nus/ STT (speech to text) for Node with offline hotword detection

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%