It all started with a comment
Seven mornings and one evening of listening at Baan Sansuk, Hua Hin
A reader replied, under one of my photos, that if Merlin was not performing well in Thailand I should try BirdNET Live. Seven days later I had thirty-two listening sessions, more than six hours of recordings, and a picture of the birds that live in my neighbourhood.
Merlin covers Southeast Asia poorly
Merlin’s Sound ID covers North America, Europe, the western Palearctic, partly India and the Neotropics. Here it works, but only halfway: the app itself announces 38% of the species in my area. This is not a flaw in the software.
The model needs an annotated corpus, meaning hundreds of recordings archived at the Macaulay Library and then annotated by specialists. That corpus follows the density of eBird contributors. Where few people upload recordings, there is nothing to teach the model.
BirdNET makes the other choice. The model I use claims 9,789 species, birds but also amphibians, mammals and insects, worldwide. Broader, less checked, so more false positives to sort through.
The two apps side by side
On the seventh morning I decided to check instead of assuming. Both phones on the balcony table together: BirdNET Live on my iPhone 13 Pro Max, Merlin on a OnePlus running Android. Same table, same moment, eleven minutes each, from 6:57 to 7:09.

The two phones on the balcony table on the seventh morning: BirdNET Live on one, Merlin on the other.
Merlin seven species, BirdNET twelve. Six in common: Common Myna, Common Tailorbird, Black-naped Oriole, Ashy Woodswallow, House Swift, Zebra Dove.
The six Merlin does not pick up are not borderline cases: Coppersmith Barbet at 0.82, Streak-eared Bulbul at 0.85, Scaly-breasted Munia at 0.93. Clean detections.
During the three previous sessions Merlin was picking up the waders too: the Red-wattled Lapwing, the sandpiper and the greenshank. They appeared on both screens at the same instant, while BirdNET was lining them up on its side.
According to my assistant Claude, both come out of the same house. BirdNET was born at the technical university of Chemnitz, in Saxony, in the hands of Stefan Kahl — and the project is run together with the bioacoustics centre of the Cornell Lab of Ornithology. Merlin and eBird are products of that same Cornell Lab, and Merlin’s Sound ID was built with BirdNET technology.
Merlin is a field guide: restricted regional catalogue, simple answer, nothing to export. BirdNET Live is a measuring instrument: 9,789 species, probabilistic geographic filter, export to Raven and JSON. The interfaces follow from that, and it is why I stayed with BirdNET.
The setup
I record from the balcony table, fourth floor, a hundred metres from the sea. No specialised equipment, no external microphone. Thirty-two sessions from 4 to 10 August, 384 minutes in total. Twenty-seven from the balcony in the morning, between 6:00 and 8:35; four late in the morning on 7 August, between 10:20 and 11:40, this time down inside the wooded strip itself; one on the evening of the 9th, from the balcony. Confidence threshold 35%, 3-second analysis window, geographic filter on.

