Other things on this site...

[Blog archives] [Categories]

Night trains and how things should be

As I write this, I am flying through the night on a Nightjet night-train from the Netherlands to southern Germany. It's a delightful train ride with lots of nice little touches. Before bedtime, I sit here with a drink in my hand, watching the views go by outside. The view alternates between peaceful countryside and urban/industrial busyness. It really feels like you can see a lot from here.

I'm angry. I'm angry on behalf of my friends, family, and everyone else back home. The UK government has just upended plans for the HS2 and "Northern Powerhouse" railways. I left the UK partly because it has a stupid political setup that frustrates all attempts at (simultaneously) two important things: sensible evolution of policy, and sensible planning and provision for our future. One of the scraps of hope I held on to had been this: The HS2 rail project, imperfect as it is, was one of the few big projects that the UK had actually got its act together on, during my lifetime, or at least one of the few big projects outside London. As a northerner I need HS2 to be implemented sensibly, because I know and feel how left-behind we've been in terms of the over-centralised London government investing in us. Plus, of course, modern train systems mean there's less need to fly or drive: so even when they have some impact in being built, they're likely to be good for our climate aims as well as for providing nice things to ordinary people, making life a little better.

The UK political system means, to a first approximation, that it's pretty likely the wind will blow the opposite way every four years. This is because it's effectively trapped in a two-party system, seesawing between the two. Big projects might eventually get planned - but then they get canned, or at least bodged, a few years later. Thanks to the stupid voting system it's really unlikely this will change in the next couple of decades. In a more sensible system, such as a proportional system, people's votes actually have the effect they're meant to. Parties that were once top-dog can fade to nothing if they don't do good work.

And the UK's problems are even more stuck when you realise how heavily centralised it all is. I hadn't realised this until I left the country and saw other ways of doing it. Running the country from London, pushing all local democracy to the fringe and hoovering up the person-power (see stats from Tom Forth on this), is so blinkered it hurts. The broken voting system, mentioned above, wouldn't matter so much if our local regions (county councils) still had budgets and leverage to get stuff done.

I want the UK to be better. I want to help too. I tried to make a difference while I was there, and I hope I can do again one day. I tried, and in many ways I was stymied.

I'm now living in a European country which - while not perfect - gives me a sense of optimism, a sense that it's possible to make sensible investments and plans that will help everyone. The basic feeling is the feeling that at the top level (politics, civil society, whatever), the rules of the game are not fixed to fuck us over.

I'm flying through the pitch-dark countryside right now, in a delightful night-train that crosses three countries, and I'm still impressed that it can cross countries so effortlessly. - Funnily enough, night-trains were more common in the past before the era of the motorway. Many night train services were dismantled as the car took over. Now, though, we realise they're a good way to do things, and there are many night train services being rekindled across the continent, in an evolving mix of government planning and commercial endeavour. All democracies are messy, and all have good decades and bad decades. I feel hope here, seeing what happens when there's a foundation that allows for civil negotiation and long-term planning.

| politics |

Reflections on DCASE 2021

This week was the DCASE 2021 workshop, a great workshop with lots of interesting research activity on Detection and Classification of Acoustic Scenes and Events.

