# Proof maker Ez egy túlkomplikált script arra, hogy egy hosszú (akár több órás) hangmintáról megmondja, hogy mekkora arányban azonosítja madárhangnak az SVM alapú MI. ## Hogy működik? Több lépésből áll a lefutása: - Hangminta felszeletelése 1 sec hosszú darabokra (`big_chop.py`) - Minták elküldése egy svm-prefilter-service számára (`push_csirip.py`) - Átengedett hangminták megszámolása (`evaluation_server.py`) Az SVM prefilter szolgáltatás ugyanaz, mint ami a felhőben is fut, ezért itt a felhős környezetet emuláljuk le. A `push_csirip.py` script ugyanolyan formátumban küldi fel a mintákat, ahogy egy birbox tenné. A minta számát az `device_id` mezőbe kódolja (úgy ahogy a TDK-s benchmarkoknál csináltuk). A prefilter service fogadja a mintákat, lefutattja az elemzést és ha úgy itéli, akkor továbbítja azokat. A továbbított minták a felhő helyett az `evaluation_server.py` által futtatott szolgáltatásba érkezenek, amely egy fájlhoz hozzáfűzi az érkezett minta számát. A mérés kiértékeléséhez ennek a fájlnak a sorait kell megszámolni és összevetni az elküldött minták számával. ## Futtatás Hangminták előkészítése: ```bash python3 big_chop.py [hosszú hang elérése] [minták száma] ``` A kimenet a `big_chop_output` mappába kerül mentésre, a `push_csirip.py` ezt használja. El kell indítani egy prefilter szervice példányt: ```bash ./run_prefilter_service.sh ``` **Megjegyzés:** Ha podman helyett dockert használunk, akkor át kell írni a fájlban. El kell indítani az evaluation server-t: ```bash python3 evaluation_server.py ``` A kimenete az `arrived.txt` fájlba kerül, ha egy előző futás példánya itt maradt, azt le kell törölni előbb, mert hozzáfűzi. Ha fut a két szolgáltatás, el lehet kezdeni küldeni bele a mintákat: ```bash python3 push_csirip.py [szünet két küldés között másodpercben] ```