Giter VIP home page Giter VIP logo

pyalgomuse's Introduction

Pyalgomuse

Description

Pratice in AI × music in python

Installation

(get into your virtualenv)
cd pyalgomuse
python3 setup.py develop
pip3 install -r requirements.txt

Dependency

  • TheoryTab Leadsheet Dataset

Thanks for one of the MuseGan's authors,he has done a lot of parsing work on TheoryTab dataset.I fork and modify his source code into pyalgomuse/utils/theorytab module

  • piano-rs

A rust based program for playing virtual piano by computer keyboards in terminal.I use it for melody input.

Task Contents

0.Basic Dataset Construction

[UNDER CONSTRUCTION]

Reasons:

  • There is little Chinese/Asian songs in current public datasets.
  • Lack of systemic tags in current datasets.
  • No compatibility nor unity of constructing/parsing processing among different datasets

1. Automatic Arrangement

To generate corresponding chords for the given melody

1.1 Chord Symbol Generation For Melody

Traditional HMM based method
  • training: (The folder has already had trained results included,this step can be skipped)
put the <hooktheory_dataset> folder into a folder named datasets in root directory

cd scripts
python3 train.py
(the trained results store in A.npy,B.npy,symbol2idx.json)

  • fitting:

see a demo video

cd scripts
(set your piano-rs path to $PRS Variable in record.sh)
./run_aa.sh

--- running steps ---
1.input your params of metronome,e.g. bpm & time_signature
2.play your melody on the active terminal with piano-rs,pay attention to follow the metronome.Press <Esc> to finish.
3.press <q> to quit the metronome.
4.press <y> to continue to listen the midi combination of the generated chords (column chord for simple playing) 
and your melody input(1 octave higher than your actual input)
DeepLearning basd method

[UNDER CONSTRUCTION]

1.2 Multi Instrumental Arrangement Generation

[UNDER CONSTRUCTION]

  • follow the work of MuseGan

2. Melody Generation

[UNDER CONSTRUCTION]

To generate melody by images,texts,videos ..or random input

3. Style Transfer

[UNDER CONSTRUCTION]

To transfer a song into pop/classical/jazz/... style

4. Vocal Synthesis

[UNDER CONSTRUCTION]

pyalgomuse's People

Contributors

yuiant avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

zhangchiboy1990

pyalgomuse's Issues

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.