GithubHelp home page GithubHelp logo

sonycslparis / music-inpainting-ts Goto Github PK

View Code? Open in Web Editor NEW
107.0 10.0 14.0 9.71 MB

A collection of web interfaces for AI-assisted interactive music creation

Home Page: https://SonyCSLParis.github.io/music-inpainting-ts/

License: GNU General Public License v3.0

TypeScript 60.93% JavaScript 30.47% SCSS 8.33% Python 0.13% HTML 0.07% Shell 0.08%
ai electron interactive music typescript

music-inpainting-ts's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

music-inpainting-ts's Issues

Implement cancelCurrentInteraction in NONOTO

Issue

The cancelCurrentInteraction is currently unimplemented in SheetInpainterGraphicalView.

Comment

This is not trivial with the current layout, which listens to 'click' events on the individual overlay boxes.

Idea

Ideally, should refactor SheetInpainterGraphicalView to listen to the click-drag selection interaction on the container, allowing to cancel an interaction at the container level.

We should then toggle/untoggle the underlying boxes on 'pointerenter'/'pointerleave' similarly to the SpectrogramInpainterGraphicalView.
This would have the additional benefit of enabling multi-box selections.

Playback cursor randomly gets stuck

Sometimes the playback cursor in PIANOTO gets stuck during playback. Slightly surprisingly the piano roll keeps scrolling so this is not a total failure of the Tone display callbacks.

Not sure why and when this happens but this seems to be caused by inpainting operations.

Create AnnotationType interface

Would be cleaner than using simple strings to select the type of annotations to use.

That is, in locator.ts:
annotationType: string = "none" becomes annotationType: Annotation|null = null, with Annotation = ChordSelector | Fermata.

Enable inline recording in PIANOTO MIDI Record

Currently the MIDI Record functionality in PIANOTO starts by erasing the whole content of the piano roll.
We should add the possibility to record on-the-fly during playback for a proper dialogue-like setting.

Switch to beats-based time boxes in NONOTO

Boxes are created aligned to quarter-notes and multiple of quarter-notes.
This is fine for standard 4/4 pieces but becomes problematic for e.g. pieces in 6/8 time signature.

Switching to beats will also make relying on Tone.Transport.position (in bars:beats:sixteenths format) more meaningful and straightforward.

Enable aborting requests in NONOTO

Initiating a request in NONOTO does not trigger an immediate modification of the content, thus the (hackish) way of clicking on Undo to abort the request e.g. PIANOTO does not succeed and instead jumps back one state plus erases the latest state.

Could simply add an "abort" button to clarify things. Potentially an info-bubble that appears over the inpainted zone.

Fix zero-width time-containers

In measures containing e.g. only a whole note, the last quarter-note time-container has width zero.
This furthermore causes undesired scrolls to the beginning of the sheet when scrolling is active and trying to scroll to these boxes.

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.