Giter Site home page Giter Site logo

midori's Introduction

MIDorI

Markov-Chain Based MIDI Generator

MIDorI is a program that uses Markov Chains to generate music from a seed file. It takes the notes from an input file and figures out what notes follow each other. The program then uses that data to randomly generate a song using the note patterns in the original. The MIDorI also creates an image using the note values of the output file as red, blue, and green values for each pixel. Several parts of the generation process can be tweaked including intstrument, tempo, and song length

Libraries needed:

Instructions

  1. Run MIDorI.py

  2. Select a MIDI file to use as a seed, (Multiple are included with the project)

    2a. You can play the file using the 'Play' button next to the 'Open' Button

  3. Enter a filename to save the generated music as (the extension must be *.mid)

  4. Click the generate button to create a MIDI file using the input file as a markov chain seed as well as an image generated using the notes of the output file

  5. Click the second 'Play' button to listen to the output

Options

  • Chain Length: Controls the length of the markov chain, lower values cause the output to be more random, while higher values cause the output to be closer to the input song (Default: 4)

  • Instrument: The instrument to use when playing the output file (Default: Harp)

  • Song Length: Length of output song in notes (Default: 200)

  • Tempo: the tempo of the song (Default: 120)

  • Input Track: the track of the input file to sample notes from (Defaults to first non-empty track in the song)

Screenshots

midori's People

Contributors

argentumcation avatar

Stargazers

Kimon Kontosis avatar

Watchers

James Cloos avatar  avatar

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.