End of session #29, 9 August at 6:38: 7 minutes 44, eight detections, five species.
I soon came to prefer many short sessions. A long one saturates: after a few minutes I was hearing the same individuals on the same perches again. Another hour, another day, and the sample was fresh.
The sessions follow one another more or less at random. I am not doing science, I am enjoying myself learning.
What the numbers say
771 detections, 38 species, median confidence 0.69, only 9% of detections above 0.90.
About that confidence figure: Claude explains that it compares the curve heard against the models. It only says how closely the sound resembles what the model has learned. It serves to rank detections against each other — the one at 0.85 is safer than the one at 0.55 — but not to know how many times in a hundred the software gets it wrong.
The accumulation curve says more than the total. Five species in the first session, eleven in the second, twenty-one by the fourth, then it slows down sharply. By the thirteenth I was at twenty-eight and added nothing for four sessions. The twenty-ninth arrived in the seventeenth, and I thought the series was closed.
The fifth morning proved otherwise, and I had planned nothing of the sort. I was due to leave for Kaeng Krachan, I got up a little late, and at 6:30 it was so pleasant on the balcony that I made my tea and started listening. Five more sessions, two new species, a Spotted Owlet and a Brown-throated Sunbird, arriving in the eighteenth and the nineteenth. The curve does not flatten, it drags. Four sessions with nothing new do not mean the place is exhausted, only that what is left is rare, secretive, or passing through.
The sixth morning did the same. Five sessions between 6:00 and 8:00, four more species. A White-breasted Waterhen, which called in three consecutive sessions without my hearing it. A Black Drongo. And two waders, Common Sandpiper and Common Greenshank, which come neither from the woodland nor from the stadium but from the beach — the third habitat.
On the evening of the 9th, same phone, same table, at 18:36. The sun sets at 18:43 here. Twenty-eight minutes kept, twenty detections, five species and none of them new. Seven detections per ten minutes against twenty in the morning. The kingfisher opens at 18:38, then nine Oriental Magpie-Robins follow one another, then eight House Swifts, and by 19:02 it is over. I had forgotten I was recording, the machine ran on by itself until 20:29 and picked up nothing but a Red-wattled Lapwing at 20:05 and another at 20:13. I only count up to 19:05 for the analyses.
On the seventh morning it was raining. Low sky, steady drizzle for a good hour, then a brightening that did not take the grey away. I expected nothing and listened anyway, four sessions back to back from 6:00 to 7:09.
It is the best morning of the series. Twenty-three species, 166 detections in 67 minutes, 25 per ten minutes where the other mornings run at 22. Three new species: an Asian Palm Swift, a Black-collared Starling at 0.56, and an Osprey at 0.80, on a single detection — the sea is a hundred metres away, I am keeping it. And one twenty-minute session, at 6:36, that lines up 25 Red-wattled Lapwings and 12 kingfishers.
After twenty-eight sessions I thought I had a ceiling: the estimate had fallen back to 48. That morning sends it to 53. It is not the list getting longer, three species only. It is three more singletons, and that is all the estimator measures, the share of rarity still left.
Each point is a session. The dotted line is an estimate of the total, not a count: 34 species after twelve sessions, 44 after twenty-two, 53 after twenty-seven, 48 after twenty-eight, 53 after thirty-two.
The Common Myna dominates everything with 246 detections, a third. That does not mean it is four times more numerous than the Streak-eared Bulbul, only that it is loud, close, and vocalises in a frequency band the phone picks up well.
No two mornings are alike. On that fifth morning the Coppersmith Barbet and the Asian Koel gave 44 of the 138 detections between them, against 22 over the four previous mornings combined. The species list barely moves, the proportions change completely. One more reason not to conclude anything from a single session.
The White-throated Kingfisher gave Claude some work: 42 detections, 16 of them in the 7:00 hour. Trying to pin down peaks of activity strikes me as somewhat illusory…
Each grey bar is a session, each dot a detection. On 6 August it is talkative between 7:00 and 7:35, on the 7th it only appears after 8:10. Late in the morning nothing, but it opens the evening of the 9th.
Now the other species. The koel calls early and falls silent before 7:00. The Zebra Dove holds one slot and nothing around it. The Streak-eared Bulbul sings much the same from one end of the morning to the other. Two absentees. The Common Myna, found everywhere here and at any hour: its curve teaches nothing. The Coppersmith Barbet, more than half of whose 52 detections come from two mornings: it would speak of my schedule rather than of the bird.
Each panel has its own scale: what counts is the shape, not the height.
What the map explains

The blue dot is the balcony, the red outline the wooded strip, the municipal stadium is marked to the southwest. The sea is on the right.

