Package Exports
- nodejs-whisper
- nodejs-whisper/dist/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 (nodejs-whisper) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nodejs-whisper
Node.js bindings for OpenAI's Whisper model.
Features
- Automatically convert the audio to WAV format with a 16000 Hz frequency to support the whisper model.
- Output transcripts to (.txt .srt .vtt)
- Optimized for CPU (Including Apple Silicon ARM)
- Timestamp precision to single word
- Split on word rather than on token (Optional)
- Translate from source language to english (Optional)
- Convert audio formet to wav to support whisper model
Installation
- Install ffmpeg and make tools
sudo apt update
sudo apt install ffmpeg build-essential- Install nodejs-whisper with npm
npm i nodejs-whisper- Download whisper model
npx nodejs-whisper download- NOTE: user may need to install make tool
Usage/Examples
import path from 'path'
import { nodewhisper } from "nodejs-whisper"
// Need to provide exact path to your audio file.
const filePath = path.resolve(__dirname, 'YourAudioFileName')
await nodewhisper(filePath, {
modelName: 'base.en', //Downloaded models name
whisperOptions: {
outputInText: false, // get output result in txt file
outputInVtt: false, // get output result in vtt file
outputInSrt: true, // get output result in srt file
outputInCsv: false, // get output result in csv file
translateToEnglish: false,//translate from source language to english
wordTimestamps: false, // Word-level timestamps
timestamps_length: 20, // amount of dialogue per timestamp pair
splitOnWord: true, //split on word rather than on token
},
})
// Model list
const MODELS_LIST = [
'tiny',
'tiny.en',
'base',
'base.en',
'small',
'small.en',
'medium',
'medium.en',
'large-v1',
'large',
]Types
interface IOptions {
modelName: string
whisperOptions?: WhisperOptions
}
interface WhisperOptions {
outputInText?: boolean
outputInVtt?: boolean
outputInSrt?: boolean
outputInCsv?: boolean
translateToEnglish?: boolean
timestamps_length?: number
wordTimestamps?: boolean
splitOnWord?: boolean
}
Run Locally
Clone the project
git clone https://github.com/ChetanXpro/nodejs-whisperGo to the project directory
cd nodejs-whisperInstall dependencies
npm installStart the server
npm run devBuild Project
npm run buildMade with
Feedback
If you have any feedback, please reach out to us at chetanbaliyan10@gmail.com