evancohen/sonus

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

What it solves

Sonus simplifies the process of adding a Voice User Interface (VUI) to software or hardware projects. It removes the complexity of managing offline hotword detection and the subsequent streaming of audio to cloud-based speech-to-text services.

How it works

The library operates in two stages. First, it uses Snowboy for offline hotword recognition to listen for a specific, customizable keyword. Once the hotword is detected, Sonus streams the user's speech in real-time to a configured cloud recognition service, such as Google Cloud Speech, to convert the audio into text.

Who it’s for

Developers building voice-activated applications, home automation projects, or custom hardware devices (like Raspberry Pi) that require a "wake word" functionality similar to Alexa or Siri.

Highlights

  • Offline Hotword Detection: Uses Snowboy to detect wake words without needing an internet connection.
  • Cloud Integration: Supports streaming audio to cloud speech recognition services for real-time results.
  • Cross-Platform: Works on Linux (including Raspbian) and macOS.
  • Simple API: Allows developers to initialize and start voice recognition with minimal code.

Related

  • Project
  • Project
  • Project
  • Project