Added AI Disabled mode

This commit is contained in:
Pünkösd Marcell 2021-11-18 21:51:50 +01:00
parent 549768f1d1
commit 8ad70772dc
3 changed files with 32 additions and 10 deletions

View File

@ -1,8 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from utils import config
# config may modify imports
import logging import logging
import sentry_sdk import sentry_sdk
from sentry_sdk.integrations.logging import LoggingIntegration from sentry_sdk.integrations.logging import LoggingIntegration
from utils import config, LoopingTimer from utils import LoopingTimer
from signal_processor import SoundSignalProcessor from signal_processor import SoundSignalProcessor
from birbnetes_iot_platform_raspberry import BirbnetesIoTPlatformStatusDriver, BirbnetesIoTPlatformRecordDriver from birbnetes_iot_platform_raspberry import BirbnetesIoTPlatformStatusDriver, BirbnetesIoTPlatformRecordDriver
from actuator import Loudspeaker from actuator import Loudspeaker

View File

@ -1,16 +1,19 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import requests
from urllib.parse import urljoin
from pyAudioAnalysis.audioTrainTest import load_model, load_model_knn, classifier_wrapper
from utils import config from utils import config
from .abcpreprocessor import AbcPreProcessor from .abcpreprocessor import AbcPreProcessor
import tempfile
import os
import logging import logging
from pyAudioAnalysis import audioBasicIO if not config.DISABLE_AI:
from pyAudioAnalysis import MidTermFeatures import tempfile
import numpy import requests
from urllib.parse import urljoin
import os
from pyAudioAnalysis.audioTrainTest import load_model, load_model_knn, classifier_wrapper
from pyAudioAnalysis import audioBasicIO
from pyAudioAnalysis import MidTermFeatures
import numpy
from birbnetes_iot_platform_raspberry import BirbnetesIoTPlatformStatusDriver from birbnetes_iot_platform_raspberry import BirbnetesIoTPlatformStatusDriver
@ -24,7 +27,7 @@ __module_name__ = "soundpreprocessor"
__version__text__ = "1" __version__text__ = "1"
class SoundPreProcessor(AbcPreProcessor): class SoundPreProcessorLegit(AbcPreProcessor):
""" """
SoundPreProcessor class, responsible for detecting birb chirps in sound sample. SoundPreProcessor class, responsible for detecting birb chirps in sound sample.
""" """
@ -142,3 +145,18 @@ class SoundPreProcessor(AbcPreProcessor):
os.remove(self._temp_means_name) os.remove(self._temp_means_name)
except FileNotFoundError: except FileNotFoundError:
pass pass
class SoundPreProcessorDummy(AbcPreProcessor):
def __init__(self):
print("AI is disabled! Initializing dummy sound pre-processor...")
def preprocesssignal(self, file_path) -> bool:
return True
if config.DISABLE_AI:
SoundPreProcessor = SoundPreProcessorDummy
else:
SoundPreProcessor = SoundPreProcessorLegit

View File

@ -32,3 +32,5 @@ SVM_MODEL_ID = os.environ.get("SVM_MODEL_ID")
API_URL = os.environ.get("API_URL", "http://localhost:8080") API_URL = os.environ.get("API_URL", "http://localhost:8080")
REPORT_URL = os.environ.get("REPORT_URL", None) REPORT_URL = os.environ.get("REPORT_URL", None)
REPORT_INTERVAL = float(os.environ.get("REPORT_INTERVAL", 15)) REPORT_INTERVAL = float(os.environ.get("REPORT_INTERVAL", 15))
DISABLE_AI = os.environ.get("DISABLE_AI").lower() in ['yes', '1', 'true']