Skip to content

Specifications

Jonas edited this page Feb 22, 2020 · 3 revisions

Detailed specifications

They are 3 principle stages:

  • The minimal viable product
  • The V.1.0, which we aim for the due date
  • The V.1.1, which will only be realised if we have enough time

MVP

  • Upload a sound
    • Make an API to upload a sound to the website
    • Store the file reference in a database
  • Split a sound in different tracks (via deezer/spleeter AI)
    • in 2 stems
    • in 4 stems
    • in 5 stems
    • Make an API access point to download the stems
      • The stems should only be accessible to the request issuer
    • As the request are time consuming (too long for http)
      • Use websockets to notify the user when a task is finished
      • Use celery to run background tasks
      • Use redis as broker to notify when a task is finished
  • Display the split tracks in the browser
    • Play the track(s)
    • Mute the track(s)
  • User authentification
    • 2 roles (registered and unregistered)
      • unregistered : has only access to the home page
      • registered : has access to all the end points and pages

V.1

  • Customisable tracks with effects
    • Display a list of available audio effects
    • Apply an effect to a track
    • Store the modified track in the database
  • Download the modified tracks

V.1.1

  • Customisable layout (drag & drop)
  • Stereo
Clone this wiki locally