juancopi81 / komposair

Create melodies with AI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Actions Status

Komposair

Komposair was selected by TensorFlow for the TensorFlow Community Spotlight program on December 2020

Komposair is a web app that lets musician create melodies using AI. Visit Komposar at https://www.komposair.com/

  • Create melodies based on your motif
  • Explore other melodies created by the community
  • Save your melodies, download them as midi files, vote for your favorites and comment them

In the browser

  • Komposair needs no installation you can use it right in your browser
  • We use Tone.js and Magenta so you can hear the melodies in the browser or export them as a midi file if you prefer

You can also:

  • Upload your model (to be done, for the moment feel free to send us and email with your model)
  • Find a random melody if you feel lucky

The models to create melodies will be improved, the melodies are generated using motifs of the users. The motif is one building block for melody compositions. Find more information about motifs

Arnold Schönberg defines a motif as:

a unit which contains one or more features of interval and rhythm [whose] presence is maintained in constant use throughout a piece

Tech

Komposair uses several open source projects to work properly:

  • Django - A high-level Python Web framework that encourages rapid development and clean, pragmatic design
  • Start Bootstrap - Simple Sidebar - Simple Sidebar is an off canvas sidebar navigation template for Bootstrap created by Start Bootstrap.
  • Vexflow - online music notation rendering API. It is written completely in JavaScript and runs right in the browser. VexFlow supports HTML5 Canvas and SVG.
  • [Twitter Bootstrap] - Great UI boilerplate for modern web apps
  • Magenta.js - a collection of TypeScript libraries for doing inference with pre-trained Magenta models
  • Tensorflow - Open source library to help you develop and train ML models
  • Music21 - A toolkit for computer-aided musicology
  • Tone.js - a Web Audio framework for creating interactive music in the browser
  • Django Markdownify - A Django Markdown filter
  • Handlebars.js - Minimal templating on steroids

And of course Komposair itself is open source with a public repository on GitHub.

CS50's Web Programming with Python and JavaScript

Komposair is my final project for the course CS50's Web Programming with Python and Javascript. I tried to use many of the concepts taught by Prof. Bryan Yu. These are the files insides Komposair:

  • Komposair: Root project: settings, urls, init...
  • Media: Media files of the project
  • Melody: This is the main app of Komposair, with the static files, templates views
  • Users: This is the app that handles user registration, login, logout

The project is mobile responsive and uses Javascript and Django with more than one model. I think that it satisfies the requirements of the course.

Support

Want to contribute? Great!

Please feel free to contact me if you want to send a model or contribute in any other way

To-dos

  • Write more models train on different genres
  • Add more options, such as, other time signatures,
  • Add more features in the melody detail view: Suggested lyrics and harmonizaties using AI

License

MIT

Free Software, Hell Yeah!

About

Create melodies with AI

License:MIT License


Languages

Language:Python 45.1%Language:HTML 28.8%Language:JavaScript 19.5%Language:CSS 6.5%