2. 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
3. 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
•Maintain
Others can use this code
(Yes, you know all this...
but what about your hack...?) Nobody can use this code
BUT – what about Research?
4. Ideal 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
Etc etc (Today: Thomas from MuScore)
5. 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.
6. So: 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!)
7. Reproducible Research
Research 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?
8. 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 big
Or even:
• Someone else might use it to do better research than me
• Someone might notice something wrong with my research
9. Reusable research
Even “Reproducible” might not get to the people who need it:
• Musicologists don’t use Matlab
• Code no longer works when they come to use it
So – 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 software
and so, make audio & music research have an IMPACT.
10. 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
11. 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
12. 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.
13. 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
14. Conclusions
Could researchers use you?
Definitely:
• Have fun
Sometimes:
• Make money (or at least, get free beer & pizza)
But more important:
• Change the world...
Watch this space: www.SoundSoftware.ac.uk
And Finally...
15. 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 project
Mail: patrick@thisisanimal.com
or give your name to me (Mark Plumbley). Thanks!