Elanas commited on
Commit
755c7ae
·
verified ·
1 Parent(s): ee4d958

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +94 -0
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.