Wiki » History » Version 15

Luis Figueira, 2012-10-04 10:22 AM

1 1 Luis Figueira
h1. Reusable software and reproducibility in music informatics research
2 1 Luis Figueira
3 4 Chris Cannam
h2. Tutorial at ISMIR 2012
4 1 Luis Figueira
5 15 Luis Figueira
* "Conference Link":http://ismir2012.ismir.net/event/tutorials/#tutorial3
6 1 Luis Figueira
* 8 Oct 2012
7 1 Luis Figueira
* 14:30
8 1 Luis Figueira
9 14 Luis Figueira
Mark D. Plumbley, Chris Cannam, Simon Dixon, Steve Welburn and Luis Figueira
10 12 Chris Cannam
11 13 Luis Figueira
h3. Contact Info
12 13 Luis Figueira
13 13 Luis Figueira
info@soundsoftware.ac.uk
14 13 Luis Figueira
15 1 Luis Figueira
h2. Introduction
16 1 Luis Figueira
17 1 Luis Figueira
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.  
18 1 Luis Figueira
19 1 Luis Figueira
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.
20 1 Luis Figueira
21 4 Chris Cannam
h2. Pre-Tutorial Preparation
22 1 Luis Figueira
23 4 Chris Cannam
Part of the tutorial will be a live example related to software practice in a research environment. This will be a straightforward example using an audio analysis method for music processing.
24 1 Luis Figueira
25 11 Chris Cannam
*Tutorial attendees 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 day of the session.
26 4 Chris Cannam
27 1 Luis Figueira
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.
28 2 Luis Figueira
29 1 Luis Figueira
h3. Software Requirements
30 1 Luis Figueira
31 4 Chris Cannam
In order to take better advantage of the tutorial, we suggest that tutorial attendees install the following software beforehand:
32 1 Luis Figueira
33 4 Chris Cannam
* "Python":http://python.org/download/releases/2.7.3/ (version 2.7 or 2.6 -- not python 3)
34 4 Chris Cannam
* The "Nose":https://nose.readthedocs.org/en/latest/ unit-test framework
35 4 Chris Cannam
* "NumPy":http://numpy.scipy.org/
36 4 Chris Cannam
* "Matplotlib":http://matplotlib.org/
37 4 Chris Cannam
* "IPython":http://ipython.org/ (desirable, but not mandatory)
38 4 Chris Cannam
* "EasyMercurial":http://easyhg.org
39 2 Luis Figueira
40 6 Chris Cannam
h3. Pre-prepared Repository
41 5 Chris Cannam
42 7 Chris Cannam
We've made a Mercurial repository containing 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.
43 1 Luis Figueira
44 8 Chris Cannam
The clone URL is @https://code.soundsoftware.ac.uk/hg/python-tutorial-skeleton@
45 1 Luis Figueira
46 10 Chris Cannam
You can open this using EasyMercurial (see "this video":http://vimeo.com/29779278 for an example of how to open a remote URL), or clone it using the @hg@ command-line tool.