Photo (c) Jan Trutzschler von Falkenstein; CC-BY-NCPhoto (c) Serge BelongiePhoto (c) Rain RabbitPhoto (c) Samuel Craven

Research

I am an academic computer scientist, conducting research into automatic analysis of bird sounds using machine learning.
 —> Click here for more about my research.

Music


Other

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

Blog

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.

PREPARATION:

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...

COOKING:

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 · Mon 20 September 2021

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.

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 · Mon 09 August 2021

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:

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!

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 · Thu 17 June 2021

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 also really handy when you don't have access to an oven, because they're cooked in a pan.

Here I've veganised his recipe. I'm simply switching cow milk for oat milk, but I find you need to reduce the amount of milk (else they become really sticky to work with). I'm also including some tips which for me made it easier to handle everything.

Ingredients

Instructions

Make the dough: Add the flour, sugar and salt to a bowl. Mix it well with your hands. Then add the milk and the sourdough starter. Mix it until it comes together. Once it gets too stiff dump it out on the kitchen counter and knead it until all the flour has been absorbed into the dough. Then cover the dough and leave to ferment for 8 hours. If it’s very warm you may want to shorten that time.

Next, when the fermentation is done, shape the muffins. I do it differently from him, partly because I don't have a cookie cutter, but also I found it really handy to use a little square of baking paper for each individual muffin. Here's a picture showing how I do it:

My English muffins kit

Use a roasting tin, or anything that you can keep the un-cooked muffins in - it should have high sides, so that when you drape a towel over the top it won't touch the muffins. Cut/rip 10 little squares of baking paper, about 4 inches (10 cm) square. Put them in the roasting tin(s), and dust them with semolina.

For the next step, it will help to have a dish of water available, and occasionally dip the palms of your hands in this bowl - this stops the sticky dough from sticking to you.