Some observations from me:

  • The development of "SED" (sound event detection) into "SELD" (sound event localisation and detection) is really welcome. There are lots of applications in which we want to infer the spatial location (or the direction) of the sound sources: robotics, bioacoustic surveying, etc. I saw some high-quality performance, and good development of synthetic training datasets etc.
    • There will always be tasks with no spatial information (lots of them!), so it seems likely that both SED and SELD should continue to be refined, in parallel.
    • The addition of spatial localisation brings the subject matter even closer to that of our underwater cousin DCLDE (Detection, Classification, Localization, and Density Estimation of Marine Mammals using Passive Acoustics). There's no need to consider "merging" workshops, but perhaps we should have more exchange between these communities.
  • I appreciated the focus on small-footprint neural networks which was created by Task 1a's requirement for submitted systems to have a limited number of parameters (limited to 128kb of nonzero parameters). I remain unsure about whether this specific constraint is the best one - what about the size of the model, for example? It could be nice to try something such as applying a total RAM constraint on the entire process. But, still, the challenge encouraged the production on good small-footprint classifiers.
  • I am proud of our work on Task 5, "few-shot bioacoustic event detection", of the large team that put it together, and the submitted works! I'm particularly proud because the way we designed the task is extremely closely linked to problems that practitioners in bioacoustics or animal behaviour face, and I think that with a little more development, we can hand them some good useful tools. I believe we have a very good balance: a task that is needed in practice, while also being conceptually interesting for algorithm development. (Here's a quick video overview of the task by Veronica.)

In the "town hall" plenary we discussed some interesting opinions about how to organise DCASE going forward. There was also a very interesting discussion, emerging from the "industry panel" plenary, of privacy and GDPR issues in using sound sensors in public. I'd like to thank the contributors to that discussion - it's a non-trivial issue and so it's very good to hear some well-considered perspectives on this.

You can watch the videos from DCASE 2021 here.

I'm looking forward to DCASE 2022 - in Nancy, France, in November. See you there!

| science |

MSc project topics with me

I'm an academic working on AI and Biodiversity - my research is described here. If you're an MSc student at Tilburg University CSAI department (or elsewhere), you could take your project with me. In most cases you will need some deep learning skills, and in most cases you'll be working with natural sounds such as wildlife sound monitoring. Here are some specific topics of interest right now, that you could study:

  • A simulated dataset for wildlife Sound Event Localisation and Detection
    • It is very useful to automatically localise and detect sounds – for example, multiple people speaking in a room. It would also be highly useful for outdoor wildlife monitoring – but there’s a problem: in order to train machine learning, we need a well-annotated training dataset, but it’s very hard to do this for outdoor natural sound recordings, because the sounds are complex and hard to annotate exactly. In this project, you will follow a recent method for creating synthetic SELD datasets but adapt it for outdoor sound. The challenges will be to obtain good sound source material, as well as “impulse responses” for natural reverberation, and to evaluate the naturalness of the synthesised sound recordings. Your work will enable the next generation of intelligent wildlife monitoring.
  • Classifying rare fish from photos (with an industry partner)
    • Our partner runs an app for anglers, who submit photos of the fish they catch, for automatic species ID. Can we use this unique dataset to help monitor the fish biodiversity of the Netherlands? Organisations such as the Waterschaps are obliged to make biodiversity reports to the EU, so would benefit from automatic monitoring technology. However, there is an interesting research question: photos of fish taken out of water are very different from those on automatic underwater cameras.This is an extreme example of "domain adaptation" in machine learning. You could also investigate how to classify rare fish species, in which we only have 1 or 2 live images – can image synthesis, or collections of drawings, help?
  • Birdsong automatic transcription
    • For images we have "object detection", and the equivalent for audio is "sound event detection" (SED). But - can we successfully detect all the sound events in a dawn chorus, when many birds are singing early in the morning? We have a dataset of annotated birdsong recordings. SED has been studied using deep learning, but we don't know if it works well enough for dense sound scenes of multiple birds. If we could get this working, we could understand animal behaviour (for example, are the birds taking turns) and also improve biodiversity monitoring
  • Detecting birdsong on-device
    • Automatic detection of sounds is useful for "wake-up" functionality in a smartphone. It's already used for keyword-spotting in mobile devices. Can we use it to automatically detect a particular birdsong? In this project we would like to develop a phone app that can listen continuously and react when a particular bird species is detected. We know this is possible, and you can solve it using standard deep learning toolkits - but the big challenge will be to run this on-phone (Android, iOS), creating a smart but low-power algorithm that can run on device. In this project you might use existing "keyword spotting" tools, or use toolkits such as TFlite to port an algorithm onto device.
  • Optimal updating of a deep learning classifier service
    • We deploy deep learning (DL) classifiers, often using convolutional neural networks (CNNs), to recognise animal images and sounds. We also continuously receive new data – some of it labelled, some of it unlabelled. What’s the optimal way to “update” our classifier for best results? We could train it again from scratch; we could "fine tune" it using the new data; we could keep part of the model "frozen" and re-train part of it. And how would we verify that the model was not worse than the previous one? In this project you will design and validate an approach for updating a classifier for use in a live deployed web service, considering theoretical and practical aspects of how to maintain and improve the quality of service.
  • Birdsong classification with spectrogram patches
    • A recent deep learning paper found that using “patch embeddings” was a powerful method for image classification. It has some similarities with older methods used on patch embeddings of spectrograms for sound classification. In this project you will adapt the recent image-classification work for birdsong classification, and find out if you can create the next generation of powerful birdsong classifier.

