import OpenAI from 'openai';
export class VoiceService {
private readonly openai: OpenAI;
constructor() {
const apiKey = process.env.OPENAI_API_KEY;
if (!apiKey) {
throw new Error('OPENAI_API_KEY environment variable is not set');
}
this.openai = new OpenAI({ apiKey });
}
async transcribeAudio(audioBuffer: Buffer): Promise<string> {
try {
const response = await this.openai.audio.transcriptions.create({
file: new File([audioBuffer], 'audio.wav', { type: 'audio/wav' }),
model: 'whisper-1',
});
return response.text;
} catch (error) {
console.error('Error transcribing audio:', error);
throw new Error('Failed to transcribe audio');
}
}
}