Imperial College Research Software Community Newsletter - October 2022

It’s October and the new academic year is upon us! Despite the continuing mild weather it does finally feel like summer is over. Whether you’re a researcher, an RSE, an academic or a PhD student, it’s likely that things have got going again over the last few weeks with more meetings, events restarting and perhaps teaching commitments too. With people back from holidays, we’ve also started running in person research software community events again. We held our Hacktoberfest 2022 event last week at White City campus and are planning an informal in-person RSE coffee session for the 7th November (see details below), which we hope will be the start of a regular series of these sessions, replacing our online RSE Coffee get-togethers that we ran during the pandemic.

As we look to refresh our programme of talks, training and networking opportunities over the coming months, do get in touch with us if there are things you’d like to see the community doing. Maybe you’d like us to run some training, or organise a seminar on a particular topic, maybe you’d like to give a talk yourself on your research or software development work. Either way, feel free to reach out with ideas, suggestions or requests.

And now, on with this month’s newsletter…

Dates for your diary

Research Computing at Imperial

This month, in our series highlighting key members of the College community helping to provide, manage and support research computing and research software services, we hear from Alex Dewar, Senior Research Software Engineer within Imperial’s Research Software Engineering Team:

I started my current role as a Senior Research Software Engineer in the central RSE team this July, so I’m currently the team’s newbie.

Like many in the RSE community, I’ve had a fairly traditional academic career path: first a Ph.D., followed by a period of scrabbling around for money with various odd jobs, then eventually by a postdoc postition. My area of research was in modelling the behaviour of navigating social insects, like bees and ants, which I carried out at the University of Sussex. I started off working with simulations (mostly MATLAB, some HPC), then in my recent postoc I further developed these models to run in real time on robot platforms (mostly C++, some Python). Towards the end, during the dreaded process of trying to figure out what to do next, I realised that my favourite part of my academic career so far had been the coding and that I didn’t have the appetite (or probably the aptitude) to keep churning out grant proposals. A colleague mentioned that there were such things as Research Software Engineers – I’d never heard the term before – and it sounded ideal. He forwarded me a job ad for an RSE position at Imperial, I applied and was delighted to be accepted! Now I get to spend my time trying to build software to the standard I’d like, hopefully ensuring that it will be useful for researchers for years to come.

Having worked with researchers from many disciplines, I’ve seen first hand how much academic software ends up hidden away on random researchers’ hard drives; if you ever ask to see it, there’s always a faint sense of embarrassment! I am a passionate believer that we can offer better training for researchers and, through a more open and professional software development process, get better code and better research. There are so many basic software development skills, such as using version control and peer review, that I wish I had been able to incorporate when I was starting out as a Ph.D. student and would have saved me so much time over the years.

Being part of the central RSE team means I work on a variety of projects across disciplines, so I’m constantly learning new things, while also building on my existing experience. For example, I’m currently working on a project to record electrical activity from the muscles of patients with motor neurone disease, which means I can use some of my experience in interfacing with hardware. So far I’ve found it thoroughly rewarding and can’t wait to get my teeth into my next project!

Research Software of the Month

Our Research Software of the Month for October is Voicebox, a speech and audio signal processing library.

Voicebox is a library of MATLAB functions for speech and audio signal processing. It has been publicly available as free software under the GPL since 1995 and currently includes about 270 routines. Most of these routines implement low-level signal processing functions that are described in the signal processing literature. These low-level functions are especially useful to researchers for use in preprocessing stages when designing a signal-processing algorithm. Several of the low-level functions implement transformations between equivalent data representations; these include alternative representations of frequency scales, 3D rotations, linear predictions (LPC) coefficients and time-frequency signal representations.

As well as the low-level functions, the library includes implementations of several higher-level speech-processing algorithms that have been developed either in our own speech and audio processing (SAP) laboratory in the EEE Dept or elsewhere. These include algorithms for pitch tracking, voice-activity detection, glottal-activity detection and speech enhancement. These algorithms are typically controlled by a large number of user-selectable hyperparameters; the routines will select default values for any hyperparameters that are unspecified thereby ensuring that good performance can normally be obtained without explicitly setting any parameters. A useful feature of many routines is that, when called without any outputs, they will plot a graph that illustrates their operation.

Over the 27 years that it has been available, the Voicebox library has been widely used by speech and audio processing groups around the world. It continues to be popular although in recent years its use has declined as researchers increasingly use Python rather than MATLAB especially for implementing machine learning algorithms.

Voicebox is available either as a .zip file from its website at http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html or as a GitHub repository at https://github.com/ImperialCollegeLondon/sap-voicebox.git.

RSE Bytes

News

Blog posts, tools & more

Call for Research Software Community Committee Members

Our call for Research Software Community Committee members remains open. Why not get involved, help to support the community and to play a key role in developing research software activities at Imperial?

Imperial’s Research Software Community relies on its community committee to help keep these monthly newsletters appearing in your inbox, to run events and to advocate for the importance of good research software development practices across the College.

What do we ask of you as a committee member? As a voluntary role, we ask that you commit to help out with the running of the community on a best efforts basis, contributing time and input as and when you’re able to, around the constraints of your main role. We expect committee members to edit an edition of the newsletter at least twice a year and encourage you to engage with discussions in our community Slack workspace to help keep the community active. Other activities you might like to get involved with include event planning and organisation and keeping the website up to date. We also ask that you confirm with your supervisor/line manager that they’re happy for you to take on this voluntary role.

If you’re interested to join the committee or have questions, get in touch with Jeremy Cohen.

Some reminders…

RS Community coffee

Our online, Friday afternoon RSE community coffee sessions, which proved very popular during the pandemic, have now come to an end. However, we’ll be replacing these sessions with a regular, informal, in-person RSE coffee session. We’ll be running our first trial session on Tuesday 8th November, at South Kensington Campus, in the Senior Common Room, 15:30-16:30. Join us for the whole hour or just drop by at any time during the hour when you’re available to meet and chat with other members of the community.

RS Community Slack

The Imperial Research Software Community Slack workspace is a place for general community discussion as well as featuring channels for individuals interested in particular tools or topics. If you’re an OpenFOAM user, why not join the #OpenFOAM channel where regular code review sessions are announced (amongst other CFD-related discussions…). Users of the Nextflow workflow tool can find other Imperial Nextflow users in #nextflow. You can find other R developers in #r-users and there is the #DeepLearners channel for AI/ML-related questions and discussion. Take a look at the other available channels by clicking the “+” next to “Channels” in the Slack app and selecting “Browse channels”.

If you want to start your own group around a tool, programming language or topic not currently represented, feel free to create a new channel and advertise it in #general.

Research Computing Tips

See the Research Computing Service’s Research Computing Tips series for a variety of helpful tips for using RCS resources and related tools and services.

Research Software Directory

Imperial’s Research Software Directory provides details of a range of research software and tools developed by groups and individuals at the College. If you’d like to see your software included in the directory, you can open a pull request in the GitHub repository or get in touch with the Research Software Community Committee.

Get in Touch, Get Involved!

Drop us a line with anything you’d like included in the newsletter, ideas about how it could be improved, or even offer to guest-edit a future edition! rse-committee@imperial.ac.uk.

If you’re reading this on the web and would like to receive the next newsletter directly to your inbox then please subscribe to our Research Software Community Mailing List.


This issue of the Research Software Community Newsletter was edited by Jeremy Cohen. All previous newsletters are available in our online archive.