behzadhaki / GrooveTransformer

Variational version of Monotonic Groove Transformer
14 stars 5 forks source link

List of Contents

Guides for using the repository can be found here

[Chapter 0]()

A. ENVIRONMENT SETUP

  1. Required Packages
  2. CPU Installation
    1. venv Installation
    2. Anaconda Installation
  3. GPU Installation
    1. Local GPU Installation
    2. HPC Cluster GPU Installation
      1. Anaconda Installation

B. HPC Cluster Guide

  1. Getting Started
    1. Accounts
    2. Accessing the Clusters
  2. Using the Clusters
    1. Resources
    2. Interactive Sessions
    3. Submitting Jobs
    4. Available Software
    5. Monitoring or Cancelling Jobs

[Chapter 1]()

A. Data Representation & Datasets

  1. Introduction
  2. Data Representation
    1. HVO_Sequence
    2. Example Code
  3. Datasets
    1. Groove Midi Dataset
      1. Load dataset as a dictionary
      2. Extract HVO_Sequence objects from dataset dictionaries
      3. _Load GMD Dataset in HVO_Sequence format using a single command !!!_

B. HVO Sequence

  1. Basic Attributes
    1. Beat Division Factors
    2. Drum Mapping
    3. Grid Attributes
    4. Metadata
    5. HVO: Piano-roll Score
  2. Simple Usage
  3. Built-in Tools
  4. Multi-Segment Scores

Chapter 2 - Models

A. Groove Transformer

  1. Introduction
  2. Instantiating a Model
    1. BasicGrooveTransformer.GrooveTransformer
    2. BasicGrooveTransformer.GrooveTransformerEncoder
  3. Storing a Model
  4. Loading a Stored Model
  5. Generation using a Model

B. Variational Groove transformer

  1. Introduction
  2. Model Description
    1. Network Architecture
    2. loss functions
    3. Training Parameters
  3. MonotonicGrooveVAE.GrooveTransformerEncoderVAE
    1. Instantiation
    2. Storing
    3. Loading
    4. Pretrained Versions
    5. Generation

Chapter 3 - Evaluation Tools

A. GrooveEvaluator

Part A1

  1. Prepapre the data used for Evaluation
  2. Initialization
  3. Preparing Predictions
    1. Get Ground Truth Samples
    2. Pass Samples to Model
    3. Add Predictions to Evaluator
  4. Saving and Loading

    Part A2

  5. Accessing Evaluation Results
    1. Results as Dictionaries or Pandas.DataFrame
    2. Rendering Results as Bokeh Plots
    3. Rendering Piano Rolls/Audio/Midi
  6. Compiling Plots for Logging

    B. MultiSetEvaluator

  7. Prepapre the sets used for cross comparison
  8. Initialization
  9. Saving and Loading
  10. Available Analyzers
    1. Inter-Intra Analysis (raw statistics, distribution plots and KL/OA Plots)
    2. Hit, Velocity, Offset Analysis
  11. Compiling Results

Chapter 4 - WANDB

Chapter 5 - Training