Skip to content

michaelong7/speech_feature_online

 
 

Repository files navigation

Speech Feature Online

This repo contains a prototype for Speech Feature Online, a web interface that allows users to take advantage of Shennong and other speech analysis tools without having to learn Python or install anything on their own machine.

How it's made

Speech Feature Online is built with FastAPI's many functionalities, and offers a decent portion of Shennong's features. There are plans to add wav2vec functionality alongside Shennong in the future.

It includes a simple web interface built with React.js for uploading files and creating analysis jobs. Job requests are sento to a Python webserver built using the FastAPI framework. The API creates an analysis job using a Celery processing queue backed by PostreSQL and Redis. A python worker running Shennong will execute the analysis and send the results to the user's email.

Installation

In order to run SFO, you should have Docker and docker-compose installed on your local machine. You will also need to copy the included sample.env file to a new file called .env and update the values as appropriate to your local environment.

The worker and api images should install all required dependencies the first time you bring up the stack. However, you will need to install the React dependencies manually (mainly to avoid headaches with bind mounts). To do this, run docker-compose run --rm --entrypoint='' react yarn install from the project root. Then you should be able to run docker-compose up from the project root to bring everything up. You should be able to view the application in the browser at the address localhost:${REACT_PORT}, where REACT_PORT is the corresponding value specified in the .env file. Note that you will need to restart the stack by running docker-compose up following any changes to the .env file or any other updates to the environment. If you'd rather the programs run in the background, add the -d switch: docker-compose up -d.

About

Speech Feature Online lets users analyse speech audio without a line of code of their own.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 59.9%
  • Python 32.2%
  • Shell 3.1%
  • JavaScript 2.2%
  • Dockerfile 1.3%
  • HTML 1.0%
  • Other 0.3%