SoundSoftware 2012: Workshop on Software and Data for Audio and Music Research
The first one-day Workshop on Software and Data for Audio and Music Research was held on Queen Mary University of London on the 18th of June 2012.
Note: This workshop is happening again in 2013 — details of the 2013 event are here.
Science as a Service: Institution as Platform
Cameron Neylon (Science in The Open)
It comes as a surprise to many computational researhers that they are viewed with great envy because "obviously" their work must be easily repeatable, much more straightforward to document, and trivial to roll back when you realise you've done something on. Experimentalists, in turn are usually shocked to discover that they are held up as examples of the very highest standards of reproducibility by computational researchers. Both views result in part from a "grass is greener" perspective and a lack of appreciation of the fact that the weaknesses in the research process, whether it is poor documentation, a lack of reproducibility, or the problem of transferring results to new systems, are fundamentally human weaknesses.
But if the worst examples of both computational an experimental research have strong parallels, then the best aspects of both can provide inspiration to the other. What is unit testing but the running of a fabulous set of controls? Could continuous integration teach us how to continually test new research results against the existing body of knowledge? And what do the best standards of scientific writing have to tell us about good software documentation? These parallels an also help us to ask questions about the architecture of the research enterprise - the success of agile development approaches, modularity, and "many parts-loosely coupled" are examples that can and should guide our thinking about the structure of effective research communities.
Pursuing this view to its logical conclusion takes us into uncomfortable territory, does modularisation, the easy interchange of one research group for another suggest a grey homogeneity, or a riot of APIs and services that an interoperate but do not necessarily have to agree? I will propose that viewing researchers as service providers provides a new way of guiding our thinking for both how we manage and fund but also how we do research, and in turn, how we should think about the platforms, the institutions, that these services run over.
Oral Session 1
SoundSoftware: Software Sustainability for audio and Music Researchers
Sustainable and reusable software and data are becoming increasingly important in today's research environment. Methods for processing audio and music have become so complex they cannot fully be described in a research paper. Even if really useful research is being done in one research group, other researchers may find it hard to build on this research - or even to know it exists. Researchers are becoming increasingly aware of the need to publish and maintain software code alongside their results, but practical barriers often prevent this from happening. We will describe the Sound Software project, an effort to support software development practice in the UK audio and music research community. We examine some of the the barriers to software reuse, and suggest an incremental approach to overcoming some of them. Finally we make some recommendations for research groups seeking to improve their own researchers' software practice.
The Joy of Reproducibility: Three techniques for robustness and repeatability
Experimental reproducibility is a fundamental requirement for academic rigour, sharing code with peers and publishing the results. Software-based research offers unique opportunities to define and perform experiments with absolute repeatability. Software developers also need reliability and repeatability and have tools that assist with this. In this talk I shall describe three techniques which together can bring your experimental procedure under control and reduce the amount of time spent finding bugs. I shall present a method for defining software experiments, and show how it can be combined with Version Control and Unit Testing to give you total control.
A new approach to developing software for computational science
David Gavaghan (University of Oxford)
[Talk Video] (incomplete)
In this talk I will describe our work in developing the Chaste (Cancer heart and soft tissue environment - see http://www.cs.ox.ac.uk/chaste/) software platform. Chaste is a general purpose simulation package that can be used in modelling multi-scale, computationally demanding problems arising in biology and physiology. Core current functionality covers tissue and cell level electrophysiology with application in whole-heart modelling, discrete tissue modelling with applications in systems biology and cancer, and soft tissue modelling with applications in biomechanics and tissue engineering. The package is being developed by a team mainly based in the Computational Biology Group at the Department of Computer Science in Oxford, and development draws on expertise from software engineering, high performance computing, mathematical modelling and scientific computing. The development approach has been adapted from the agile approach adopted in some areas of industry, tailored to the needs of the academic environment. Key features of the code are full test coverage and very efficient performance on HPC platforms. I will discuss some lessons learnt in developing the platform and illustrate the talk with examples from cardiac and cancer modelling. I will also describe our more recent and planned work in developing a training programme in software development for research students and post-doctoral researchers through the 2020 Science Programme (see http://www.2020science.net/), which is a joint fellowship programme with University College London and Microsoft Research in Cambridge.
Oral Session 2
The development of Auditory Image software: a little history and some lessons for future systems
Roy Patterson (University of Cambridge)
When an event occurs in the world around us, information about the event is transmitted to us by light waves and sound. Our eyes create a sequence of visual images of the event, our ears form a sequence of auditory images of the event, and the brain combines these image sequences, with any other sensory input, to produce our initial experience of the event. In the late 1980s, when workstations became available in engineering labs, we set out to develop a software package to illustrate how the auditory system might construct the initial, internal representation of an auditory event from the sound wave entering the ear. The internal representation of sound has three space-like dimensions and one time dimension and it is fundamentally dynamic, so the representation requires video format which was a challenge at that time. This talk will briefly describe the development of AIM with the emphasis on the lessons we learned about software engineering, project management, and the role of human nature in such projects.
Developing a new auditory model: lessons in version control, collaboration and engineering.
Thomas Walters (Google)
[No video available]
AIM-C is a C++ implementation of the auditory image model designed for real-time processing of audio for visualization and feature extraction. Development started in 2006 when I was a PhD student, and has gone through various iterations since then, leading to us open-sourcing the code in 2010. Recently we've been doing more collaborative development of algorithms, both in Matlab and C++, using Google code as a basis for collaboration. I'll discuss our use of version control in the project and share some experiences of collaboration across timezones. Finally I'll talk about some of the software engineering lessons I've learned along the way, both during the AIM-C project and subsequently as a research scientist at Google.
The Tzanetakis music genre dataset: Its faults and the challenges they provide
Bob L. Sturm (Aalborg University Copenhagen)
Most research in automatic music genre recognition uses a dataset assembled in 2002. The integrity of this dataset, however, has never been analyzed; and few have reported even listening its contents. In this talk, I review numerous serious problems with this dataset, including replications, mislabelings, versions, and data corruption. These problems clearly affect the validity of all results derived from it; but they also present new challenges, especially now that researchers are using datasets so large (e.g., millions of songs) that manual validation of their integrity is impossible.
Sustainable Management of Digital Music Research Data
Steve Welburn (Queen Mary University of London/Sustainable Management of Digital Music Research Data)
Data Management is becoming increasingly important for research institutions, not least because of new requirements being introduced by funding bodies. The recently completed Sustainable Management of Digital Music Research Data project aimed at introducing good research data management practice at the Centre for Digital Music, Queen Mary, University of London. The two goals of the project were to propose data management policies for the group, and to implement a data management system (repository) for long term sharing and archival of research data.
This presentation will summarise the experience gained during the course of the project, and will include: an introduction to data management and its benefits; basic terminology (data, metadata, curation, licenses, policies); tools (repositories, data management planning, standard protocols); and a discussion of obstacles to acceptance of best practice.
Oral Session 3
Public Engagement via Software
Jez Wells (The University of York)
The ability to cheaply produce and distribute audio processing software for general purpose hardware offers an opportunity to develop software which engages and educates as well as providing tools for use in the studio. This talk will describe the use of such software as part of the Is Recording Engineering? project and highlight the benefits (and pitfalls) of development (both private and collaborative) of audio processing tools for this purpose.
Repeat, Reuse, Remix, Reproduce
Music Information Retrieval researchers are skilled in assembling pipelines of processing and analysis steps, in algorithmic and software innovation within the steps, and in evaluating and sharing their research. We can consider these MIR pipelines as "workflows" which enact MIR experiments. By capturing their descriptions we can achieve a record of research which also facilitates reuse, repurposing and reproducibility.
Software is not static: An Introduction to the Software Sustainability Institute
Steve Crouch (Software Sustainability Institute)
Software is not static. New functionality is needed, hardware evolves, staff come and go and sources of funding change. To survive in this volatile environment, software developers must respond to changes and act to ensure that their users get the best from their software. The Software Sustainability Institute's goal is to make it easier to rely on software as a foundation of research. We help people learn the skills needed to build better software and user communities through collaboration and training, or through our guides and other resources. This talk presents an introduction to the Institute including its goals, activities and the services it offers to researchers.
A Community of Developers in UK Higher Education Stimulating Innovation
Mahendra Mahey (University of Bath/DevCSI)
We outline the work of the JISC funded Developer Community Supporting Innovation Project, based at the Innovation Support Centre, UKOLN, the University of Bath. The project has been running for three years and aims to work with developers working and studying in UK Education to build a community which helps them realise their full potential, creating the conditions for them to be able to learn, network effectively, share ideas, collaborate and innovate through the organisation of a number of events, developer challenges and related projects. We will present some of the project's successes and reasons for this and examine some of the research we are carrying out to measure the impact and value that developers can make to their institutions. The presentation will end with a look at how we can work together with SoundSoftware and discuss some of the ideas we are planning that might be of interest to the audience.