All Projects → TejasQ → praise

TejasQ / praise

Licence: MIT license
Do stuff with your voice in the browser.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to praise

ember-pipeline
Railway oriented programming in Ember
Stars: ✭ 17 (+30.77%)
Mutual labels:  experimental
wage
A WASM package and web app for encrypting and decrypting age-encrypted files, powered by rage.
Stars: ✭ 48 (+269.23%)
Mutual labels:  experimental
iOSProjects
It's project that contains different applications developed with Swift 5.7 👨‍💻👩🏼‍💻🧑🏿‍💻
Stars: ✭ 122 (+838.46%)
Mutual labels:  speech-recognition
specAugment
Tensor2tensor experiment with SpecAugment
Stars: ✭ 46 (+253.85%)
Mutual labels:  speech-recognition
uaa-cli
CLI for UAA written in Go
Stars: ✭ 22 (+69.23%)
Mutual labels:  experimental
SwiftShell
Execute Shell Commands Inside Xcode Playground (Experimental)
Stars: ✭ 19 (+46.15%)
Mutual labels:  experimental
ASR-Audio-Data-Links
A list of publically available audio data that anyone can download for ASR or other speech activities
Stars: ✭ 179 (+1276.92%)
Mutual labels:  speech-recognition
React.ai
It recognize your speech and trained AI Bot will respond(i.e Customer Service, Personal Assistant) using Machine Learning API (DialogFlow, apiai), Speech Recognition, GraphQL, Next.js, React, redux
Stars: ✭ 38 (+192.31%)
Mutual labels:  speech-recognition
DRV3-Tools
(Not actively maintained, use DRV3-Sharp) Tools for extracting and re-injecting files for Danganronpa V3 for PC.
Stars: ✭ 13 (+0%)
Mutual labels:  experimental
picovoice
The end-to-end platform for building voice products at scale
Stars: ✭ 316 (+2330.77%)
Mutual labels:  speech-recognition
react-native-spokestack
Spokestack: give your React Native app a voice interface!
Stars: ✭ 53 (+307.69%)
Mutual labels:  speech-recognition
revai-java-sdk
Rev.ai Java SDK
Stars: ✭ 16 (+23.08%)
Mutual labels:  speech-recognition
opensource-voice-tools
A repo listing known open source voice tools, ordered by where they sit in the voice stack
Stars: ✭ 21 (+61.54%)
Mutual labels:  speech-recognition
masr
中文语音识别系列,读者可以借助它快速训练属于自己的中文语音识别模型,或直接使用预训练模型测试效果。
Stars: ✭ 179 (+1276.92%)
Mutual labels:  speech-recognition
awesome-end2end-speech-recognition
💬 A list of End-to-End speech recognition, including papers, codes and other materials
Stars: ✭ 49 (+276.92%)
Mutual labels:  speech-recognition
torchsubband
Pytorch implementation of subband decomposition
Stars: ✭ 63 (+384.62%)
Mutual labels:  speech-recognition
web-voice-processor
A library for real-time voice processing in web browsers
Stars: ✭ 69 (+430.77%)
Mutual labels:  speech-recognition
KeenASR-Android-PoC
A proof-of-concept app using KeenASR SDK on Android. WE ARE HIRING: https://keenresearch.com/careers.html
Stars: ✭ 21 (+61.54%)
Mutual labels:  speech-recognition
octopus
On-device speech-to-index engine powered by deep learning.
Stars: ✭ 30 (+130.77%)
Mutual labels:  speech-recognition
g2
✨ An experimental reimagining of WordPress components
Stars: ✭ 102 (+684.62%)
Mutual labels:  experimental

Praise 🙌🏿

Praise is a client-side helper that... well, helps do things using your voice in a browser environment. This project uses the Web Speech API, which is still an experimental browser technology and is only currently supported in Google Chrome. Use with discretion. At some point, as the Web Speech specification moves closer to finalization and inclusion, Praise aims to keep up with the changes.

Disclaimer: the current SpeechRecognition API (part of the Web Speech API) supported in Chrome requires an internet connection and connects to Google's Web Speech service under the hood.

Motivation

I created this project on a Saturday afternoon in just a few hours in order to demonstrate the welcoming, efficient nature of JavaScript for my talk at JSConf EU.

Getting Started

To get up and running with Praise, it's pretty standard: simply install it with yarn.

  • yarn add praise

... done.

Of course, you may also use npm if you are so inclined (npm i praise --save).

Basic Usage

Praise exports a createPraise function that returns a Praise instance that can be started and stopped at your leisure, in a browser that can and wants to listen. Here's how a simple project can be set up.

Be sure to include the compiled version of this file in a HTML file, using Parcel, Webpack, Poi or a similar bundler.

import { createPraise } from "praise";

const whenISay = {
  ooga: () => alert("booga"),
  "am i pretty": () => alert("the prettiest!")
};

const myPraiseListener = createPraise(whenISay); // for customizing, use createPrase(whenISay, myOptions)
myPraiseListener.start();

Starting this app in a browser, and then saying either "ooga" or "am I pretty" will execute their respective functions. Pretty cool, eh? This allows you to do literally anything that you can do programatically with your voice.

Options

createPraise takes an optional second argument specifying the following configuration options for more fine-grained control. Here are the defaults, when everything is left blank:

{
  /** Indicates whether Praise should keep listening or stop listening after the first match. */
  keepListening: true;

  /** Indicates whether Praise should return results _as you speak_ or after you stop speaking. */
  onlyWhenIStop: false;

  /** A minimum threshold of confidence for matches. A higher number hear means more accurate, but fewer matches. */
  confidence: 0.8;

  /** A callback executed on successful execution of a phrase callback that gets the result of the callback for a phrase. */
  onSuccess: () => undefined;
}

Usage with React

Praise also has React bindings! react-praise can do some nifty things in a React app, like change presentation slides or other things. Feel free to submit Pull Requests that demonstrate your cool idea/use case!

Contributing

Open issues and make PRs as you wish.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].