The wooded strip seen from the table, from the fourth floor.
Putting the list onto an aerial view, Claude points out: on one side woodland birds, Common Tailorbird, iora, Scarlet-backed Flowerpecker, sunbird, Asian Barred Owlet. On the other, open-ground birds: Red-wattled Lapwing, Scaly-breasted Munia, Zebra Dove, Ashy Woodswallow, sparrows.
No garden produces that combination. It comes from two contrasting habitats sitting side by side, the woodland below me and the municipal stadium pitch some two hundred metres to the south-southwest, to which the coastal strip has to be added.
The wooded strip runs about 250 metres, some sixty wide on the road side and close to twice that as it approaches the beach. It is not isolated, it sits within a continuous ribbon of trees running several hundred metres along the coast. That explains the high turnover from one session to the next. Many birds pass through rather than live there.
A party of Black-winged Stilts makes the point: seven detections between 6:48 and 6:55, then nothing for the rest of the series. The two waders are the same kind of thing: one detection each on the sixth morning, then four sandpipers in thirty seconds on the seventh and nothing more. Those come neither from the woodland nor from the stadium, they follow the coast.
Going down into the strip
On the morning of the 7th, a little after ten, I wanted to see from the inside what I had been listening to from above.
The first dirt track ends at a closed gate: Private property. I carry on, take the paved access and run into the caretaker — behind the garden there is a small hotel, tucked into the woodland. I show my camera, I say I have come to see the birds. He hesitates. I insist, quietly sure of myself, and he lets me through.
Near the garden, a younger man who works there. I ask whether I can stay by the stone bench. He hesitates too, shakes his head more or less no, then catches sight of an old gentleman and speaks to him in Thai. I come over and put my question again. The answer comes without a pause: yes, you can, there are many birds, you have to stay a long time, wait. Stay as long as you like. Come back whenever you like.
You have to stay a long time, wait. It is the best advice I was given all week.
I ask him whether I can go into the wooded strip next to his garden. He thinks about it. Yes, but be careful, there may be small snakes on the ground.
I stay an hour in the garden. On that side the woodland is closed off, fencing and vegetation too dense, so I leave by the beach. I cross the hotel after asking at reception, who let me through without fuss: small buildings spaced out among the greenery, a swimming pool right at the end, against the sand. Under the restaurant patio, the old gentleman, having his lunch, gives me a nod.
I follow the low stone wall, find a built stairway — no gate this time, an abandoned house — and finally reach the path. A little further on an old building that looks lived in, nobody outside.
Four sessions late in the morning, thirty-four minutes, eight species. Not one I did not already have, except a Barn Swallow on a single detection — the one Claude doubts most, the species wintering here and having no business around in August. The detection rate drops too, from 18 to 23 per ten minutes in the morning to 12.9 late in the morning.
I was about to leave, a movement in the branches and there they were, the Common Tailorbird and the Sunda Pied Fantail. Three days hearing them without ever having seen them. The app let me recognise them at once. I stayed a good hour listening and photographing, then walked back along the beach.
The Common Tailorbird, seventh species in the table and never seen before that morning
The Sunda Pied Fantail, heard for three days in those same branches
The microphone taught me nothing new in the understorey, my eyes did. For the microphone, the balcony remains the better post: high up, in the open, at the interface of the habitats. For the eye, I had to go down.
What the microphone doesn’t hear
Three species I see regularly from that balcony were never detected. Not once in 771. Greater Coucal, Rufous Treepie, Eurasian Hoopoe.
According to Claude, they share a profile. Low-pitched voices — the coucal sits around 200 to 400 Hz, the hoopoe around 500 Hz in an almost pure tone. Species that are not very vocal, often foraging on the ground, and fairly large. On top of that, smartphone microphones apply a high-pass filter upstream, over which the user has no control at all.
The Greater Coucal, seen several times from the balcony. Not one detection in 771.
The Rufous Treepie, the microphone's other absentee
The Common Tailorbird is the seventh species in the table, 37 detections across seventeen sessions, and I had never seen it before that walk.
The White-throated Kingfisher let itself be seen in its turn on that fifth morning, and photographed. I was not watching for it, I was sitting there with my tea. It was indeed its hour, chance once again…