Also we have INTERNSHIP ideas:

  • Internship: "Novelty detection for biodiversity images/audio" (with an industry partner)
    • We use images and sound recordings to detect birds, insects and plants all across the Netherlands. But what if we receive an upload with a species we don’t know about, or an unusual file that needs expert attention? In this project you will work with machine learning methods for anomaly detection, and apply them to biodiversity data. You will help to improve automatic monitoring of biodiversity, in the Netherlands and beyond.
  • Internship: “Human perception of bird sounds”
    • We have conducted a research study in which we played bird song “syllables” to birds, and asked the birds which sounds were similar to each other. But what do humans think? Would they make the same decisions as birds? In this study you will reproduce our bird song comparison study with human volunteers. More specifically, volunteers hear 3 sounds, let’s cal them A/X/B, and they are asked: does X sound more similar to A or to B? From this study, we will be able to explore how similar or different human sound perception is to birds’ sound perception.

Here are some PAST projects I've supervised:

  • 2021:
    • Voice anonymisation in wildlife sound recordings
    • Insect sound classification using deep learning
    • Detecting animal sounds to improve animal welfare
    • Wildlife sound source separation using deep learning
  • 2019:
    • Efficient bird sound detection on the Bela embedded system [Paper]
    • Short-term Prediction of Power Generated from Photovoltaic Systems using Gaussian Process Regression [Paper]
    • Listen like a bat: plant classification using echolocation and deep learning
    • Evaluating the impact of Full Spectrum Temporal Convolutional Neural Networks on Bird Species Sound Classification
  • 2018:
    • Detecting and classifying animal calls
  • 2017:
    • Estimating & Mitigating the Impact of Acoustic Environments on Digital Audio Signalling [Paper]

Check out the published papers to see some details from the kind of work we do!

Get in touch with me by email, info here. You're welcome to suggest a topic of your own, though to work with me it should concern new deep learning methods and/or animal sounds.

| science |

Rum & soy chickpeas with peppers, plus rice and peas

A Caribbean-inspired easy mid-week dish. The chickpeas go nice and roasty and sticky, flavoured with rum and soy. I served it with rice and peas, an imitation of the classic Caribbean dish, of which you can certainly find more authentic recipes out there. (My rice and peas was in fact a quick imitation of the recipe from Levi Roots.)

You should probably add some chilli sauce somewhere.

Serves 2, takes about 45 minutes plus an optional gap of half an hour while things infuse.

  • For the rice and peas:
    • 160g rice (e.g. basmati)
    • 1 300ml tin coconut milk
    • 1/2 a tin of kidney/black beans
    • 1 tsp dried thyme
    • pinch of salt
    • 1/4 of an onion
    • 2 cloves
    • 1 tsp peppercorns
  • For the chickpeas:
    • 1 tin chickpeas
    • 1.5 (or 2) bell peppers
    • 75ml dark rum
    • 1 tbsp dark brown sugar
    • 2 tbsp soy sauce
  • 1/2 a lime


