Giter Site home page Giter Site logo

information-flow-mmt's Introduction

Evaluating Co-Creativity using Total Information Flow

Content

Setup

Create the environment.

conda env create -f environment.yml

Activate the environment.

conda activate mtmt

Run setup script.

python scripts/setup.py

Experiments

Generate results

  • Make sure to place the X, Y and XY MIDI files in data/X/X/, data/Y/Y/ and data/XY/XY/ respectively. The X, Y, XY files for a sample should have the same filename.

  • Run scripts/compute_info_flow.py

python compute_info_flow.py OUTPUT_FILE_PATH

OUTPUT_FILE_PATH is the file path where the results will be stored as a .pkl file. The path should include the name of the file. You can save them in results/.

Example:

python compute_info_flow.py results/example.pkl

Visualize experiment results

  • Open notebooks/visualize.ipynb to visualize results. The notebook has code to visualize the experiments used in the paper. The results/ directory has sample results for these experiments, so you don't have to run the compute_info_flow.py script with data.

Utility Scripts

Three utility scripts have been provided in the scripts/ directory:

  1. change_instrument.py: Script to change instrument of a track in a midi file.
  2. combine_midi.py: Script to combine 2 midi tracks into a single midi file.
  3. split_midi.py: Script to split a midi file into 2 separate midi files, each containing a single track.

Usage instructions for these scripts are documented inside the files.

Acknowledgment

This repository uses the official implementation of "Multitrack Music Transformer" (ICASSP 2023).

Multitrack Music Transformer
Hao-Wen Dong, Ke Chen, Shlomo Dubnov, Julian McAuley and Taylor Berg-Kirkpatrick
Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2023
[homepage] [paper] [code] [reviews]

information-flow-mmt's People

Contributors

frank-chris 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.