The White-throated Kingfisher, fifth morning. Seen many times, photographed once.
On the seventh morning it was in the garden, and so was the Eurasian Hoopoe.
The other way round, the three missed species are the most photogenic of the whole list. Large, contrasted, slow, perching in the open. I am far away, and only the coucal really let itself be photographed.
Five identifications remain doubtful: the Barn Swallow already mentioned, the two sparrows, the white-eye, a Red Junglefowl that is very probably a neighbourhood chicken, and a Black-collared Starling that turned up on the last morning, alone, at 0.56.
The two waders are a case apart. They are supposed to winter here, not spend the summer. The sandpiper was at first a single detection, then four more fell on the seventh morning within the same minute, up to 0.96. Early August is when the first migrants come back down, and the sea is a hundred metres away. I am keeping them.
Merlin was showing them at the same moment, on the other phone. Two engines, two microphones, the same bird in the same second.
Then there is an owl problem. The fifth morning gave a Spotted Owlet, one detection at 0.65, while the list already held an Asian Barred Owlet, one detection at 0.75. Two small daytime owls in the same garden, one detection each. The Spotted Owlet is the ordinary species of towns and lowland gardens; the Asian Barred Owlet belongs rather to the forests of the north and the hills.
The Greater Racket-tailed Drongo is besides a remarkable mimic, perfectly capable of generating detections of species that are not there.
Appendix — the 41 species
Thirty-two sessions, 384 minutes, 4 to 10 August 2026. BirdNET Live 1.0.3, BirdNET+ V3.0-preview3.1 Global 10K-pruned model, 35% confidence threshold, 3-second window, geographic filter on, iPhone with no external microphone. An empty “seen” cell means “no visual observation recorded”, not “never seen”.
| Species | French name | Det. | Sess. | Mean conf. | Seen |
|---|---|---|---|---|---|
| Common Myna | Martin triste | 246 | 29 | 0.68 | |
| Streak-eared Bulbul | Bulbul de Conrad | 66 | 24 | 0.70 | |
| Oriental Magpie-Robin | Shama dayal | 54 | 15 | 0.67 | |
| Coppersmith Barbet | Barbu à plastron rouge | 52 | 10 | 0.68 | |
| Zebra Dove | Géopélie zébrée | 49 | 17 | 0.61 | photographed |
| White-throated Kingfisher | Martin-chasseur de Smyrne | 42 | 12 | 0.84 | photographed |
| Common Tailorbird | Couturière à longue queue | 37 | 17 | 0.75 | photographed |
| House Swift | Martinet des maisons | 36 | 13 | 0.72 | |
| Asian Koel | Koel maliniste | 32 | 11 | 0.82 | |
| Red-wattled Lapwing | Vanneau indien | 27 | 3 | 0.75 | |
| Sunda Pied Fantail | Rhipidure pie | 18 | 8 | 0.69 | photographed |
| Ashy Woodswallow | Langrayen brun | 16 | 8 | 0.69 | |
| Scaly-breasted Munia | Capucin damier | 13 | 10 | 0.79 | |
| Red Junglefowl | Coq bankiva | 11 | 4 | 0.62 | probably a chicken |
| White-breasted Waterhen | Râle à poitrine blanche | 9 | 4 | 0.72 | |
| Black-winged Stilt | Échasse blanche | 7 | 1 | 0.68 | |
| Black-naped Oriole | Loriot à nuque noire | 6 | 3 | 0.70 | |
| House Sparrow | Moineau domestique | 6 | 4 | 0.61 | doubtful identification |
| Common Sandpiper | Chevalier guignette | 5 | 2 | 0.87 | |
| Ornate Sunbird | Souimanga élégant | 5 | 3 | 0.60 | |
| Common Iora | Petit iora | 4 | 2 | 0.69 | |
| Scarlet-backed Flowerpecker | Dicée à dos rouge | 4 | 4 | 0.60 | |
| Eurasian Tree Sparrow | Moineau friquet | 3 | 3 | 0.62 | doubtful identification |
| Greater Racket-tailed Drongo | Drongo à raquettes | 3 | 1 | 0.52 | |
| Large-billed Crow | Corbeau à gros bec | 3 | 1 | 0.72 | |
| Yellow-vented Bulbul | Bulbul goiavier | 3 | 3 | 0.63 | |
| Barn Swallow | Hirondelle rustique | 2 | 2 | 0.75 | doubtful identification |
| Common Greenshank | Chevalier aboyeur | 2 | 2 | 0.70 | |
| Asian Barred Owlet | Chevêchette cuculoïde | 1 | 1 | 0.75 | doubtful identification |
| Asian Palm Swift | Martinet des palmes | 1 | 1 | 0.87 | |
| Black Drongo | Drongo royal | 1 | 1 | 0.75 | |
| Black-collared Starling | Étourneau à cou noir | 1 | 1 | 0.56 | doubtful identification |
| Brown-throated Sunbird | Souimanga à gorge brune | 1 | 1 | 0.66 | |
| Indian White-eye | Zostérops oriental | 1 | 1 | 0.59 | doubtful identification |
| Osprey | Balbuzard pêcheur | 1 | 1 | 0.80 | |
| Red-whiskered Bulbul | Bulbul orphée | 1 | 1 | 0.87 | |
| Spotted Dove | Tourterelle tigrine | 1 | 1 | 0.66 | |
| Spotted Owlet | Chevêche brame | 1 | 1 | 0.65 | |
| Greater Coucal | Grand coucal | 0 | 0 | — | photographed |
| Rufous Treepie | Témia vagabonde | 0 | 0 | — | photographed |
| Eurasian Hoopoe | Huppe fasciée | 0 | 0 | — | seen |