Photo (c) Jan Trutzschler von Falkenstein; CC-BY-NCPhoto (c) Rain RabbitPhoto (c) Samuel CravenPhoto (c) Gregorio Karman; CC-BY-NC


I am a research fellow, conducting research into automatic analysis of bird sounds using machine learning.
 —> Click here for more about my research.



Older things: Evolutionary sound · MCLD software · Sponsored haircut · StepMania · Oddmusic · Knots · Tetrastar fractal generator · Cipher cracking · CV · Emancipation fanzine


What tracks would you take into a shop to test out a hifi?

FWIW here's what I'm thinking.

music · Permalink / Comment

Today we launched Warblr, our app for automatically recognising the sounds of the UK's hundreds of bird species.

It's £3.99, and it's in the Apple Store here.

It's built using our research here at QMUL. The research was funded by the EPSRC - they funded me to do the basic research, and they also funded the "innovation" grant that helped turn it into software people can use on their phone.

One question you might wonder... If it's based on public research funding, why is it a paid app? We're going with a spin-out model, creating a business (a social enterprise with open data and conservation goals) and we believe that's a good route to making it sustainable. The basic research is publicly available to all.

I'm particularly happy to see the Guardian did a head-to-head test of our app and another one. Yes they agreed our app was better :) but the broader point is that this research on machine learning and sound is now reaching the point where, like speech recognition, it becomes more than just a research idea to become something people can use as an everyday tool.

The data we used during development: Xeno Canto, the big crowdsourced bird sound database, has been invaluable. And more recently the British Trust for Ornithology also very kindly allowed us to use some of their bird monitoring data (collected by thousands of volunteers over decades) as part of the recognition process.

The data we collect: we shall see! But a big motivation for this endeavour is to collect audio as well as geospatial data, that can help research and one day will also help organisations such as the BTO to monitor bird conservation.

It's been interesting getting to this point. Thanks to all who helped us on our way, including my business partner Florence Wilkinson who's been working tirelessly on this. And a personal thanks from me to Mark Plumbley for his enthusiastic support and discussion all through the early stages of this research!

science · Permalink / Comment

I've never encountered any writing that looks at feminism and Islam, let alone written by Muslim feminists. I wanted to fix that, so I asked on twitter: "Muslims, feminists: any good writing on feminism and Islam out there?" Here are the answers I got:

Eilidh Elizabeth said:

Fatima Mernissi, Lila Abu-Lughod, Azadeh Moaveni, Pardis Mahdavi, Therese Saliba, Kecia Ali, Ziba Mir-Hosseini

zara said: @haleema_kabir

to which Haleema Kabir replied:

@zaraisfierce @mclduk >.< ♥

I've not read any of these yet, but it's great to have some starting suggestions. Thanks!

feminism · Permalink / Comment

OK, I'm getting stuck into the BBC Charter Review this evening. (Here's why.)

Here are some of my answers...

media · Permalink / Comment

I got a big pot of kim-chi from the chinese supermarket, so I decided to make some pork dumplings and give them a vaguely asian flavour. This was nice and makes good use of a very small amount of pork. Serves 1 as a main, or 2--4 as accompaniment, takes 25 mins:

In a frying pan, fry the pork mince for 5 mins, breaking it up well into small pieces as you go. Then take it off the heat and let it cool a little bit.

Meanwhile, you can start making the dumplings even while the pork is frying. Mix up the flour, suet and five-spice. Add a splash of cold water (2 tbsp?) and with your fingertips mix and rub the mixture. If it's not wet enough to come together, add a bit more water; if it's too wet to work with, add a touch more flour; etc.

Sprinkle the basil leaves over the mixture, then sprinkle the slightly cooled pork mince over too. Make sure the pork isn't too hot to work with your hands, then mix everything up nicely and form into about 8 round balls.

Place the dumplings in a steamer and steam for 15 minutes.

Serve with plenty of kim chi.

recipes · Permalink / Comment

I first encountered the vegetable which I call the dudhi many years ago. But now I've moved to a part of London with a large Bangladeshi community it's available everywhere.

It's a big vegetable like a cross between a cucumber and a potato. You can treat it a bit like a tough courgette. Steaming it the other day didn't work out well. But today I tried frying it with chicken, in a mediterranean fashion, and yeah that worked out.

This simple thing is to serve one and takes less than 20 minutes:

Slice the dudhi down the middle and then into slices about 1cm thick. Get some oil nice and hot in a big frying pan and add the dudhi. Fry the dudhi for a total of maybe 15 minutes, but adding more things about half-way through as follows.

While the dudhi is cooking, dice the chicken breast. Add some salt and pepper to a handful of plain flour on a plate, and toss the chicken in the flour, to coat evenly. Add it to the hot pan, making sure the chicken pieces are in the hottest and oiliest bit of the pan so that they're going to fry and cook. Slice the garlic and add that too.

When the food is ready to serve - you need to be confident that the chicken has had time to cook through - turn the heat off, then sprinkle the basil leaves on top of everything. Also sprinkle a small splash of water on top, which will instantly turn to steam and just help the basil along a touch. Stir briefly and serve, with bread or pasta.

recipes · Permalink / Comment

I found this great old book in an Edinburgh library a few years ago, about the invention of cooking. It's called "Food in History" by Reay Tannahill, published 1975.

I copied out a fascinating couple of paragraphs, let me quote them here:

But how the process of boiling was discovered - as it appears to have been long before the invention of pottery or the development of metalworking techniques - is a much more difficult problem. Fire may turn up by accident, and roasting may be the equally accidental result. But hot water is a rare natural phenomenon, and cannot be produced either accidentally without containers which are both heatproof and waterproof.

