UNPKG

openai-whisper-js

Version:

openai-whisper-js is a Node.js wrapper for the OpenAI Whisper library, enabling seamless audio transcription using Whisper models. This package simplifies the process of interacting with Whisper by providing a JavaScript interface to execute transcription

102 lines (67 loc) 2.81 kB
# openai-whisper-js `openai-whisper-js` is a Node.js wrapper for the OpenAI Whisper library, enabling seamless audio transcription using Whisper models. This package simplifies the process of interacting with Whisper by providing a JavaScript interface to execute transcriptions. ## Features - Supports all Whisper models (`tiny`, `base`, `small`, `medium`, `large`, `turbo`, `large-v3`). - Easy-to-use API for audio transcription. - Handles Python virtual environment initialization. - Debug mode for detailed logs during transcription. ## Installation First, install the package: ```bash npm install openai-whisper-js ``` ### Prerequisites - Python 3 installed on your system. - Bash shell (`/bin/bash`) available. - Ensure `ffmpeg` is installed for audio processing, as required by Whisper. ## Getting Started ### Usage Example ```typescript import path from 'path'; import { whisper } from 'openai-whisper-js'; async function transcribeAudio() { try { const result = await whisper.transcribe({ modelName: 'tiny', audio: path.join(__dirname, './audio/test.mp3'), // debug: true, // Uncomment for detailed logs }); console.log('Transcription Result:', result); } catch (error) { console.error('Error during transcription:', error); } } transcribeAudio(); ``` ### Output - On success, the transcription of the audio file will be printed to the console. - If there’s an error, it will be logged to the console. ## API Reference ### `whisper.transcribe(options: ITranscribeOptions): Promise<string>` Transcribes an audio file using the specified Whisper model. #### Parameters - **`modelName`** *(required)*: Whisper model to use. Supported values: `'tiny' | 'base' | 'small' | 'medium' | 'large' | 'turbo' | 'large-v3'`. - **`audio`** *(required)*: Path to the audio file for transcription. - **`debug`** *(optional)*: Boolean flag for enabling debug mode. Default: `false`. #### Returns A `Promise<string>` resolving to the transcription text. ### Advanced Options You can extend the transcription options by modifying the output format or directory: ```typescript await whisper.transcribe({ modelName: 'base', audio: path.join(__dirname, './audio/test.mp3'), debug: true, }); ``` ## Contributing Contributions are welcome! Please open an issue or submit a pull request to improve the package. ## License This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details. ## Support For issues or feature requests, visit the [GitHub repository](https://github.com/AhmedAdelFahim/openai-whisper-js/issues). ## Acknowledgments - [OpenAI Whisper](https://github.com/openai/whisper) for the transcription capabilities. - Inspiration from audio transcription libraries. --- Developed by Ahmed Adel.