GithubHelp home page GithubHelp logo

hsiungc / orchestrate Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 9.84 MB

Team Orchestrate Capstone Project (Fall 2023)

Home Page: https://orchestrate.vercel.app/

License: MIT License

Jupyter Notebook 98.37% Python 1.37% HTML 0.01% CSS 0.01% JavaScript 0.24% Shell 0.01% Dockerfile 0.01%

orchestrate's Introduction

Orchestrate - Capstone Project (Fall 2023)

Public-Facing GitHub Repository & Documentation

Andy Fiegleman, Casey Hsiung, Dakota Potere-Ramos, James Meyer, Ken Trinh


Website | Demo

Individuals aspiring to create music face the challenge of either mastering multiple instruments required for their compositions or relying on digital tools for music production. Orchestrate harnesses the power of machine learning and natural language processing (NLP) to develop a prompt-responsive music generation product. This innovative platform empowers users to create and layer diverse music pieces, crafting personalized arrangements that can be utilized for jamming, sparking musical inspiration, or simply enjoying music in its own right.


Setup Instructions

To run the server and client locally, follow the below steps.

API Key Information

Setting the API keys is encouraged for a seamless experience. An OpenAI key (OPENAI_API_KEY) is required to use ChatGPT. Adding a HuggingFace key (HUGGINGFACE_API_KEY) is optional but useful to avoid rate limiting. The production deployment of Orchestrate calls model files from an S3 bucket. The localized version here makes calls to files stored in this repository.

Orchestrate Client

  1. Install Node.js and npm from here.
  2. Navigate to the orchestrate-client directory.
  3. Run the following commands:
npm install
npm run start
  1. A browser should open at the http://localhost:3000 address.
  2. Following the frontend instructions will allow you to play and download a music file by submitting a text prompt.

Orchestrate Server

  1. Install Flask from here.
  2. Navigate to the orchestrate-server directory.
  3. Run the following commands:
pip install -r requirements.txt
flask run
  1. We recommend using a simple tool such as Postman to send POST requests to the Orchestrate server at http://localhost:5000/api/generate.

Citations

Hyun, L., Kim, T., Kang, H., Ki, M., Hwang, H., Park, K., ... & Kim, S. J. (2022). ComMU: Dataset for Combinatorial Music Generation. arXiv preprint arXiv:2211.09385.

Ens, J., & Pasquier, P. (n.d.). Building the MetaMIDI dataset: Linking Symbolic and Audio Musical Data. Proceedings of the 22nd ISMIR Conference. https://archives.ismir.net/ismir2021/paper/000022.pdf


Licenses & User Agreements

ComMU License
ComMU GitHub
ComMU Demo

The ComMU dataset is released under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). It is provided primarily for research purposes and is prohibited to be used for commercial purposes.


MetaMIDI Copyright
MetaMIDI Dataset Github
MetaMIDI Dataset

Since we did not transcribe any of the MIDI files in the MetaMIDI Dataset, we provide a list of all the Copyright meta-events in the dataset to acknowledge the original authors of the files.

orchestrate's People

Contributors

hsiungc avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

cvolticz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.