It is usually argued that food in prehistoric times was boiled by the following method. A pit or depression in the earth was first lined with flat, overlapping stones, to prevent seepage, and then filled with water. The water was brought to the boil by heating other stones or pebbles directly in the hearthfire and manhandling them (by some unspecified means) into the water. While the food was cooking, more hot stones were added to keep the water at a suitable temperature. In fact, this pit method sounds like a late development, a mass catering technique designed for large social gatherings which may have been spread by migrating tribes of advanced peoples. These, passing through the territory of backward communities, would repay their hosts by giving a feast. The backward communities, impressed by the new boiled food, would imitate the method - and continue to imitate it - because it was the only one they knew. 5000 B.C. appears to be the earliest date at which there is proof that the technique was used.

Long before this, however, many widely scattered peoples had their own more logical and far less tiresome ways of boiling meat, making use of pre-pottery containers which not only allowed them to use water in their cooking but may even, in some cases, have inspired the idea - either because without some form of liquid the food would stick to the container, or because food cooked in them produced its own moisture in the form of juices or steam.

In many parts of the world, for example, large mollusc or reptile shells must have been used, as they still were in the Amazon in the nineteenth century, when the naturalist Henry Walter Bates sampled a dish made from the entrails of the turtle, "chopped up and made into a delicious soup called sarapatel, which is generally boiled in the concave upper shell of the animal."

In Asia, that productive tree, the bamboo, was probably used. A hollow section stoppered with clay at one end, filled with scraps of meat and a little liquid, then stoppered again at the other would answer the purpose well. The method is still used in Indonesia today.

In Central America, in the Tehuacan valley near the south-western corner of the Gulf of Mexico, the people who lived in rock shelters around 7000 B.C. and gathered wild maize for food had begun to use stone cooking pots. It seems likely that a pot, once made, was sited in the centre of the hearth and left there permanently. It would be very heavy, suitable for use only when a community was firmly fixed in its abode or willing to fashion a new pot each time it moved its cave.

Before the advent of pottery and bronze, there was at least one type of container which was widely distributed, waterproof, and heatproof enough to be hung over (if not in) the fire. This was an animal stomach. In paleolithic times, the hunter, having killed his prey and carved up the flesh for transport, rewarded himself with a banquet of the more perishable parts - the heart, the liver, the brain, the fat behind the eyeballs, and some of the soft internal organs. Like twentieth-century Eskimos, he may have regarded the partially digested stomach contents of his kill as a special treat. It would be a logical development, as his liking for cooked food became a habit, to cook the contents in one of the stomach bags, and finally to use the same container for other dishes, some of them not too far removed in their finished effect from the modern casserole.

As late as the fifth century B.C., the nomad Scythians still cooked their food in a stomach bag when they had no cauldron available. "They put all the flesh into the animal's paunch," said Herodotus, "mix water with it, and boil it like that over the bonefire. The bones burn very well, and the paunch easily contains all the meat once it has been stripped off. [The rumen of a twentieth-century cow has a capacity of thirty to forty gallons.] In this way an ox, or any other sacrificial beast, is ingeniously made to boil itself."

Lots more interesting detail in this chapter ("Food and Cooking before 10,000 B.C."), The focus in this passage is on boiling, coming after some earlier developments such as roasting although roasting "was wasteful because of the shrinkage inevitable with high-temperature cooking."

This book came out in 1975, and it seems it was re-issued in 2000, so you should be able to find a copy. I might get one too. Inventions such as the wheel are well-known cliches - similarly, there must have been so many little revolutions in prehistoric cooking. I wonder if the research on this prehistory has developed further.

food · 1 comment

For two months I've been visiting Richard Turner and the Machine Learning Group at Cambridge University. It's been a very stimulating visit. As part of my fellowship applying machine learning to bird sounds this was planned as a time to think about methods appropriate for the various purposes we want to analyse bird sounds - in particular given the constraints of uncontrolled audio recorded in the wild.

We considered approaches derived from non-negative matrix factorisation (NMF), from convolutional neural networks (ConvNets), and from neural spiking models.

NMF is conceptually simple and easy to optimise, and there have been some interesting recent extensions to hierarchical representations and so forth, which might allow for a structured decomposition of an audio scene. One thing I'd love to do is augment NMF with Markov renewal process temporal modelling, and it looked like Cemgil-style NMF would give us a way to inject that in as a prior on the activation patterns, but then we found a hole in our maths which meant it wasn't going to give us that. NMF models are interesting and very clear, but it's not always obvious when your problem will admit a cute algorithm to solve it. Still lots of interesting things one can do with NMF.

We then put most of our time into looking at convolutional auto-encoders (ConvAEs). As with the rest of the neural net renaissance, these offer very flexible ways to model data. An auto-encoder is good for unsupervised learning, and has a lot of potential for learning useful representations of data, given appropriate constraints. These have been used for all sorts of purposes, and occasionally for audio.

Some interesting recent papers look at how to get a structured/semantic representation out of an autoencoder. This is often helped by having speech/vision datasets which are highly structured themselves (e.g. a photo of the same face from many angles and many lighting conditions). With natural birdsong we don't really have that opportunity, so the interesting question is whether we can design a system to do something along those lines despite the uncontrolled (and often unlabelled!) data.

I'm not going to say too much about the method here because the work isn't finished, but here's a work-in-progress image, showing (in the top row) a spectrogram of some birdsong contaminated by background noise. In the lower two rows the autoencoder is outputting an estimate of the foreground and of the background. Not perfect but certainly encouraging.

three spectrogram plots

Thanks to Rich and the group for their welcome in Cambridge!

Also thanks to some people who offered some specific insights into convolutional neural networks and Theano: Sander Dieleman, Matthew Koichi Grimes, Vijay Badrinarayanan.

science · Permalink / Comment

Other recent posts: