Giter Club home page Giter Club logo

piano-inpainting-application's Introduction

The Piano Inpainting Application

The Piano Inpainting Application (PIA) is an A.I.-based Ableton Live plugin allowing to generate piano performances in an interactive way.

A more detailed presentation is available on the accompanying website.

How to use

You can download the plugin here and simply drag and drop the PIA.amxd file within Ableton Live's MIDI plugin section.

drawing

Select a region in the MIDI track you wish to edit by specifying it using the loop selector (CMD + L) and click on PIA's Generate button. The density knob controls how many notes per second the inpainted region should have. The last button is used to set the density knob to the actual note density of the selected region.

Since PIA is fast and responsive, you should immediately see the selected region erased and new notes appearing. You can even listen to the music while it is being generated!

Note that you must be connected to the Internet so that PIA can work.

PIA's behavior

Here are some insights about the inner-workings of PIA:

  • All notes starting in the selected region will be removed.
  • The first note generated by PIA will start exactly add the beginning of the loop brace.
  • The maximum number of notes PIA can generate for a single click on the Generate button is set to 256. If you request PIA to compose more than 256 notes (if you choose to recompose a large region with a high note density for instance), only the first 256 notes will be generated. We thus advise to focus on performing multiple local edits.
  • If the MIDI performance disappears and reappears instantly without any change, this means that you are experiencing connectivity issues.
  • Please check that the loop brace is active when you click on Generate.
  • If there is no note after the region that you selected, PIA will always consider that the piece should end at the end of the loop brace.
  • Even if there are notes after the region you selected, these will be removed while PIA is generating. Don't worry, these will be added back when the generation completes. Note that the offsets of these notes can be changed.
  • We did not add the possibility to map the Generate button on a MIDI controller since this clutters the Ableton Live undo history.
  • PIA only works in Session view.
  • There is no way to condition PIA on a particular musical style other than providing a musical context.

How to contribute?

Any feedback is more than welcome! From explaining how you worked with PIA, sharing your creations to proposing improvement suggestions. Please visit the Discussions tab.

Further developments

  • This plugin is currently only available for Ableton Live users but please note that a 90-day free trial version of Ableton Live is available.

Disclaimer

This is an alpha version. This is a research project, not an official product. Expect some issues. Please save your important work before experimenting with PIA. No personnal data will be collected. This version of the plugin will cease functioning by the 1st of April 2021.

Gaëtan Hadjeres, Sony CSL Paris, Feb. 2021.

Many thanks to Adrien Laversanne-Finot for his important contributions to this project.

piano-inpainting-application's People

Contributors

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