klarity-stt
v1.2.1
Published
A secure and rohbust SDK for audio transcription.
Downloads
51
Maintainers
Readme
Klarity
🌟 Features
- 🎙️ Real-time audio transcription
- ❓ Automatic question generation based on transcribed content
- 🔇 Customizable silence detection for speech segmentation
- 🔄 Support for replaceable words/objects
- 🐞 Comprehensive error handling and debugging options
🚀 Installation
npm install klarity-stt
🏁 Quick Start
Here's a basic example of how to use the Klarity SDK:
const Klarity = require('klarity-stt');
const klarity = new Klarity({
api_key: 'your_api_key_here',
});
klarity.establishConnection({ replaceableObjects: [] })
.then(() => {
console.log('🎉 Connected to the Klarity service');
// Assuming you have an audio stream
const audioStream = getAudioStream();
klarity.sendAudioStream(audioStream);
klarity.onTranscription((transcription) => {
console.log('📝 Transcription:', transcription);
});
klarity.onQuestion((data) => {
console.log('📝 Transcript:', data.transcript);
console.log('❓ Questions:', data.questions);
});
klarity.onError((error) => {
console.error('❌ Error:', error);
});
klarity.onStreamEnd(() => {
console.log('🏁 Audio stream ended');
});
})
.catch((error) => {
console.error('❌ Failed to connect:', error);
});
📚 API Reference
Klarity
Constructor
new Klarity(options: KlarityOptions)
| Option | Type | Description | Required |
|--------|------|-------------|----------|
| api_key
| string
| Your API key for authentication | Yes |
| connectionId
| string
| A unique identifier for the connection | No |
| debug
| boolean
| Enable debug mode (default: false
) | No |
| pauseDuration
| number
| Duration of silence to detect speech segments (default: 0.6
seconds) | No |
Methods
| Method | Description |
|--------|-------------|
| establishConnection(options: { replaceableObjects?: any[] }): Promise<void>
| Establishes a connection to the Klarity service |
| sendAudioStream(audioStream: NodeJS.ReadableStream): void
| Sends an audio stream for transcription |
| onTranscription(callback: (transcription: string) => void): void
| Sets a callback to receive transcriptions |
| onQuestion(callback: (data: QuestionData) => void): void
| Sets a callback to receive generated questions |
| onError(callback: (error: Error) => void): void
| Sets a callback to handle errors |
| onStreamEnd(callback: (data: any) => void): void
| Sets a callback to be called when the audio stream ends |
| isConnected(): boolean
| Checks if the SDK is currently connected to the service |
| setDebugMode(debug: boolean): void
| Enables or disables debug mode |
| stop(): void
| Stops the audio transcription process |
🔑 Getting API Access
To use the Klarity SDK, you need to obtain an API key. Please contact our team at [email protected] for API access and further information about pricing and usage limits.
🆘 Support
If you encounter any issues or have questions about the Klarity SDK, please don't hesitate to:
- Open an issue on our GitHub repository