Skip to content

A set of pre-configured Docker containers for deploying a Query-by-Example Spoken Term Detection service.

Notifications You must be signed in to change notification settings

parledoct/qbestdocks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QbESTDocks

A reference implementation for a Query-by-Example Spoken Term Detection service.

About

This repository accompanies our QbE-STD evaluation experiments (https://github.com/fauxneticien/qbe-std_feats_eval) and paper (https://arxiv.org/pdf/2103.14583; 10-min video summary: https://www.youtube.com/watch?v=FXYP5hoXP8o), providing a reference implementation (i.e. not production ready!) to demonstrate the various components needed to create a self-service QbE-STD system for end users.

Implementation overview

Back-end

The backend intentionally relies on a set of mature and well-maintained technologies (Docker, PostgreSQL, S3, Celery) that can easily interface with different programming languages and that are entirely agnostic to the choice of front-end and, with Celery as a task queue, also relatively agnostic to the language in which the API is implemented (there are Celery clients for Python, Node.js, PHP, and Go). An asynchronous task queue is necessary to deal with long-running tasks (e.g. running dynamic time warping based search on all pairs of query and corpus audio files).

Front-end

The front-end (created by Laura Dominé) lets the end user upload audio files to perform QbE searches:

  1. Upload audio files (demo files available in docs/demo-files.zip)

  1. Annotate speech regions of interest to be used as search queries

  1. Configure new search with 1 or more query and corpus audio files

  1. View search results (time regions in the corpus audio files with high similarity to the search queries)

Usage

Launch/build containers

git clone https://github.com/parledoct/qbestdocks.git
cd qbestdocks
# Launch containers in detached mode
docker-compose up -d

# If needed, use --build and --force-recreate to launch a fresh set
# docker-compose up -d --build --force-recreate

Monitor services

# Follow the stdout of a specific container
docker-compose log -f api

Access services

Note for all services below user/password details are configured as environment variables (see docker-compose.env).

Teardown

docker-compose down

About

A set of pre-configured Docker containers for deploying a Query-by-Example Spoken Term Detection service.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published