Dump the dough out onto the counter or a big chopping board, flatten it a bit, and use 1 or 2 dough scrapers to chop it into 10 equal-sized pieces. (If you don't have scrapers you can do it by hand.) Now, for each piece, with slightly wet hands you can roll and shape it into a flat burger shape, then place it on a piece of baking paper.

Sprinkle the dough with more corn flour. Cover the whole lot loosely with a dish towel and let the muffins rise for an hour.

Cook the muffins:

Put a pan on to medium high heat and let it come up to temperature. Put as many muffins as you can so that they don’t touch each other. You do NOT need to remove the baking paper! You can place them in the pan with the baking paper face up. This makes the whole job easier.

Put a lid over the top of the pan so that the muffins can steam themselves. Cook for about 7-10 minutes until the muffins are golden brown. Then take off the lid, peel off the baking papers, and flip the muffins over and cook them 7-10 minutes on the other side.

Put the muffins on a wire rack and let them cool.

My English muffins, cooling on a wire rack

For a whole lot more detail and a nice video, see Foodgeek's sourdough English muffins recipe.

recipes · Wed 05 May 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 a small number of examples of the sound to be detected. This is a great challenge for machine-learning students and researchers: it is not yet solved, and it is great practical utility for scientists and conservationists monitoring animals in the wild.

We are able to launch this task thanks to a great collaboration of people who contributed data from their own projects. These newly-curated datasets are contributed from projects recorded in Germany, USA, Kenya and Poland.

The training and validation datasets are available now to download. You can use them to develop new recognition systems. In June, the test sets will be made available, and participants will submit the results from their systems for official scoring.

Much more information on the Few-shot Bioacoustic Event Detection DCASE 2021 page.

Science · Tue 02 March 2021

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 these "boxes" between software and databases reliably?

The question is: should we use the w3c’s "Media Fragments" syntax? In particular, I’m looking at section 4.2 about selecting temporal and spatial sub-regions.

Temporal region examples:

    t=10,20   # => results in the time interval [10,20)
    t=,20     # => results in the time interval [0,20)
    t=10      # => results in the time interval [10,end)

Spatial region examples:

    xywh=160,120,320,240        # => results in a 320x240 box at x=160 and y=120
    xywh=pixel:160,120,320,240  # => results in a 320x240 box at x=160 and y=120
    xywh=percent:25,25,50,50    # => results in a 50%x50% box at x=25% and y=25%

My perspective:

The definitions for the content of the values are good, and we should directly follow their example. (For time, the values are Normal Play Time (npt) RFC 2326 which can be purely in seconds or in hh:mm:ss.*, and other formats such as ISO 8601 datetime can be used as "advanced" use. For space, values are in pixels or percentages, with pixels as the default, and x=y=0 the top-left of the image.)

The structure of the selectors, however, I think could lead to problems for annotating biodiversity multimedia:

So, as one possibility: we could use the w3c’s approach to defining the values, by explicitly referring across to their use of RFC 2326 etc; but instead of simply recommending to use Media Fragments, we do NOT recommend the t or xywh selectors but instead recommend separate fields for timeStart, timeEnd, freqLow, freqHigh, and so forth.

I should say that my background is with audio data, and so for selecting image regions there may be existing good practice/recommendations that I haven't spotted.

My blog doesn't have a "comments" function, but I'd like to read your comments! You can reach me using twitter or email dstowell (attt) tilburguniversity.edu

Science · Thu 18 February 2021

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.

For the tarka:

Take a large frying pan, warmed to medium hot, and toast (dry-fry) the mung dhal in it for about 5 minutes until they smell toasty and turn slightly pink/orange in colour. Keep shuffling them so they don't burn. Then pour them into a sieve (make sure you don't melt it if it's plastic), and rinse and soak them in cold water briefly.

Take a deeper pan with a lid, and warm it up medium hot, with the cinnamon stick in the dry pan. When that's had a minute or so, add the mung beans as well as about 400 ml of water. It needs plenty of water. Also add the turmeric, chilli seeds, asafoetida and salt. Bring this to the boil and then simmer it for about 45 minutes, part-covered with the lid. Make sure it doesn't boil over, but that aside you don't need to worry about it too much.

After 45 minutes the mung dhal should be soft and swollen and the chalky texture should be just about gone. Turn off the heat, and stir in the methi and 1 handful of the dessicated coconut. You can leave this to sit for a while, to absorb -- you can just do the rest whenever you're ready to eat.

When you're almost ready to eat:

If you have a hand blender, use that to blend about a quarter of the mixture in the pan. This gives some thickness without mushing everything. You can also use a potato masher or suchlike. Then, put the dhal back on a very low heat -- do not allow it to boil.

Make the tarka: in a frying pan (perhaps the one you started with!), get the oil nice and hot. Finely slice the onion and the chilli, and put them in to fry until caramelised and a bit crispy. Also add the other tarka ingredients after a couple of minutes.

Serve the dhal in bowls, with the fried tarka sprinkled over the top. Eat with bread (e.g. roti/chapati) or as part of a larger meal.

recipes · Mon 18 January 2021

We had gorgeous jackfruit fritters in a London pub. Somehow, they got them extremely chickeny tasting. Impressive! I had to try and replicate the effect.

So what we're doing here is lovely juicy jackfruit fritters, making sure there's not too much stodgy dough getting in the way. It's flavoured with herbs, but specifically with those flavours that remind you of chicken and stuffing: sage, thyme, onion. I'm using a mixture of fresh and dried herbs according to availability - you could change it around. You really need at least some of the herbs to be fresh, because they're not just there for flavouring, they provide leafy green body to the fritters too.

I use chickpea flour (gram flour) to hold the fritter together and to help give it a moist chew. You could try other types of flour but I don't think they'll give the same effect.

You need to get the ingredients as dry as possible - the less excess water, the better the fritter will hold together. So, try washing and draining your jackfruit and herbs early, and leaving them to drain for a good while. I also pat the jackfruit dry with kitchen paper.

Serves 1-2, takes 30 minutes.

Drain the fackfruit pieces as well as you can, cut off any very hard bits and discard, and then chop the rest roughly - it should end up as pieces a bit like chicken kebab meat, smaller than bitesize but still chunky. You can squish the pieces a little with your fingers, so that they break up a little and expose more surface area, and also look less like triangles.

Put the fresh herbs in a blender and pulse to chop them finely. (Or use a big knife and chopping board!) If you're using the blender, you do not need to discard the stalks for the parsley, but you will do for the others that have harder stalks.

Mix everything except the flour together well in a medium bowl, ensuring the herbs and other flavours are well-distributed over the jackfruit pieces. Leave to marinate for at least 1 hour.

When there's about 15 minutes before time to eat, sprinkle the chickpea flour evenly over the mixture, and mix it all through well. You're aiming to give the mixture enough flour that it's going to hold together well, but you do not want the flour to take over from the jackfruit. You're not making a dumpling! The flour should absorb pretty quickly into the mixture

On a flat surface, divide the mixture into two balls, then squish and compress them with your hands to make two compressed, burger-y shapes. Let this sit for a few minutes to absorb and to start to hold its shape, while you prepare other things.

In a large flat frying pan, warm up some veg oil ready for frying. You'll be shallow frying, but don't be stingy with the oil - you need enough oil (maybe about 1mm depth?) such that the surface of the fritters will form well. Very very gently, and without breaking or reshaping them, manoeuvre the fritters into the pan. Don't disturb the frying fritters too much, especially at first - let them get a surface from frying. They'll take about 5 minutes one side, and then you delicately turn them and give them 5 minutes the other side.

Serve as a starter, or as a midweek meal with chips and salad.

recipes · Fri 11 December 2020

Other recent posts: