How notos15/proyecto_diarizacion works
This is a local audio-speaker diarization application, available through a console menu and a Flask web interface. The user selects or uploads an audio file; both entry points invoke the same analysis, which prepares audio, finds voice intervals, extracts speaker embeddings, groups them, and builds a report of attributed segments and participation times. The web client displays and can download that report. The README documents no implemented source separation, and the current analysis does not separate overlapping voices. Analysis-stage links follow the README; detailed implementation excerpts were partial.
Main entry points: app.js Web client · diarizacion.py Audio preparation · menu.py Console menu · servidor.py HTTP server
Components 15
Entry points
- Console menu
src/menu.py - HTTP server
src/servidor.py
Diarization analysis
- Audio preparation
src/diarizacion.py - Voice detection
src/diarizacion.py - Voice contexts
src/diarizacion.py - Speaker embeddings
src/diarizacion.py - Speaker grouping
src/diarizacion.py - Segment attribution
src/diarizacion.py - Participation report
src/diarizacion.py
Voice model
- ERes2Net encoder
src/modelo_voz.py
Results interfaces
- Web client
web/static/app.js - Upload page
web/templates/index.html
Other components
- User
- Model download host
- Browser user
Connections 19
- User → Console menu: selects audio
- Console menu → Audio preparation: invokes analysis
- User → Upload page: opens page
- Upload page → Web client: loads client
- Browser user → Web client: selects audio
- Web client → HTTP server: posts audio
- HTTP server → Audio preparation: invokes analysis
- Audio preparation → Voice detection: prepared waveform
- Voice detection → Voice contexts: voice intervals
- Voice contexts → Speaker embeddings: voice contexts
- Speaker embeddings → ERes2Net encoder: requests embeddings
- ERes2Net encoder → Model download host: downloads model
- Speaker embeddings → Speaker grouping: embedding vectors
- Speaker grouping → Segment attribution: speaker labels
- Segment attribution → Participation report: builds report
- Audio preparation → Participation report: returns report
- HTTP server → Web client: returns JSON
- Web client → Browser user: displays results
- Console menu → User: prints results