JSPM

generate-subtitles

1.0.6
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 2
    • Score
      100M100P100Q49120F
    • License ISC

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

    Package Exports

    • generate-subtitles
    • generate-subtitles/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (generate-subtitles) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    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


    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