media-annotator icon indicating copy to clipboard operation
media-annotator copied to clipboard

Web-based annotation tool for media data. The easiest way to create you own media dataset.

GitHub Workflow Status Backend size Frontend size Project license GitHub issues

Media-annotator

Web-based annotation tool for media data.

Features

  • Uploading selected audio-files from directory. Currently, only .wav .mp3 files are supported.
  • Manual and auto transcribing for 20+ languages and dialects via Vosk

    ℹ️ Auto annotation will use the first channel of .mp3.

  • Export of the speech regions as zip of wavs and regions.csv or regions.json

How to use

  1. Run app as docker image

    docker-compose up -d

  2. Open app page

How to debug

  1. Install conda/miniconda/micromamba and node+npm

  2. Clone repository, create python environment using conda manager and activate it

    git clone https://github.com/ruslantau/media-annotator
    cd annotator
    conda env create -f backend/environment.yaml
    conda activate annotator
    
  3. Run FastAPI backend

    python backend/main.py
    
  4. Install dependencies and run Nuxt frontend

    cd frontend
    npm install
    npm run build 
    npm run start
    
  5. Open app page

TODO

  • [x] add docker images and setup CI/CD
  • [ ] extend the list of supported formats (mp4,flac,avi,etc.)
  • [ ] running auto annotation on selected region
  • [ ] adding punctuation
  • [ ] speaker diarisation