Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

generate-subtitles

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

generate-subtitles

Takes media file input to generate .vtt subtile files with support for threads.

  • 1.0.6
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
6
decreased by-60%
Maintainers
1
Weekly downloads
 
Created
Source

Generate-Subtitles


To Install

npm i generate-subtitles

Checkout source code at generate-subtitles repo

Description

This package parses video and audio files, to generate .vtt formatted subtitle files. The package is fully asynchronous and adds support for threads flag to run on lower powered systems complemented by file system support.

The package is built upon

  • Introducing Whisper | OpenAI's open source model

  • Whisper.cpp | A custom cpp implementation of whisper model in C++.

  • whisper-node | A similar package based on OpenAi-whisper and Whisper.cpp


Usage


Note- To run the script for first time the package needs to download the model which is then saved in /node_modules/generate-subtitles/lib/whisper.cpp/models

To do that, run

npx generate-subtitles download

and select an appropriate model.

Usage as modules
  • Import generate function from the package.
import { generate } from "generate-subtitles";
  • Now make the options data.
const options = {
    //required- where file must be placed
    inputFile: '/path/to/the/file', 
    //optional- when not specified, it saves at the input Dir
    outputDir: '/path/to/the/dir',
    //required- (enum)Valid inputs are only 'audio' and 'video'
    inputType: '/type_of_input(audio/video)',
    //required
    whisperFlags: {
        //not required- currently supports vtt only
        subFormat: 'vtt',
        //required- default model is base
        model: 'model_name',
        //not required- when using a multilingual model
        //default-english
        language: 'language_name',
        //not required- no of threads to run the model
        //default- 7
        threadCount: number,
    }
}
  • Pass it to the function, which then outputs the .vtt file to output directory, with same name as input file.
try {
    const getSubtiles= await generate(options);
    //resolves with true
    //An output file is generat
} catch(error) {
   // rejects with an error
}

Miscellaneous
  • When using audio input file, it requires .wav format at 16KHz frequency

  • In windows based system, make(Make for Windows).


Changelogs

@1.0.6

  • Fix: Language had an error, where it took input as model name. @1.0.5

  • Fix: removed redundant check input.

  • Fix: OutputDir takes a filename, and outputs to that file.

  • Fix: removed unecessary lower case checks.

    Acknowledgements

  • [Openai-whisper](Introducing Whisper)

  • Whisper.cpp

  • whisper-node

Keywords

FAQs

Package last updated on 21 Mar 2024

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