SoundSoftware.ac.uk: Towards Reusable Software for Audio & Music Research Mark Plumbley, Chris Cannam and Luis Figueira Centre for Digital Music Queen.

Slides:



Advertisements
Similar presentations
SoundSoftware.ac.uk Prizes for Reproducibility in Audio & Music Research Chris Cannam, Luís Figueira, Mark Plumbley Centre for Digital Music Queen Mary,
Advertisements

Q4 - HOW DID YOU USE MEDIA TECHNOLOGIES IN THE CONSTRUCTION AND RESEARCH, PLANNING AND EVALUATION STAGES?
The Cooperation Platform for Research and Standards: improving the interface between ICT research and standardization Presentation at EASST2006, 24 August.
Experiences with Reproducible Research in Various Facets of Signal Processing Research Patrick Vandewalle Philips Research, The Netherlands November 12,
SM3121 Software Technology Mark Green School of Creative Media.
Managing Large Classes with Group Work
New Mexico State University Finding Useful Information The Internet can be Good and Defrag can be Worthless The League of Extraordinary Off-Campus Computer.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
Top Ten Tips for Effective Online Course Design Presented by Paula Paul, District Technology Coordinator for Concordia Parish
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Other responses: Librarian 3 Data Scientist/data manager/data analyst 7 Student/assistant 2 Writer/Editor/publications support 3 Programme Manager 1 Computer.
1 Programming James King 12 August Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple.
Pointers to more effective software & data in audio research Mark D Plumbley, Chris Cannam, Steve Welburn Centre for Digital Music Queen Mary, University.
ES 101. Module MS Front Page Tutorial and Web Hosting.
WIKI IN EDUCATION Giti Javidi. W HAT IS WIKI ? A Wiki can be thought of as a combination of a Web site and a Word document. At its simplest, it can be.
Mendeley Institutional Edition Hazman Aziz, eProduct Manager (APAC) University Kebangsaan Malaysia.
Chromium OS is an open-source project that aims to build an operating system that provides a fast, simple, and more secure computing experience for people.
Erlware For Managing Distribution and Build Erlang User Conference 2007.
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Software: Building apps Suitable for: Advanced.
EdTech 2009 – National College of Ireland May Sustainability through Staff Engagement: Applying a Community of Practice Model to Academic Staff.
Making Sense of Sounds? Towards Reusable Software for Audio & Music Research Mark Plumbley Centre for Digital Music Queen Mary, University of London SANE.
SoundSoftware.ac.uk: Software sustainability for the audio and music researcher Chris Cannam, Mark Plumbley, Luís Figueira Centre for Digital Music Queen.
Pointers to more effective software & data in audio research Mark D Plumbley, Chris Cannam, Steve Welburn Centre for Digital Music Queen Mary, University.
Software Configuration Management (SCM)
WLE Information Management. Discussion points  What systems do we have?  Which to use for what purpose?  What information is missing and can be improved.
Learning how to learn, with Software Carpentry Luis Figueira, Chris Cannam, Mark D Plumbley Centre for Digital Music Queen Mary, University of London.
Cloud Computing Characteristics A service provided by large internet-based specialised data centres that offers storage, processing and computer resources.
The ILA in Detail. OBJECTIVES 1.To understand the purpose of the ILA 2.To have a clear understanding of how to complete the ILA 3.To have considered the.
Software Sustainability Institute Dealing with software: the research data issues 26 August.
Level 2 IT Users Qualification – Unit 1 Improving Productivity Chris.
Version control Using Git Version control, using Git1.
Using Commtap Communication Targets and Activities Project.
Version Control.
Nathaniel S. Good Aaron Krekelberg Usability and privacy: a study of Kazaa P2P file- sharing.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Introduction to PowerPoint Curriculum Implementation Day Friday, November 3, 2006 K.J. Benoy.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
To Google This, Turn To Page 42: Building A “Choose Your Own Research Adventure” Game Jessica Long & Jennifer Hicks Miami University Middletown.
SoundSoftware.ac.uk: Sustainable Software for Audio & Music Research Mark Plumbley, Chris Cannam and Luis Figueira Centre for Digital Music Queen Mary,
44222: Information Systems Development Documenting a Solution Ian Perry Room:C41C Extension:7287
May 2, 2013 An introduction to DSpace. Module 1 – An Introduction By the end of this module, you will … Understand what DSpace is, and what it can be.
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
Frameworks CompSci 230 S Software Construction.
1. 2 Rewards are real … but few (yet) 3 The citation benefit intensified over time... ...with publications from 2004 and 2005 cited 30 per cent more.
Supporting teaching in higher education to improve student learning across the Biosciences Fostering collaboration and enhancement through community-building.
8-Dec-15T.Wildish / Princeton1 CMS analytics A proposal for a pilot project CMS Analytics.
Code.soundsoftware.ac.uk: A software repository for sustainable collaborative research Mark Plumbley, Chris Cannam, Luis Figueira Centre for Digital Music.
Paper Prototyping Source: Paper Prototyping a method of brainstorming, designing, creating, testing, refining and communicating.
 What is Groupware  Why organization use Groupware  Categories of Groupware  Barriers of Groupware  Getting Groupware to work in your organization.
Pointers to more effective software & data in audio research Mark D Plumbley, Chris Cannam, Steve Welburn Centre for Digital Music Queen Mary, University.
Continuous Improvement. Start Simple and Continually Improve E.g., Gmail Labels 1.
Overview In this tutorial you will: learn what an e-portfolio is learn about the different things e-portfolios may be used for identify some options for.
Ansible and Ansible Tower 1 A simple IT automation platform November 2015 Leandro Fernandez and Blaž Zupanc.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Overview of E-Learning Authoring Software
Development Environment
Source Control Systems
Version Control with Subversion
Version control, using Git
Pointers to more effective software & data in audio research
Development and Deployment
Getting Started with Git and Bitbucket
Git started with git: 2018 edition
Foster Carer Retention Project Michelle Galbraith Project Manager
Computer Basics Applications.
Infrastructure investments – source of future well-being
Presentation transcript:

SoundSoftware.ac.uk: Towards Reusable Software for Audio & Music Research Mark Plumbley, Chris Cannam and Luis Figueira Centre for Digital Music Queen Mary, University of London

Overview Reproducible research Survey Research Pipeline problems Barriers and approaches Where do I start? Suggestions for research groups Conclusions

Reproducible Research Idea: researchers should be able to reproduce the work of others. Research used to be “reproducible” from the paper alone. In audio & music research, methods are now too complex. The paper is not enough: need algorithm, parameters, datasets,... So, we need The paper (ideally Open Access) The code(ideally Open Source) The data(ideally Open Data) Well-known example: WaveLab (Buckheit & Donoho, 1995) B ut in audio & music research, few people do this. Why? (Buckheit & Donoho, 1995; Vandewalle et al, 2009)

Research software in practice We carried out a Survey of UK audio and music researchers*. 80% of respondents reported developing software, but only 40% of those said they took steps to reproducibility only 35% of those reported ever publishing any code i.e. only 15% tried to be reproducible and published the code. Also: 51% said their code never left their own computer Even published software can be hard to reuse, due to the variety of technologies in use: MATLAB, Max/MSP, C++, HTK, MPTK, SuperCollider, Python, Scheme, Prolog, Clojure... * - Oct 2010-Apr 2011, 54 complete + 23 partial responses.

Why don't people publish code? We found: Lack of time Copyright restrictions Potential for future commercial use Other factors (UK Research Information Network, 2010): Lack of evidence of benefits Culture of independence or competition Quality concerns (self-taught programmers) Also: it takes effort early in the research cycle; hard to find time/motivation after the paper is published

So instead of this Research Pipeline, Researcher A (“Producer”) Read background papers Do own research Publish paper X Researcher B (“Consumer-Producer”) Read paper X Understand/reproduce results in paper X Do more research building on X Publish paper Y that cites X / produce product that uses X... and so on.

... we have: Real Research Pipeline Researcher A (“Producer”) Read background papers Do own research (including lots of coding) Publish paper X (not enough space for all the code) Researcher B (“Consumer-Producer”) Read paper X Can’t reproduce or use results in paper X Tear out hair Give up / do something else NB: A and B may be in same group (or same person later!)

How can we solve this? We’re taking a bottom-up approach: Make incremental improvements to development practice by Identifying specific barriers to publication and reuse, that are relatively straightforward to address So we hope to: Increase perception among researchers that code is something you can work on together, that can be reused Prepare the ground for reproducible publication

Barriers to publication and reuse Lack of education and confidence with code Lack of facilities and tools Lack of incentive for publication Platform incompatibilities

Barrier: Lack of confidence in code Issue: Researchers largely self-trained in software development Our approach: Training in research software development Relatively small amounts of training can pay off Autumn School (Nov 2010) based on Software Carpentry Version control systems Unit testing, test-driven development Python syntax and structure Managing experimental datasets Further schools planned for spring—summer Also planned: Tutorials at conferences

Barrier: Lack of facilities and tools Issue: Researchers don’t use code hosting / version control Research groups / institutions often do not provide any Researchers often unaware of them Our approach: code site: Focus on audio and music research Public and private projects Link publications with code Also: User interfaces for version control Existing ones are surprisingly difficult EasyMercurial: and tutorials and videos

Barrier: Lack of incentive Issue: Software not typically recognised as citeable or assessable research output Lacks publication conventions for authorship, makes academic rewards unclear Our approach: Link publications to code on the code site Purpose: Increase likelihood of code users discovering your papers Ensure users know how to cite your work Increase take-up / impact of your research

Barrier: Platform incompatibilities Issue: Many different platforms and development tools in use Some are not available to all possible users (e.g. MATLAB) Our approach: Use “plugin” approach if appropriate (e.g. SonicVisualiser) produce standard code modules, reuse for multiple targets Take maximum advantage of existing application ecosystems

Where do I start? (UK version) 1.Register an account on code.SoundSoftware.ac.uk  While you wait for account to be approved Download and Install EasyMercurial from easyhg.org  Available for Windows, Mac OS/X and Linux 3.Choose a software project on your computer  For example, a set of files in one folder 4.Run EasyMercurial, Open the file folder, Add files, and Commit  This makes a “local repository” containing your project 5. On code.soundsoftware.ac.uk: Create a new project  Wait for the link. This makes a “remote repository” ready for your project 6. In EasyMercurial: Push your local project to the remote repository Congratulations - Your software project is now under version control!

More things you can do Edit your code and Push updates to the remote repository Add other people you work with as project members Merge updates made by different people Create a Release of your code Make your project Public so others can use it

Where do I start? (Non-UK version) You might have version control etc at own institution Does your research group/IT support provide it? Who should you ask? (We might be able to help) Other alternative code repositories SourceForge, Google Code, GitHub, Bitbucket,... Try our EasyMercurial from easyhg.org See also: and: “Choosing a repository for your software project” at from our sister project, the Software Sustainability Institute

Suggestions for Research Groups Aim at easy training targets Program structure, arranging code across files Tangible results for keen but inexperienced researchers Provide / encourage version control and hosting Version control systems make an immense difference Use what you have available, or code.soundsoftware.ac.uk Turn code into plugins Latch onto the existing ecosystems of popular applications Encourage collaborative development Papers often co-authored, why not code? Create an environment of confidence about sharing code.soundsoftware.ac.uk

Conclusions Research too complex to be reproducible from paper alone Reproducible Research: Paper + Software + Data. Not Easy! Identify barriers and simple approaches to overcome them: Lack of education / confidence with code -> Training Lack of facilities and tools -> Provide repository and GUI Lack of incentive for publication -> Link papers to code Platform incompatibilities -> Take plug-in approach Version Control GUI – EasyMercurial ( easyhg.org ) For UK researchers: Repository code.soundsoftware.ac.uk If any UK interest - can we help your project? Please ask us!