Socket
Socket
Sign inDemoInstall

mic-to-speech

Package Overview
Dependencies
2
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mic-to-speech

Watches your microphone stream to pull out speech segments that you can save to a file, or send to an endpoint for speech recognition. Ideal for saving audio for conversation monitoring and assistant apps that work like Google Home or Amazon Alexa.


Version published
Weekly downloads
9
Maintainers
1
Created
Weekly downloads
 

Changelog

Source

[1.0.1] - 2017-10-26

Changed

  • Fixed casing on module names

Readme

Source

mic-to-speech

Watches your microphone stream to pull out speech segments that you can save to a file, or send to an endpoint for speech recognition. Ideal for saving audio for conversation monitoring and assistant apps that work like Google Home or Amazon Alexa.

Supports Mac, Windows, Linux and Raspberry Pi.

Usage

const MicToSpeech = require('mic-to-speech');

let micToSpeech = new MicToSpeech();

micToSpeech.on('speech', function(buffer) {
  console.log('buffer of speech received');
});

micToSpeech.start();
console.log('Listening for speech')

Example Usage

Save raw audio to disk every time speech like audio is detected
const MicToSpeech = require('mic-to-speech');
const fs = require('fs');

let micToSpeech = new MicToSpeech();

micToSpeech.on('speech', function(rawAudio) {
  // create filename
  let now = new Date();
  let filename = (now.getMonth() + 1) + "-" + now.getDate()
    + "-" + now.getFullYear() + ' ' + now.getHours()
    + ':' + now.getMinutes() + ':' + now.getSeconds() + '.raw';

    // write to a file and restart speech detection
    fs.writeFile(filename, rawAudio, function() {
        console.log('saved: ' + filename);
        micToSpeech.resume();
    });
};

micToSpeech.start();
console.log('Listening for speech');

Note: This is a header-less wav file, so you will need a compatible software to play them. On a Mac you can play them with play:

play -b 16 -e signed -c 1 -r 16000 someDatedFile.raw
Have a two way AI conversation with speech recognition
'use strict';

const ElizaBot = require('eliza-as-promised');
const say = require('say');
const MicToSpeech = require('mic-to-speech');
const Speech = require('google-speech-from-buffer');

// create our instance of eliza
const eliza = new ElizaBot();

// in a standard env this will pick up and watch the microphone
const micToSpeech = new MicToSpeech();

micToSpeech.on('speech', function(buffer) {
  // pause my speech so I don't listen to what I'm saying
  micToSpeech.pause();
  // process the speech with Google API and get a reply
  new Speech().recognize(buffer)
    .then((statement) => converseWithEliza(statement));
});

let converseWithEliza = function(statement) {
  // you said this to eliza
  console.log('<< ' + statement);
  // Eliza to respond
  eliza.getResponse(statement)
    .then((response) => {
      // keep the convo going!
      if (response.reply) {
        elizaSay(response.reply, function() {
          micToSpeech.resume();
        });
      }
      // final statement received, quit response and exit
      if (response.final) {
        elizaSay(response.final, function() {
          micToSpeech.stop();
          process.exit(0);
        });
      }
    });
};

let elizaSay = function(words, callback) {
  console.log('>> ' + words);
  say.speak(words, undefined, 1.0, function(err) {
    if (err) {
      return console.error(err);
    }
    callback();
  });
};

// Have Eliza start the conversation with an initial statement
elizaSay(eliza.getInitial(), function() {
  micToSpeech.start();
});

Keywords

FAQs

Last updated on 27 Oct 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc