Skip to content

Speech transcription on the browser using WebRTC and Google Speech

License

Notifications You must be signed in to change notification settings

gmhta/webrtc-speech-to-text

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebRTC speech to text server

Dependencies

The speech to text server only depends on Go 1.12.

Disclaimer

This project is only a proof of concept and SHOULDN'T be deployed on a production environment as it lacks even the most basic security measures.

Build the project

The project includes a Makefile, to build execute:

make

This should generate a transcribe-server binary.

Running the server

The server receives the following flags through the command line:

--google.cred (Required)

Path to a Google Cloud credential's file. The project must have Google Speech activated.

--http.port (Optional)

Specifies the port where the HTTP server should listen, by default the port 9000 is used.

--stun.server (Optional)

Allows to speficy a different STUN server, by default a Google STUN server is used.

Demo page

The demo works on Chrome 75, Firefox 67 and Safari 12.1.1

Demo screenshot

To run the demo execute the server and navigate to http://localhost:9000.

After pressing the Start button a dialog asking for permission to access the microphone should appear. After grating access a WebRTC connection is made to the local server, where audio data is decoded and streamed to Google Speech (streaming recognition).

Say something and press the Stop button, the results (if any) should appear on screen.

Architecture

Architecture and data flow

Coming soon

  • Unit tests.
  • Be able to specify the desired language.
  • Support for interim results.

License

MIT - see LICENSE for the full text.

About

Speech transcription on the browser using WebRTC and Google Speech

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 64.4%
  • JavaScript 27.5%
  • HTML 7.0%
  • Other 1.1%