Rinse the chickpeas and leave them to drain well.

Put the coconut milk in the pan that you will use for the rice (one that has a tight-fitting lid), and put it on a gentle heat to warm up a bit. Add the onion, cloves and peppercorns - I added all these using an "empty teabag" so I could get them out again. Turn the heat off (it will infuse, for 30 mins or so).

Once you've prepared the coconut milk, put the rice in a sieve and rinse it, then leave it to soak in a big bowl of fresh water for about 20 minutes.

Also put the chickpeas into a mixing bowl, then sprinkle over the sugar, rum, and soy, and mix well. This doesn't have to marinade for long, but it can do.

...At this point it's OK to go away for half an hour or more...


Heat up an oven to 200 C.

Oil a roasting tin. Slice the peppers into long bite-size strips, mix them with the chickpeas, and then spread all of that out in the roasting tin. Put in the oven, to cook for approx 35 minutes, giving a good stir half way through.

Meanwhile, cook the rice and peas. Drain the rice (in a colander or sieve). Warm up the coconut milk again until only just bubbling, then add the thyme, beans, and rice. Give it a stir and then put the lid on. Leave it to cook gently, on the lowest heat you can, for about 20 minutes. Do not stir. When that's done, at the end you can fluff it all up with a fork, put the lid back on, and leave it off the heat while you get the rest ready.

Serve the rice and peas with the chickpea mixture over the top. Garnish with the zest of 1/2 a lime, and serve with perhaps a little salad on the side (e.g. cucumber).

| recipes |

Vegan sourdough pancakes

These pancakes are lovely - they're quite filling, and very easy to cook. The flavour and texture are excellent: the sourdough starter gives some depth of flavour that might otherwise come from eggs, and the almond helps to balance it. They are not thin crepe-style pancakes, more like American or Dutch style.

You can prepare the batter the night before (and leave it in the fridge), or you can just let it stand for at least 30 minutes. The original recipe suggested that you can leave the batter out overnight to "develop the flavour", but we do NOT recommend that - our sourdough starter is quite active, and so if you leave the batter at room temperature for that long it over-proves and tastes very sour. Instead, pop it in the fridge overnight - that's perfect! Or just make it 30--60 minutes before you need it.

This recipe is based on the pancake recipe from healthienut. It's a good thing to do with sourdough discard, but you can also use fresh starter.

The recipe also uses ground flax or chia seed. You can probably buy it as pre-ground "meal", but I don't have that. Instead, I grind up some chia seeds in a pestle and mortar, and the salt goes in with it (because salt crystals can help to grind things up).

Makes 6 small or 3 large pancakes, good for a hearty brunch for two.

  • 60g sourdough starter
  • 150g cup non-dairy milk
  • 60g cup plain flour or whole wheat flour, or whatever flour you wish to use (I used a mix of plain and wholemeal bread flour, since I didn't have ordinary wholemeal. Plain flour also works fine on its own.)
  • 30g cup almond flour
  • 1 tbsp chia OR flax seed meal
  • 2 tbsp water
  • 1 tbsp sugar
  • 1/2 tsp baking powder
  • 1/4 tsp salt
  • 2 tbsp melted coconut oil, or any flavourless oil, or margarine

In a large mixing bowl, whisk together the sourdough starter, milk, and flours until smooth. Cover with a towel and let sit at room temperature for 30 min-1 hour, or cover with clingfilm (or similar) and leave in the fridge overnight.

When you're ready (maybe 15 minutes before time to eat), combine the flax/chia seed meal and water in a small bowl. Let sit for 5 min. (You might also pre-heat the pan now, see below.) Then add flax egg to the bowl with the starter along with the rest of the ingredients (sugar, baking powder, salt). Stir until a smooth and slightly thick batter forms.

Heat a large skillet or frying-pan over medium heat. Add a dollop of oil /marge to prevent sticking - not too much. Pour a ladleful of batter on to the skillet (about 50ml?). Spread to a circle with the back of the spoon if needed. Cook until the edges start to become matte (about 1.5 minutes). Flip and cook for an additional minute or until golden brown on each side.

Top with preferred toppings, such as berry compote, fresh fruit, and/or maple syrup. Top tip: blueberries and coconut cream!

| recipes |

Dutch alcohol-free beer - 2021 update

After some in-depth field research, I'm ready to report that the Netherlands alcohol-free beer scene has boomed in the last couple of years. We've now tasted 24 of them! And 7 of them are great.

Van de Streek's "Playground IPA" has been around for a while now and is in all the supermarkets, cafes, etc - and, I have to be blunt, it's still the absolute best low-alcohol IPA we've tasted, even though we've now tried over 100 from around Europe.

But there is a whole carnival of others, and some of them are right up there in the top. There's a good representative for each of the classic beer styles, plus some funky quirky ones too. You should definitely check out:

  • Brouwerij 't IJ "Vrijwit" - finally, a delightful Belgian-style wheat beer! Frothy head, a complex full flavour, well-balanced and satifsying. This rises easily to the top spot of wheat beers, and handily it's also available in lots of shops. By the way, the brewery is "'t IJ", named after a river - you can pronounce it "utt eye" if you like.

Other Dutch breweries have attempted the low-alc wheat beer: Grolsch and Brand's are OK, Lowlander's tastes like a bitter lemon not a weizen. (Also, FYI, don't go anywhere near the Hoegaarden 0.0 - it's awful, despite my hopes for it. It's not Dutch... but the warning is needed.) If you want a wheat beer, go straight for the Vrijwit!

  • Lowlander "0.3% IPA" -- A stunning low-alc IPA - complex, foamy and refreshing, with a bitter hoppy tang combining with rounded mango and orange flavours. Stunning, and more "different" than Playground IPA.

  • Braxx "Rebel IPA" -- Very interesting malty IPA, almost a brown-ale flavour plus hoppy twang.

And if you want more... van de Streek's other alcohol-free beers: Fun House is a good NEIPA, Non-Bock a tasty bock, the grapefruit IPA good and fruity.

Other IPAs: there are good ones from Jopen, van Breugem ("Klein Zoentje"), Uiltje ("Superb Owl"), Waterland and Brand. The "Brand" is a great choice if you need genuine-zero in an IPA.

As ever - the big spreadsheet lists these and hundreds of others (or here's a PDF of it) from around Europe (124 at time of writing).

| food |

Sourdough vegan English muffins

Foodgeek has some of the best sourdough bread recipes I've found. It's his precise measurements and careful explanations that really enabled us to actually bake good sourdough. You should watch some of his videos.

One of his recipes is for sourdough English muffins. These are great for breakfast, and they're …

| recipes |

New data challenge: "Few-shot Bioacoustic Event Detection" at DCASE 2021

We're pleased to announce a new data challenge: "Few-shot Bioacoustic Event Detection", a new task within the "DCASE 2021" data challenge event.

We challenge YOU to create a system to detect the calls of birds, hyenas, meerkats and more.

This is a "few shot" task, meaning we only ever have …

| Science |

Please comment: On the suitability of w3c Media Fragments for biodiversity multimedia

Within TDWG Audubon Core, we are considering what is a good standard to label information in sub-regions of sound recordings, images, etc. For example, I can draw a rectangular box in an image or a spectrogram, and give it a species label. This happens a lot! How can we exchange …

| Science |

Coconut mung dhal

A storecupboard dhal with hints of southern India, inspired loosely by more authentic sources such as this one.

Serves 2, takes about 70 minutes but with a big gap in the middle where you can get on with other things.

  • 100g mung dhal
  • 1 small cinnamon stick
  • 4 tsp turmeric …
| recipes |