Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To Predict Performance-Induced Emotion Differences in Classical Piano Music

Official complementary code for the paper Learning to Predict Performance-Induced Emotion Differences in Classical Piano Music. The paper has been accepted by International Society for Music Information Retrieval Conference 2026.

Extracting Performance Codecs

Corresponding code for getting the performance codecs can be found under ./codec_preprocess. To extract the Performance Codecs, you will need the score, the MIDI, and the match_files of the performances:

  1. To normalize the audio recordings of the same pieces:
    python loudness_norm.py --audio_dir <directory_of_audios> --save_dir <path_to_save>
    
  2. To obtain the MIDI files of the recordings via automatic transcription, Transkun was used in this work:
    python transkun_transcribe.py --input_dir <directory_of_audios> --output_dir<directory_to_save>
    
  3. Final step of preparation to obtain the codecs, you need the alignment of the MIDI files to the score:
    python match.py --score_dir <directory_of_scores> --midi_dir <directory_of_midis> --save_dir <directory_for_match> --align_csv <path_only_if_to_save_alignment_details>
    
  4. To extract the Performance Codecs:
    Partitura is required for this step. You can install the package via pip for the latest release of the package and will install all dependencies automatically:
    pip install partitura
    
    And then to extract the codecs:
    python extract_performance_codec.py --match_dir <directory_of_match_files> --save_dir <directory_for_codecs>
    

Re-Implementation

Relevant code for training and evaluating the baselines, Rank-based model, and Delta-VA can be found under ./rlt-workspace.

  1. For baseline:
    python train_rank_based.py --learning_rate 0.0005 --baseline <type_of_baseline>
    
  2. For the Rank-based learning:
    python train_rank_based.py --learning_rate 0.001 --emb_dim 8 --weighting 1.0
    
  3. For the Delta-VA:
    python train_delta.py--learning_rate 0.001 
    

Citation

@inproceedings{ching2026PerfRLT,
        title={Learning to Predict Performance-Induced Emotion Differences in Classical Piano Music},
        author={Joann Ching and Gerhard Widmer},
        booktitle={Proceedings of the 27th International Society for Music Information Retrieval Conference (ISMIR)},
        year={2026},
        address={Abu Dhabi, UAE}
}

License

The code and the published model weights are released under the MIT license. The CP-WTC Dataset is released under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). It is provided primarily for research purposes and is prohibited to be used for commercial purposes.

Acknowledgment

This project receives funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme under grant agreement No 101019375 "Whither Music?".

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages