VirtualMeetings — Ghid operațional
Pentru cine: Pavel înainte de o ședință TM Sibiu, sau oricine vrea să înțeleagă / preia tool-ul. Timp de citit: 5 minute.
Ce face acest tool
Un asistent AI invizibil care rulează pe MacBook-ul tău în timp ce ești la o ședință Toastmasters:
- Ascultă discursurile prin microfon → le transcrie local cu Whisper (fără cloud STT)
- Detectează filler-uri (
ăă,deci,păi,gen), propoziții incomplete, anglicisme - Analizează fiecare discurs cu Claude la finalul vorbitorului (batch, calitate maximă)
- Urmărește timing-ul per vorbitor (verde/galben/roșu per standard TM)
- Produce la final fișe PDF-ready: Gramatician›, Numărător›, Cronometror›, Timeline
Zoom nu știe că rulează. Audio nu pleacă din Mac. Totul e local.
Arhitectura în 30 de secunde
Microfon Mac
│ (captează ce aud speakers-ii — vorbitorii din Zoom)
▼
mic_consumer.py → ai-service (port 8000)
├── Silero VAD (filtru tăcere)
├── Whisper M1 (transcriere, ~1s latență)
├── Filler det. (3 niveluri: audio+text+AI)
└── Claude (analiză batch per vorbitor)
↓
Browser UI http://127.0.0.1:8000
CLI chat (terminal)
Un singur proces pornit din terminal. Browser-ul se deschide automat.
Înainte de ședință (5 minute)
1. Pornire
cd ~/Code/VirtualMeetings/apps/cli
source .venv/bin/activate
toastmasters --mic
--mic = captează din microfon (config validată TM Sibiu 2026-05-13/20).
Browser-ul se deschide automat la http://127.0.0.1:8000.
2. Setup audio
❌ NU pune căști
✅ Lasă speakers Mac ON, volum 50-70%
✅ Zoom va reda vocile prin boxe → micul le captează
Indicator dB live în header browser (🟢 > -40 dB). Dacă e roșu, urcă volumul.
3. Setează cuvântul zilei
cuv perspicace adjectiv
4. Setează rolurile (opțional, dar recomandat)
rol presedinte Andrei
rol toastmaster Maria
rol vorbitor1 Cornel
rol vorbitor2 Diana
Sau prescurtat: rol v1 Cornel, rol v2 Diana, rol tm Maria, rol pres Andrei.
Dacă nu le setezi → fișa finală arată participanți detectați, fără ordinea oficială ședință.
În ședință
La fiecare schimbare de vorbitor
n Cornel
Asta face 3 lucruri automat: 1. Trimite discursul anterior la Claude pentru analiză (batch — 20-30s în background) 2. Resetează timer și îl pornește pentru Cornel 3. Marchează slot_end pentru vorbitorul anterior
Comenzile pe care le folosești cel mai des
| Comandă | Când |
|---|---|
n <Nume> |
La fiecare schimbare de vorbitor (esențial) |
cuv <cuv> [pos] |
Setezi WoD› la început |
rol <id> <Nume> |
Asignezi roluri pre-ședință |
fisa |
Preview fișă gramatician în terminal |
num |
Preview fișă numărător live |
status |
Sumar curent (speaker, fillers, issues) |
audio mic |
Dacă pipeline-ul crapă → restart instant |
iesi |
La final → salvează tot + deschide raport |
Dacă ceva merge prost
| Simptom | Fix |
|---|---|
chunks: 0, nu se transcrie nimic |
audio mic în CLI |
🔴 în indicator dB |
Urcă volumul speakers Mac |
| Browser nu arată nimic | Cmd+R în browser |
| CLI blochează | audio restart |
Browser UI — ce vezi
┌─────────────────────────────────────────────────────────────────┐
│ 19:42:30 🟢 -32dB | 🎤 Cornel | Cronometror: 🟢 3:15 │
├───────────────┬──────────────────┬──────────────┬───────────────┤
│ AGENDA │ TRANSCRIPT │ ISSUES │ NOTIȚELE MELE│
│ ▶ Vorbitor2 │ ...ce spune │ ⚠ 3 erori │ [textarea] │
│ → Vorbitor3 │ Cornel live... │ ✨ 1 expr │ │
│ ○ Table Top │ │ 📝 WoD: 1× │ │
└───────────────┴──────────────────┴──────────────┴───────────────┘
- Col 1: Agenda cu highlight curent/următor, countdown ETA
- Col 2: Transcript live, per chunk
- Col 3: Erori gramaticale + expresii creative + WoD — populate batch după
n <Next> - Col 4: Notițele tale — se timestampează automat, intră în raportul final
La final
iesi
Se generează în ~/Documents/Toastmasters/sessions/<data>/:
| Fișier | Ce e |
|---|---|
fisa_gramatician.html |
Fișa oficială: 4 coloane × toți vorbitorii |
fisa_numarator.html |
Filler-uri per vorbitor + densitate/min |
fisa_cronometror.html |
Timing per vorbitor (verde/galben/roșu) |
timeline_corelat.html |
TOOL vs PAVEL vs AMBELE interleaved |
report.html |
Raport complet cu toate |
session.json |
Date brute (pentru re-procesare) |
Browser-ul deschide automat report.html.
Conceptul (pentru a explica altor membri TM)
„Un tool local care îmi citește discursurile voastre în timp real și îmi face fișa gata pentru raportul de Gramatician — fără să încarce nimic în cloud.”
Tehnologie: - Whisper (OpenAI, open-source) rulează pe chip-ul Mac → ~1s latență - Claude (AI) analizează gramatica română după ce vorbitorul termină → calitate maximă - Tot local — Zoom nu știe că există, GDPR irelevant (date nu ies din calculator)
Ce face mai bine decât manual: - Nu pierde nicio eroare (eu pierd ~30% din distracție) - Timestampează fiecare observație → pot reveni în transcript să verific - Generează fișa în 2 secunde, eu o livrez direct din browser
Limitări actuale: - Rulează doar pe Mac (chip M1/M2/M3) - Necesită Zoom cu speakers activi (nu funcționează cu căști) - Transcriere română ~85-90% accuracy (diacritice uneori lipsesc)
Roluri suportate
| Rol | Status | Ce face tool-ul |
|---|---|---|
| Gramatician | ✅ Complet | Erori + creative + WoD + incomplete + notițe |
| Numărător de Ă-uri› | ✅ Complet | Filler detection 3 niveluri + densitate + raport |
| Cronometror | ✅ Complet | Timer› 3 culori (verde/galben/roșu) + fișă |
| Toastmaster› | 🟡 Parțial | Agenda cu highlight automat |
| Evaluator› | ❌ Planificat | Faza 2 post 2026-05-20 |
Configurație validată TM Sibiu
audio mic ← ACEASTĂ configurație. Validat 2026-05-13 + 2026-05-20.
- Speakers Mac activi, volum 50-70%
- NU căști
- NU
audio zoom(Zoom procesează audio agresiv → Whisper halucinează)