Spaces:
Sleeping
Sleeping
🧠 Šnekos Atpažinimo Demonstracija (3 kalbėtojai + slaptažodis)
Ši demonstracija leidžia įkelti WAV garso įrašą su trimis kalbėtojais, automatiškai atpažinti jų kalbas (lt, en, de), priskirti žymes (A, B, C) ir atskirai patikrinti lietuviškai ištartą slaptažodį iš kito garso įrašo.
🔧 Funkcijos
🗣️ 1. Kalbėtojų analizė:
- Įkelkite
.wav
su 3 kalbėtojais - Pasirinkite modelį:
Whisper
arbaWav2Vec2
- Sistema:
- Segmentuoja kalbėtojus
- Atpažįsta kalbą kiekvienam (pvz., A – vokiečių, B – lietuvių, C – anglų)
- Parodo, kuris kalbėtojas kalbėjo lietuviškai
- ✅ Sugeneruoja JSON ataskaitą
🔐 2. Slaptažodžio tikrinimas:
- Įkelkite atskirą
.wav
failą su išsakytu lietuvišku slaptažodžiu - Įveskite tikrąjį slaptažodį klaviatūra
- Pasirinkite modelį
- Sistema:
- Transkribuoja įkeltą .wav
- Lygina su įvestu slaptažodžiu
- Parodo rezultatą
📊 3. Bendra ataskaita:
- Mygtukas „📊 Peržiūrėti ataskaitą“
- Ataskaita apjungia:
whisper.json
wav2vec2.json
- Parodo kalbėtojų transkripcijas ir kiekvieno modelio analizės trukmę
🔉 4. Triukšmo filtravimas (nauja funkcija)
- Prieš atliekant kalbėtojų analizę galima pasirinkti triukšmo šalinimo metodą:
Nefiltruoti
– įrašas bus perduodamas kaip yraDenoiser
– naudojamas Asteroid DCCRNet modelis (mokytas su Libri1Mix)Wave-U-Net
– paprastas neuroninis modelis triukšmui mažinti
- Jei pasirenkamas filtravimas, įkeltas
.wav
failas:- išfiltruojamas,
- rezultatas įrašomas į
temp_filtered/ivestis.wav
, - ir tik tuomet perduodamas analizei.
- Tai leidžia pagerinti kalbos atpažinimo kokybę triukšmingose situacijose.
📁 JSON Ataskaita
Kiekvienam modelio analizės paleidimui sugeneruojamas JSON failas:
rezultatai/whisper.json
rezultatai/wav2vec2.json
Formatas:
{
"modelis": "Whisper",
"apdorojimo_laikas": 12.34,
"apdorojimo_laikas_tekstu": "0 min. 12 sek.",
"segmentai": [
{
"kalbetojas": "B",
"kalba": "lt",
"tekstas": "Aktyvuok sistemą",
"trukme": 4.2
}
]
}
---
## 🧠 Naudojamos technologijos
- `gradio` – naudotojo sąsaja
- `openai-whisper` – kalbos atpažinimas (multi-lingual)
- `wav2vec2` – kalbos modeliai iš Hugging Face
- `pyannote.audio` – kalbėtojų diarizacija
- `torchaudio` – garso apdorojimas
- `json` – ataskaitų išvestis
- `asteroid` – triukšmo šalinimo modelis (Denoiser / DCCRNet)
- `Wave-U-Net` – paprasas triukšmo šalinimo tinklas
- `ataskaita.py` – JSON ataskaitos analizės generatorius
---
## 💡 Pastabos
- Tik vienas kalbėtojas turėtų kalbėti lietuviškai
- Slaptažodis tikrinamas **tik per atskirą įkeltą failą**
- VOSK modeliai šioje demonstracijoje nenaudojami (jie yra PC versijoje)
---
🔒 Sukurta kaip akademinio darbo dalis – šnekos atpažinimo sistemų demonstracija realiam saugos scenarijui.