Skip to content

Unable to record using node.js example  #409

Description

@josefsandoval

Hello
I am trying to use the google cloud speech API. I already created a cloud project and got authenticated.
I also have created a service account key and got the json file that comes with it as well.

I am trying to get this example to work: Performing Streaming Speech Recognition on an Audio Stream
Link: https://cloud.google.com/speech/docs/streaming-recognize

Here is the code I am running on the command line with node

// [START speech_streaming_mic_recognize]
  const record = require('node-record-lpcm16');

    // Your Google Cloud Platform project ID
  const projectId = 'my projects name';

  const  keyFilename = 'path to my key .json file ';

  // Imports the Google Cloud client library
  const Speech = require('@google-cloud/speech');

  // Instantiates a client
  const speech = Speech({
      projectId: projectId,
      keyFilename: keyFilename
  });

  const request = {
    config: {
      encoding: 'LINEAR16',
      sampleRateHertz: 16000,
      languageCode: 'en-US'
    },
    interimResults: false // If you want interim results, set this to true
  };

  // Create a recognize stream
  const recognizeStream = speech.createRecognizeStream(request)
    .on('error', console.error)
    .on('data', (data) => process.stdout.write(data.results));

  // Start recording and send the microphone input to the Speech API
  record
    .start({
      sampleRateHertz: 16000,
      threshold: 0,
      // Other options, see https://www.npmjs.com/package/node-record-lpcm16#options
      verbose: false,
      recordProgram: 'sox', // Try also "arecord" or "sox"
      silence: '10.0'
    })
    .on('error', console.error)
    .pipe(recognizeStream);

  console.log('Listening, press Ctrl+C to stop.');
  // [END speech_streaming_mic_recognize]

whenever I try to run this program from command line using node, it just displays
"Listening, press Ctrl+C to stop." and then ends immediately, not allowing me to record and output my speech.

Does anyone know how to solve this issue?
Or am I doing something wrong?

Help would be greatly appreciated!!
Thanks!

Activity

  1. rjpruitt16 commented on Jul 21, 2017

    @rjpruitt16

    Did you ever figure out the problem? I am having the same issue.

  2. shivag12 commented on Jul 22, 2017

    @shivag12

    In which environment you are trying to execute this. ??.. You need to have sox installed if its a windows machine.

  3. rjpruitt16 commented on Jul 22, 2017

    @rjpruitt16

    I have been trying to execute the code in c9.io. It's an online Ubuntu environment. I also tried installing sox, but the result was the same.

  4. josefsandoval commented on Jul 24, 2017

    @josefsandoval
    Author

    Never got it solved. I tried on Ubuntu and windows. I had sox installed as well but it still didn't fix the problem

  5. shivag12 commented on Jul 25, 2017

    @shivag12

    I have the same problem with Windows , it did worked for me on raspberry pi, The actual issue is with the port in which Mic is connected and mine was connected to 0, So I have added an device option on record variable . "device : 'plughw:0'".

  6. jacob7182 commented on Jul 31, 2017

    @jacob7182

    Is this device option for windows? I have been trying the recognize.js listen command but it is not recording or streaming to text. anyone able to run the listen method on Windows?

  7. fhinkel commented on Nov 8, 2018

    @fhinkel
    Contributor

    If the issue still persists, please file it here. Thank you.

  8. added a commit that references this issue on Nov 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    🚨This issue needs some love.triage meI really want to be triaged.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions