Git Product home page Git Product logo

fusion_gan's Introduction

Fusion GAN

  • Fusion GAN is an extension of vanillia GAN, it can be used to fuse patterns from different domains.
  • Current implementation is based on discretized sequence modeling, so can be directly applied for any problem of such kind, such as word sequence.
  • Replacing the generator as you want, you can fuse any type of data. e.g., use CNN as generator, it's possible to fuse two different styles, say a fusion of Van Gogh and Picasso.

Related papar

Codes for the paper

Zhiqian Chen, Chih-Wei Wu, Cheng-Yen Lu, Alexander Lerch, Chang-Tien Lu, Learning to Fuse Music Genres with Generative Adversarial Dual Learning, International Conference on Data Mining(ICDM), New Orleans, USA, 2017

Demo

Please refer to https://imczq.com/publication/17_fusiongan_icdm/

Detailed Manual (under construction)

required python package

numpy tensorflow magenta.music pandas midi music21 

Files description

  • discriminator.py: GAN discriminator class
  • generator.py: GAN generator class
  • dataloader.py: data handler
  • midi_io.py: music data process, such as MIDI to seq and seq to MIDI
  • rollout.py: rollout for delayed update in reinforcement learning

Download all files and run

python fusion_gan.py

*.pkl is pre-processed files of music, but they cannot be recovered into original music

Use your own training data

Please see midi_io.py in which there are functions for converting between MIDI and number sequences. Then, update the data path at main function of fusion_gan.py

Citation

@article{fusiongan-icdm
  author    = {Zhiqian Chen and
               Chih{-}Wei Wu and
               Yen{-}Cheng Lu and
               Alexander Lerch and
               Chang{-}Tien Lu},
  title     = {Learning to Fuse Music Genres with Generative Adversarial Dual Learning},
  booktitle = {Proceedings of the The IEEE International Conference on Data Mining},
  year      = {2017},
}

fusion_gan's People

Contributors

aquastar 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.