Socket
Socket
Sign inDemoInstall

generate-subtitles

Package Overview
Dependencies
88
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

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.


Version published
Weekly downloads
56
increased by12%
Maintainers
1
Install size
88.8 MB
Created
Weekly downloads
 

Readme

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

Last updated on 21 Mar 2024

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc