feat(S2-02b): Implement AssemblyAI external transcription with speaker diarization

- Add assembly.ts module for REST API transcription via AssemblyAI
- Implement 5-step pipeline: upload → create job → poll status → download → save
- Enable speaker_labels for diarization (Speaker A, B, C...)
- Add millisecond-precision timestamps for each utterance
- Store JSON transcripts in storage/transcripts/{session_id}.json
- Add axios, dotenv dependencies
- Add transcribeLatest.ts helper for quick testing

User Story: S2-02b - Externe Transkription per REST API
This commit is contained in:
Azeufack Noupeu Willy
2025-11-13 13:07:18 +01:00
parent 749e44f322
commit e7e97a7f60
7 changed files with 579 additions and 0 deletions
@@ -0,0 +1,14 @@
import 'dotenv/config';
import assemblyModule from './assembly.ts';
// Test: URL passed as argument OR local file ./storage/audio/test.wav
const audioPath = process.argv[2] || './storage/audio/test.wav';
assemblyModule.run(audioPath)
.then(result => {
console.log('✅ Success!');
console.log('Transcript ID:', result.id);
})
.catch(error => {
console.error('❌ Error:', error?.message || error);
});