Source code for eclypse.builders.application.keyword_spotting.rest_services.preprocess

"""REST endpoints for audio preprocessing."""

from eclypse.remote.communication import rest
from eclypse.remote.service import RESTService
from eclypse.utils import format_log_kv


[docs] class PreprocessService(RESTService): """Turn raw samples into simple features."""
[docs] @rest.endpoint("/preprocess", "POST") def preprocess(self, window_id: int, samples: list[float], **_): """Convert raw audio samples into a simple feature vector.""" self.logger.info( "Received request | " + format_log_kv(window_id=window_id, samples=samples) ) return 200, { "window_id": window_id, "features": [sample * 10 for sample in samples], }