@codehard-th/whisperlive-client
v1.6.0-beta-008
Published
A WhisperLive transcription client for JavaScript
Downloads
49
Readme
WhisperLive.Client
A TypeScript client library for WhisperLive server.
Installation
npm install @codehard-th/whisperlive-clientUsage
To use the Recorder library, include the necessary files in your project and import the Recorder class along with its dependencies.
import * as whisper from '@codehard-th/whisperlive-client'
const url = "ws://your-server-location";
// Adds your own filter as you see fit into the multi-filter here.
const filter = new whisper.MultiFilterPipeline();
// Create an options for the transcription server through the `TranscriptionOptionsBuilder`
const optionsBuilder =
whisper.TranscriptionOptionsBuilder.create()
.withRepetitionPenalty(1);
const options = optionsBuilder.build();
// Create the recorder with a pre-defined configuration.
const configurationParams = {
url: url,
language: "en",
model: "large-v2",
task: whisper.Task.transcribe,
filter: filter,
options: options,
use_vad: true,
delay: 300, //in ms
bufferSize: 4096,
};
const configuration = new whisper.TranscriptionConfiguration(configurationParams);
const recorder = new whisper.Recorder(configuration);Capturing Microphone Audio and Browser Tab Audio
To capture audio from the microphone, use the captureMicrophoneAsync method. This method accepts a callback function that processes RecorderEvent objects.
async function handleEvent(event: RecorderEvent) {
switch (e.type) {
case whisper.TranscriptionEvents.EventType.ready: {
// handle when the server is ready to transcribe
}
case whisper.TranscriptionEvents.EventType.messageArrived: {
// handle when the server is sending back a partial transcription of an audio source
}
}
}
await recorder.captureMicrophoneAsync(handleEvent);To capture audio from the current browser tab, use the captureTabAsync method. This method also accepts a callback function that processes RecorderEvent objects.
await recorder.captureTabAsync(handleEvent);To stop recording simply call stopAsync method.
await recorder.stopAsync();License
This project is licensed under the MIT License.
