Machine Learning Music Generation Website

Team Name

Bard-Bot AI

Timeline

Spring 2022 – Summer 2022

Students

  • Jacob Valdez
  • Dorsey Roten
  • David K Nguyen
  • Richard Robertson
  • Foram Khatiwala

Abstract

Bard-Bot is a web application that supercharges creative users with machine learning models to synthesize, modify, and analyze music. Users are not required to create an account, waive content ownership rights, or pay royalties to use this application.

Background

People such as content creators, small businesses, conference organizations, and private individuals consistently need different types of music, such as intro/outro music, filler music, and background, or ambient music in order to fill their presentations or media with interesting sounds and keep attention with their audience. Certain music also has been shown in studies to improve mood and memory. On top of this, many people in this world spend a monthly subscription fee in order to access their music libraries, or struggle over licensing/copyright issues which cause massive amounts of effort and money to be spent making sure all parties involved are properly compensated. Us on the Bard-Bot Team wish to cut everyone out of this loop, and offer nothing but music to the end-user, for whichever purposes they desire, for free.

Project Requirements

  • The Bard-Bot application shall have features: Semantic clustering of songs, MIDI to waveform conversion, Waveform to MIDI conversion, Title recommendation, Lyric generation, Motif generation.
  • The “look and feel” of the Bard-Bot application should convey what each potential end-user should expect the product to do and/or not do. The user must be able to read and follow on-screen directions, and familiarity with classic website iconography and conventional web-UI practices is recommended.
  • The Bard-Bot web application shall be distributed via the Internet. Users will navigate to bardbot.com, bard-bot.com, or perhaps bardbot.ai to receive the application.
  • The Bard-Bot application sub-components shall be containerized into individual containers, with the web-app, each machine learning model, and the machine learning networking program being contained separately.
  • The Bard-Bot program should actually help a user increase his or her creative output.
  • JavaScript must be enabled in the browser. The browser must offer a reasonable amount of memory.
  • The web server should comply with RFC 2616 as it must communicate using the Hypertext Transfer Protocol version 1.1.
  • General website functions like clicking to different pages (outside of rendering page(s) should operate at a quick speed ( < 0.3 sec).
  • The website should be responsive to all desktop and laptop devices.
  • A version control tool is required to keep a record of all updates and progress in the product.

System Overview

The Bard-Bot core architecture is a harmonious composition of machine learning models that aim to replicate the patterns a musician ordinarily creates. Architecturally, these models conform to the same black-box interface as traditional music production processes do – except that they require little or no user input to operate. We adopt a hybrid of the thin- and fat-client models integrated under a three-tier architecture. Client weight varies by ML service employed with lightweight models running on the client (for fat-client pages) and heavier models orchestrated remotely on our Kubernetes sub-system (for thin-client pages). Following is an overview of the current planned ML models grouped by application domain.

Results

  1. Web-App functionality
  2. Machine Learning Functionality

Project Files

PROJECT CHARTER

DETAILED DESIGN SPECIFICATION

ARCHITECTURAL DESIGN SPECIFICATION

SYSTEM REQUIREMENTS SPECIFICATION

SOURCE CODE

PROJECT POSTER

References

ML model

Theme Toggles

Tutorial for React

Building a Web Server Docker File

AI Community

Navigation-using-flex-box

How-to-merge-specific-files-from-git-branches

CSS-selectors-cheat-sheet

Tutorial for JavaScript

JacobFV’s list / music

fxk2305