Skip to content

Anaysis of the Music-Genre Dependence of Graph-Related Metrics in a Music Credits Network

License

Notifications You must be signed in to change notification settings

LIMUNIMI/CitationIsNotCollaboration

Repository files navigation

Citation is not Collaboration

Music-Genre Dependence of Graph-Related Metrics in a Music Credits Network

Coverage Pylint

Table of Contents

Publications

We published some of the results in the article ``Citation is not Collaboration: Music-Genre Dependence of Graph-Related Metrics in a Music Credits Network'' at the 20th Sound and Music Computing Conference.

@inproceedings{clerici2023citation,
  author       = {Clerici, Giulia and Tiraboschi, Marco},
  title        = {{Citation is not Collaboration: Music-Genre Dependence of Graph-Related Metrics in a Music Credits Network}},
  booktitle    = {Proceedings of the 20th Sound and Music Computing Conference},
  year         = {2023},
  series       = {SMC},
  address      = {Stockholm, Sweden},
  month        = {6},
  organization = {Sound and Music Computing Network},
}

Genre centrality plots

The plots for the genre-wide comparison of the centrality measures can be browsed at chromaticisobar.github.io/CitationIsNotCollaborationStats.

Documentation

Documentation is generated with sphinx and is available at limunimi.github.io/CitationIsNotCollaboration

Setup

Some dependencies require conda.
The following instructions assume that you are working from the root directory of the repository

Create environment

There seems to be some issues with conda when trying to install too many packages.
So we spit the installation requirements in chunks.

Create the environment

conda create -p ./venv python=3.8

Activate the enviroment

conda activate ./venv

Install packages in chunks

conda install -c chromaticisobar --file requirements-0of6.txt -y && \
conda install -c conda-forge     --file requirements-1of6.txt -y && \
conda install -c conda-forge     --file requirements-2of6.txt -y && \
conda install -c conda-forge     --file requirements-3of6.txt -y && \
conda install -c conda-forge     --file requirements-4of6.txt -y && \
conda install -c conda-forge     --file requirements-5of6.txt -y

Add extra dependencies

You can add extra development dependencies using the requirements files.

conda install --file <FILE> -c conda-forge
  • test-requirements.txt: Tests dependencies
  • docs-requirements.txt: Docs generation dependencies
  • style-requirements.txt: Style check dependencies
  • notebooks-requirements.txt: Notebooks dependencies

Add FeatGraph

To add the featgraph package, run

conda develop .

Notebooks

Interactive notebooks are in the notebooks folder

CLI

Some functionalities are available to the command-line

Data conversion

You can convert the original pickled dataset in BVGraph binary files and plain-text metadata with

python -m featgraph.conversion
usage: python -m featgraph.conversion [-h] [--jvm-path PATH] [-l LEVEL] [--tqdm] adjacency_path metadata_path dest_path

Convert original pickled dataset into text and BVGraph files

positional arguments:
  adjacency_path        The path of the adjacency lists pickle file
  metadata_path         The path of the metadata pickle file
  dest_path             The destination base path for the BVGraph and text files

optional arguments:
  -h, --help            show this help message and exit
  --jvm-path PATH       The Java virtual machine full path
  -l LEVEL, --log-level LEVEL
                        The logging level. Default is 'INFO'
  --tqdm                Use tqdm progress bar (you should install tqdm for this)

About

Anaysis of the Music-Genre Dependence of Graph-Related Metrics in a Music Credits Network

Topics

Resources

License

Stars

Watchers

Forks