AWS Transcribe
A client for Amazon Transcribe using the websocket interface
Getting Started
With NPM install the module with: npm install aws-transcribe --save
With YARN install the module with: yarn add aws-transcribe
Example
An example of streaming from microphone can be found in src/examples/stream-from-microphone.ts
.createStreamingClient // enums for returning the event names which the stream will emit .onStreamingClient.EVENTS.OPEN,console.log`transcribe connection opened` .onStreamingClient.EVENTS.ERROR, console.error .onStreamingClient.EVENTS.CLOSE,console.log`transcribe connection closed` .onStreamingClient.EVENTS.DATA, yourStream.pipetranscribeStream
API
new AwsTranscribe(clientConfig)
This creates a service wrapper which can then be used to create a streaming client
The clientConfig
is optional and can be provided with the following properties:
accessKeyId
if not provided, the package will look forAWS_ACCESS_KEY_ID
environment variablesecretAccessKey
if not provided, the package will look forAWS_SECRET_ACCESS_KEY
environment variable
AwsTranscribe.createStreamingClient(transcribeStreamConfig)
This will create a presigned url using the config and return an instance of StreamingClient which is a wrapper around the websocket. It will decode binary messages coming from AWS and encode messages to binary when sending them
The transcribeStreamConfig
is required and must have the following properties:
region
must be one of "us-east-1", "us-east-2", "us-west-2", "ap-southeast-2", "ca-central-1", "eu-west-1"languageCode
must be one of "en-US", "en-AU", "en-GB", "fr-CA", "fr-FR", "es-US"sampleRate
must be between 8000 and 44100 - the supported sample rate differs depending on the language code being used. For more information, go here
StreamingClient EVENTS
open
- when the socket to aws is openederror
- any errors sent as part of websocket message or websocket errordata
- emits the transcription objectclose
- when the socket to aws closes
Debugging
set environment variable to below when running your application.
DEBUG=aws-transcribe:\*
Issues
If you discover a bug, please raise an issue on Github. https://github.com/qasim9872/aws-transcribe/issues
Contribution
Pull requests are very welcome. Please:
- ensure all tests pass before submitting PR
- add tests for new features
- document new functionality/API additions in README.md
License
Copyright (c) 2020 Muhammad Qasim. Licensed under the MIT license.