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
- 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
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.
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.
Want to contribute? Great!
Please feel free to contact me if you want to send a model or contribute in any other way
- 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
MIT
Free Software, Hell Yeah!