Giter Club home page Giter Club logo

compound-word-transformer's Introduction

Compound Word Transformer

Authors: Wen-Yi Hsiao, Jen-Yu Liu, Yin-Cheng Yeh and Yi-Hsuan Yang

Paper (arXiv) | Audio demo (Google Drive) | Blog

Official PyTorch implementation of AAAI2021 paper "Compound Word Transformer: Learning to Compose Full-Song Musicover Dynamic Directed Hypergraphs".

We presented a new variant of the Transformer that can processes multiple consecutive tokens at once at a time step. The proposed method can greatly reduce the length of the resulting sequence and therefore enhance the training and inference efficiency. We employ it to learn to compose expressive Pop piano music of full-song length (involving up to 10K individual to23 kens per song). In this repository, we open source our Ailabs.tw Pop17K dataset, and the codes for unconditional generation.

Dependencies

  • python 3.6
  • Required packages:
    • madmom
    • miditoolkit
    • pytorch-fast-transformers

chorder is our in-house rule-based symbolic chord recognition algorithm, which is developed by our former intern - joshuachang2311. He is also a jazz pianist ๐ŸŽน.

Model

In this work, we conduct two scenario of generation:

  • unconditional generation

    • To see the experimental results and discussion, please refer to here.
  • conditional generation, leadsheet to full midi (ls2midi)

    • [Work in progress] We plan to open source the code associated with this part in the future.
      • melody extracyion (skyline)
      • objective metrics
      • model

Dataset

To prepare your own training data, please refer to documentaion for further understanding.
Or, you can start with our AIlabs.tw Pop17K, which is available here.

Acknowledgement

compound-word-transformer's People

Contributors

wayne391 avatar

Watchers

 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.