Spaces:
Sleeping
Sleeping
Upload README.md
Browse files
README.md
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 🧠 Šnekos Atpažinimo Demonstracija (3 kalbėtojai + slaptažodis)
|
2 |
+
|
3 |
+
Š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.
|
4 |
+
|
5 |
+
---
|
6 |
+
|
7 |
+
## 🔧 Funkcijos
|
8 |
+
|
9 |
+
### 🗣️ 1. Kalbėtojų analizė:
|
10 |
+
- Įkelkite `.wav` su 3 kalbėtojais
|
11 |
+
- Pasirinkite modelį: `Whisper` arba `Wav2Vec2`
|
12 |
+
- Sistema:
|
13 |
+
- Segmentuoja kalbėtojus
|
14 |
+
- Atpažįsta kalbą kiekvienam (pvz., A – vokiečių, B – lietuvių, C – anglų)
|
15 |
+
- Parodo, kuris kalbėtojas kalbėjo lietuviškai
|
16 |
+
- ✅ Sugeneruoja **JSON ataskaitą**
|
17 |
+
|
18 |
+
### 🔐 2. Slaptažodžio tikrinimas:
|
19 |
+
- Įkelkite atskirą `.wav` failą su išsakytu lietuvišku slaptažodžiu
|
20 |
+
- Įveskite tikrąjį slaptažodį klaviatūra
|
21 |
+
- Pasirinkite modelį
|
22 |
+
- Sistema:
|
23 |
+
- Transkribuoja įkeltą .wav
|
24 |
+
- Lygina su įvestu slaptažodžiu
|
25 |
+
- Parodo rezultatą
|
26 |
+
|
27 |
+
### 📊 3. Bendra ataskaita:
|
28 |
+
- Mygtukas „📊 Peržiūrėti ataskaitą“
|
29 |
+
- Ataskaita apjungia:
|
30 |
+
- `whisper.json`
|
31 |
+
- `wav2vec2.json`
|
32 |
+
- Parodo kalbėtojų transkripcijas ir kiekvieno modelio analizės trukmę
|
33 |
+
|
34 |
+
### 🔉 4. Triukšmo filtravimas (nauja funkcija)
|
35 |
+
- Prieš atliekant kalbėtojų analizę galima pasirinkti triukšmo šalinimo metodą:
|
36 |
+
- `Nefiltruoti` – įrašas bus perduodamas kaip yra
|
37 |
+
- `Denoiser` – naudojamas **Asteroid DCCRNet** modelis (mokytas su Libri1Mix)
|
38 |
+
- `Wave-U-Net` – paprastas neuroninis modelis triukšmui mažinti
|
39 |
+
- Jei pasirenkamas filtravimas, įkeltas `.wav` failas:
|
40 |
+
- išfiltruojamas,
|
41 |
+
- rezultatas įrašomas į `temp_filtered/ivestis.wav`,
|
42 |
+
- ir tik tuomet perduodamas analizei.
|
43 |
+
- Tai leidžia pagerinti kalbos atpažinimo kokybę triukšmingose situacijose.
|
44 |
+
|
45 |
+
---
|
46 |
+
|
47 |
+
## 📁 JSON Ataskaita
|
48 |
+
|
49 |
+
Kiekvienam modelio analizės paleidimui sugeneruojamas JSON failas:
|
50 |
+
|
51 |
+
- `rezultatai/whisper.json`
|
52 |
+
- `rezultatai/wav2vec2.json`
|
53 |
+
|
54 |
+
Formatas:
|
55 |
+
```json
|
56 |
+
{
|
57 |
+
"modelis": "Whisper",
|
58 |
+
"apdorojimo_laikas": 12.34,
|
59 |
+
"apdorojimo_laikas_tekstu": "0 min. 12 sek.",
|
60 |
+
"segmentai": [
|
61 |
+
{
|
62 |
+
"kalbetojas": "B",
|
63 |
+
"kalba": "lt",
|
64 |
+
"tekstas": "Aktyvuok sistemą",
|
65 |
+
"trukme": 4.2
|
66 |
+
}
|
67 |
+
]
|
68 |
+
}
|
69 |
+
|
70 |
+
---
|
71 |
+
|
72 |
+
## 🧠 Naudojamos technologijos
|
73 |
+
|
74 |
+
- `gradio` – naudotojo sąsaja
|
75 |
+
- `openai-whisper` – kalbos atpažinimas (multi-lingual)
|
76 |
+
- `wav2vec2` – kalbos modeliai iš Hugging Face
|
77 |
+
- `pyannote.audio` – kalbėtojų diarizacija
|
78 |
+
- `torchaudio` – garso apdorojimas
|
79 |
+
- `json` – ataskaitų išvestis
|
80 |
+
- `asteroid` – triukšmo šalinimo modelis (Denoiser / DCCRNet)
|
81 |
+
- `Wave-U-Net` – paprasas triukšmo šalinimo tinklas
|
82 |
+
- `ataskaita.py` – JSON ataskaitos analizės generatorius
|
83 |
+
|
84 |
+
---
|
85 |
+
|
86 |
+
## 💡 Pastabos
|
87 |
+
|
88 |
+
- Tik vienas kalbėtojas turėtų kalbėti lietuviškai
|
89 |
+
- Slaptažodis tikrinamas **tik per atskirą įkeltą failą**
|
90 |
+
- VOSK modeliai šioje demonstracijoje nenaudojami (jie yra PC versijoje)
|
91 |
+
|
92 |
+
---
|
93 |
+
|
94 |
+
🔒 Sukurta kaip akademinio darbo dalis – šnekos atpažinimo sistemų demonstracija realiam saugos scenarijui.
|