Wiki » History » Version 2

« Previous - Version 2/15 (diff) - Next » - Current version
Luis Figueira, 2012-10-03 05:18 PM


Reusable software and reproducibility in music informatics research

Tutorial on ISMIR 2012

  • 8 Oct 2012
  • 14:30

Introduction

The need to develop and reuse software to process data is almost universal in music informatics research. Many methods, including most of those published at ISMIR, are developed in tandem with software implementations, and some of them are too complex or too fundamentally software-based to be reproduced readily from a published paper alone. For this reason, it is helpful for sustainable research to have software and data published along with papers. In practice, non-publication of code and data is still the norm and research software is commonly lost in the years following publication of the associated methods.

During this tutorial we will discuss common barriers to publication of software and data, and will present a practical hands-on session in which attendees will explore tools and methods to help them overcome these barriers. The tutorial will rapidly cover the use of version control software, code hosting facilities, aspects of testing and provenance, and software licensing for publication. Worked examples will be drawn from the music and audio fields, and hands-on help will be provided by experienced researcher-developers from the Centre for Digital Music, Luís Figueira and Steve Welburn. This tutorial will be of immediate practical interest to researchers within the music informatics community, and will also be highly relevant to research supervisors and research group leaders with an interest in policy and guidance.

Pre Tutorial Preparation

As part of the tutorial we will do a live example of good practices in a research environment. It will be a straightforward example of music processing, in which the tutorial participants are invited to code along., Thus, in order to make the most of the tutorial, attendees are advised to bring a laptop and to install the following software before the session day.

If you run into any problems installing any of the software from the list below, we will be in the tutorial room from 14:00.

Software Requirements

In order to take better advantage of the tutorial, we recommend that all tutorial attendees install the following software beforehand:

  • Python (version 2.7 or higher)
  • Numpy
  • Matplotlib
  • Nose and Nosetests
  • ipython (desirable, but not mandatory)
  • Mercurial (version control software)
  • EasyMercurial (http://easyhg.org)

Repository

In the following link you'll find a Mercurial repository with some basic code and audio files that are going to be used during the tutorial. It is highly recommended that you clone this to your laptop (you will need to have mercurial installed on your machine)

https://code.soundsoftware.ac.uk/hg/python-tutorial-skeleton

You can either use the command line to clone this repository (hg clone command) or either EasyMercurial or your GUI of choice.