@forgeframework/ai-voice
v0.3.0
Published
Voice processing for the Forge Framework.
Maintainers
Readme
@forgeframework/ai-voice
Voice processing for the Forge Framework.
Part of the Forge Framework — a TypeScript framework for backend microservices and web applications.
Installation
npm install @forgeframework/ai-voiceUsage
import {
VoiceProcessor,
SttProvider,
AudioFormat,
VoiceConfig,
} from '@forgeframework/ai-voice';
import { AIProviderFactory, AIFramework } from '@forgeframework/ai-llm';
import { readFile } from 'node:fs/promises';
const llmProvider = AIProviderFactory.createInstance({
framework: AIFramework.NATIVE,
model: 'gpt-4o',
});
const voiceConfig: VoiceConfig = {
sttProvider: SttProvider.WHISPER,
language: 'en',
diarization: { enabled: true, maxSpeakers: 4 },
punctuation: true,
transcription: {
model: 'whisper-1',
language: 'en',
chunkDuration: 15,
overlapDuration: 0.2,
maxFileSize: 307200,
maxConcurrency: 4,
timeout: 30000,
retryAttempts: 2,
},
summarization: {
model: 'gpt-4o',
maxTokens: 1024,
systemPrompt: 'Summarize the following meeting transcript.',
extractActionItems: true,
extractKeyPoints: true,
},
};
const processor = new VoiceProcessor(voiceConfig, llmProvider);
const audio = await readFile('/recordings/meeting-2026-04-27.wav');
const result = await processor.transcribeAndSummarize(
new Uint8Array(audio),
'Summarize this meeting and extract action items.',
{ format: AudioFormat.WAV, diarization: true },
);
console.log(`Transcript: ${result.transcript}`);
console.log(`Summary: ${result.summary}`);
console.log(`Key Points: ${result.keyPoints.join(', ')}`);
console.log(`Action Items: ${result.actionItems.length}`);
for (const item of result.actionItems) {
console.log(` - ${item.description} (${item.assignee ?? 'unassigned'})`);
}
console.log(`Speakers: ${result.speakers?.join(', ')}`);Documentation
Full API reference and guides: https://carbonforge.io/framework/docs/ai/ai-voice
(Documentation site launching soon.)
License
MIT © Carbon Forge
