projektas1-demo-hf1 / README.md
Elanas's picture
Upload README.md
755c7ae verified
|
raw
history blame
3.04 kB

🧠 Š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 arba Wav2Vec2
  • 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 yra
    • Denoiser – 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.