Giter VIP home page Giter VIP logo

music-composer's Introduction

Music Composer

Music Composer can help automate writing pop songs in three modes. It outputs the lyrics text file, the asc2mid text file and a MIDI music file.

  1. Manual entry of form, lyrics, melody, harmony, instruments, parts that the melody plays in and parts that the harmony plays in.

  2. Random generation of the creative choices.

  3. Mind reading mode.

Getting Started

Please read the following instructions on how to install the project on your computer for writing music.

Prerequisites

  • Please download and install SWI-Prolog for your machine at https://www.swi-prolog.org/build/.

  • Requires asc2mid (http://www.archduke.org/midi/, compile with a C compiler before running.

gcc asc2mid.c -o asc2mid
  • Call application "asc2mid").

  • Optional: Search for and download backdated version 6.0.5 of GarageBand and AlterEgo singing voice synthesis plug-in for old GarageBand for Mac or on Windows (https://www.plogue.com/downloads.html).

1. Install manually

Download this repository, the List Prolog Interpreter Repository and the Mind Reader Repository.

2. Or Install from List Prolog Package Manager (LPPM)

mkdir GitHub
cd GitHub/
git clone https://github.com/luciangreen/List-Prolog-Package-Manager.git
cd List-Prolog-Package-Manager
swipl
['lppm'].
lppm_install("luciangreen","Music-Composer").
halt

Running

  • In Shell: cd Music-Composer swipl

  • Enter the following to manually enter creative choices: ['mindreadtestmusiccomposer-unusual-4-userinput'].

  • Enter the following to manually enter creative choices with rhythm: ['mindreadtestmusiccomposer-unusual-4-userinput-rhythm'].

  • Note: In Rhythm entry mode, enter a maximum of n notes per lyric line, up to n melody and harmony notes, and n rhythm notes. If the number of rhythm notes is fewer than n, it will be truncated.

  • Enter the following to randomly generate 3-note progressions: ['mindreadtestmusiccomposer-unusual-3'].

  • Enter the following to randomly generate 4-note progressions: ['mindreadtestmusiccomposer-unusual-4'].

  • Before running texttobr-based mind reader, think of two radio buttons put on recordings, put through with prayer, nut and bolt, quantum box prayer 1, 1, 0.5 cm and 1, 1, 0.5 cm.

  • Follow instructions in https://github.com/luciangreen/Text-to-Breasonings/blob/master/Instructions_for_Using_texttobr(2).pl.txt when using texttobr, texttobr2 or mind reader to avoid medical problems.

  • Please follow instructions in init.txt to initialise any new mind-reading algorithms.

  • Enter the following to mind-read songs with 4-note progressions: ['mindreadtestmusiccomposer-unusual-4-mr'].

  • Enter the following to detailedly mind read songs with 4-note progressions: ['mindreadtestmusiccomposer-unusual-4-mr-tree.pl'].

  • Running the algorithm To generate the song: sectest0(Form1,Lyrics,Melody,Harmony,MelodyParts,HarmonyParts,Vocalstubinstrument,Song1).

To output the possible chord progressions from one note to another: versechorussoloprogression1451('C','D',Progression),writeln1(Progression). versechorussoloprogression1564('C','D',Progression),writeln1(Progression). versechorussoloprogression1645('C','D',Progression),writeln1(Progression). classicalcomposition('C','D',Progression),writeln1(Progression). popclassicalcomposition('C','D',Progression),writeln1(Progression).

Data files to stems

  • Separate song***.txt files into stem files for each instrument (saved in the stems folder) by placing the data files in the data_files folder, and entering ['data_to_stems.pl']. and data_to_stems..

Stems/data files to mid files

If:

  • you have converted the data files to stem files and need .mid files, or
  • the file song***.txt is produced but the .mid file is not:
  • Place the data files or stems in the stems folder, enter ['data_to_stems.pl']. and stems_to_mid. and the .mid files will be saved in the mid folder.

Convert meta to mid files

  • Place *_meta.txt files in the meta folder, enter ['meta2mid.pl']. and meta2mid. and the *lyrics.txt, *.mid and *.txt files will be saved in the Music-Composer folder.
  • Run meta2mid_r. instead of meta2mid. to ask for a song-wide rhythm.

Note on Mind Reader

Mind Reader is currently not configured to display screens and accurately mind read decisions. It detects vague, not exact thoughts.

  • If necessary, repeat the "arem" mantra all the time while the mind reading computation is running to ensure the best results.

Versioning

We will use SemVer for versioning.

Authors

Lucian Green - Initial programmer - Lucian Academy

License

I licensed this project under the BSD3 License - see the LICENSE.md file for details

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.