Skip to content

shoma-mano/Lofi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LOFI

LOFI is a ML-supported lo-fi music generator. We trained a VAE model in PyTorch to represent a lo-fi track as a vector of 100 features. A lo-fi track consists of chords, melodies, and other musical parameters. The web client uses Tone.js to make a dusty lo-fi track out of these parameters.

Click here for a pre-generated lo-fi playlist!

Architecture

  • Client: The client is written in TypeScript and built with Webpack. It uses Tone.js to generate music.
  • Model: The model is implemented in PyTorch. We synthesized various datasets, including Hooktheory and Spotify.
  • Server: The server is a basic Flask instance that deploys the trained model checkpoint. The client communicates with the server using a REST API.

Setup

If you only want to tinker around with the client, you will only need the client folder. This will use the project's server as the backend.

If you want to deploy your own model, you can either train your own model (see the instructions in the model) or download the pre-trained checkpoint from here. Once you have deployed the server, change the server address inside client\src\api.ts.

About

ML-supported lo-fi music generator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 43.8%
  • Python 39.0%
  • SCSS 12.2%
  • HTML 3.9%
  • Other 1.1%