New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@bottlenose/rxtranscribe

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bottlenose/rxtranscribe

👂 Realtime speech-to-text (S2T) transcription with AWS Transcribe and RxJS

  • 0.2.1-beta.3
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

CircleCI License: MIT Version

Description

This package allows real-time speech-to-text (S2T) functionality using a WebSocket which streams audio data to AWS Transcribe. Two reasons why the team at Buccaneer decided to write a package for it:

  1. At the time this was written in Fall 2019, the Transcribe API in aws-sdk did not support real-time audio streaming and Amazon did not provide an official JavaScript client for real-time subscription. For many speech-to-text use cases, real-time transcription is mandatory. (Tip: If your goal is to transcribe an audio file in its entirety and you can wait for the entire file to be processed, then you can use the aws-sdk and you don't need this library!)

  2. This implementation makes it easy to plug AWS Transcribe into RxJS 6 pipelines.

  3. This package encapsulates the business logic of AWS Transcribe streaming into a separate npm package so that applications can focus on what they're good at and don't need to worry about the internals of how AWS Transcribe processes audio data streams.

Installation

yarn add @buccaneer/rxtranscribe
npm i --save @buccaneer/rxtranscribe

Compatibility

PlatformSupport
node.js (>10.8)
Browsers
React Native
Electron

💡 This package could perhaps be modified to work universally by polyfilling in the Buffer object. The authors haven't bothered to do it because our use case did not require it to run on clients. But if you want to take a stab at implementing it, contact us!

Basic Usage

import { transcribe } from '@buccaneer/rxtranscribe';

// The pipeline takes a stream of .wav audio chunks (Buffer, String, Blob or Typed Array)
const buffer$ = chunk$.pipe(
  map(chunkStr => Buffer.from(chunkString, 'base64')),
  transcribe()
);

💡 One limitation of the current package is that it currently only supports .wav files as inputs, which are encoded as .mp4 files. It would be nice to support a wider variety of file types. If you know how to do this and want to help implement this functionality, please contact us.

Documentation & Guides

Keywords

FAQs

Package last updated on 21 Jan 2020

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc