View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
Sustainable Softwarefor Audio & Music Research Mark Plumbley Centre for Digital Music SoundSoftware.ac.uk
Why?Why write code? Why do research?•Have fun! •Have fun!•Make money* •Make money*•Change the world... •Change the world...“Changing the world”- Helping other people to use your code or research.-Takes more work, but worth it- In research circles, this is called “impact”. * Or, have someone pay your salary / studentship, or buy you beer & pizza
Impact of Coding“High Impact” Coding Hobby coding•Collaborate •Write code•Design code •Never document•Write code •Deliver (maybe)•Document •Erm...•Deliver •That’s it.•Advise•MaintainOthers can use this code(Yes, you know all this...but what about your hack...?) Nobody can use this code BUT – what about Research?
Ideal Research PipelineResearcher A (“Producer”)• Read background papers• Do own research• Publish paper XResearcher 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 XEtc etc (Today: Thomas from MuScore)
Researchers write code (badly)Typical Research Skills: Typical Coding Skills:•Maths •Design•Experiments •Documenting•Analysis •Version control•Proofs •Unit testing•Writing & presenting •APIs•Matlab/Gnuplot/LaTeX •C++/Java/Python Some can do both (including people here today). But lots can’t.
So: Real Research PipelineResearcher 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 elseNB: A and B may be in same group (or same person later!)
Reproducible ResearchResearch used to be “reproducible” from the paper alone.Research is now too complex. Just the paper is not enough.So, we need• The paper (ideally Open Access)• The code (ideally Open Source)• The data (ideally Open Data)In audio & music research, hardly anyone does this?Why?
Why is Reproducible Research Hard?Researchers don’t release code because• Copyright/Licensing – could sell it later?• Badly written – would be embarrassing!• No time to tidy up – not a priority (“Its not research”)?Researchers don’t release data because• I don’t own it (e.g. my CD collection)• Its too bigOr even:• Someone else might use it to do better research than me• Someone might notice something wrong with my research
Reusable researchEven “Reproducible” might not get to the people who need it:• Musicologists don’t use Matlab• Code no longer works when they come to use itSo – new project: “SoundSoftware.ac.uk”• Help audio & music researchers to make sustainable and reusable research software• Help other researchers use audio & music research through sustainable research softwareand so, make audio & music research have an IMPACT.
How can SoundSoftware.ac.uk help?• Employ software developers to make existing research software robust & usable• Training for researchers to write robust & reliable research code• Help for academics / research project managers to build software development into research projects• Curation of data and software to help future researchers find what they need
Example software:Long-term software reuse: Sonic Visualiser• Multi-purpose visualiser for sound recordings• Open source• Built from modular libraries which can be used for other applications• Introduced plugin architecture (Vamp plugins) for analysis tools based on research• Used by audio researchers, musicologists, etc
Example service:Maintaining systems and services: SAWA• Allow access to rdf repositories with audio and music related meta-data (150000 audio tracks).• Web-based audio features extraction and similarity search services.• Can be seen as a continuous service for researchers in music/audio similarity research.
First steps• Survey supply/demand for audio research software/data • To be completed late 2010• Software training course for researchers • Software Carpentry autumn school Nov 2010• Initial field-tests of development services • Start locally at Centre for Digital Music, expand after survey out
Conclusions Could researchers use you?Definitely:• Have funSometimes:• Make money (or at least, get free beer & pizza)But more important:• Change the world...Watch this space: www.SoundSoftware.ac.uk And Finally...
New Startup Wants You A seed-funded team from UCL is building something exciting. If you• are an experienced DSP developer• are available for contracting this year• want to see your code on 5.1m mobile devices• want know more about this projectMail: firstname.lastname@example.org give your name to me (Mark Plumbley). Thanks!