Bird Song

In this series of blogs, James Duncan explores the wonderful world of bird song (with calls thrown in for good measure!) There's surely little more calming to human ears than the annual serenade of spring song. Each day, prior to the sun's appearance above the horizon, birds begin to advertise their presence, demonstrating their strength and ability in song. This serves not only to attract a mate but also to deter rivals.

Take a moment to notice the birds who break the morning silence, the Robin, the Blackbird and perhaps the Song Thrush. Enjoy the chorus as it widens, as Wren, Starling, Chaffinch and Dunnock join in. The complexities of bird song may not be easy to get to grips with, but why not take the time to learn. The satisfaction to be gained from identifying birds by song (and calls) really can't be overemphasised - it's truly a window into another world.

Lost voices: uncovering female birdsong


Lost voices: uncovering female birdsong

Historically, it was thought that only male songbirds sang. However, research conducted in the last ten years has proved this theory wrong.


Nightingale - Bird Song

Nightingale - Bird Song


Goldfinch - Bird Song

Goldfinch - Bird Song


Greenfinch - Bird Song

Greenfinch - Bird Song


Song Thrush - Bird Song

Song Thrush - Bird Song


Blackcap - Bird Song

Blackcap - Bird Song


Deciphering the dawn chorus

Deciphering the dawn chorus


Dunnock - Bird Song

Dunnock - Bird Song


Blackbird - Bird Song

Blackbird - Bird Song


Wren - Bird Song

Wren - Bird Song


Robin - Bird Song

Robin - Bird Song
Time Δ Debug Message - Perch Runway 3.2
1783468853.0130 [906] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1783468853.0390.0259Matched page: /discover/go-wild-at-home/bird-song, so not using routes.
1783468853.03910.0001Server address: 216.73.217.142
1783468853.03910Using master page: /templates/pages/project.php
1783468853.03940.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/discover/go-wild-at-home/bird-song' LIMIT 1
1783468853.04150.0021 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783468853.04330.0018 [1] SELECT * FROM swt_shop_cart WHERE cartID=22757328
1783468853.04410.0007 [1] SELECT * FROM swt_shop_cart WHERE cartID=22757328
1783468853.04460.0006 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-08 00:00:00' AND saleTo>'2026-07-08 00:00:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783468853.04570.001 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783468853.0470.0013Using template: /templates/pages/attributes/seo.html
1783468853.04730.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/discover/go-wild-at-home/bird-song' OR regionPage='*')
1783468853.04810.0008 [1] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=2162 AND idx.itemRev=2)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1783468853.05050.0024 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783468853.05340.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/discover/go-wild-at-home/bird-song' LIMIT 1
1783468853.05520.0018 [4] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-003-003-013-001', '000-003-003-013', '000-003-003', '000-003', '000') ORDER BY pageTreePosition DESC
1783468853.05750.0022Using template: /templates/navigation/ps_nav_template.html
1783468853.05750.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783468853.05840.0009 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783468853.05880.0004 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783468853.06120.0023 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783468853.06230.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783468853.06320.0009 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783468853.06620.003Using template: /templates/pages/attributes/default.html
1783468853.06640.0001Using sub-template: /templates/pages/attributes/seo.html
1783468853.06730.0009Using template: /templates/pages/attributes/default.html
1783468853.06740.0001Using sub-template: /templates/pages/attributes/seo.html
1783468853.06750.0001 [1] SELECT collectionID, collectionTemplate FROM swt_collections WHERE collectionKey='Opportunities'
1783468853.06850.001 [nil] SELECT * FROM ( SELECT idx.itemID, ci.collectionID, ci.itemJSON, idx2.indexValue as sortval FROM swt_collection_index idx JOIN swt_collection_items ci ON idx.itemID=ci.itemID AND idx.itemRev=ci.itemRev AND idx.collectionID=ci.collectionID JOIN swt_collection_revisions cr ON idx.itemID=cr.itemID AND idx.itemRev=cr.itemRev AND idx.collectionID=ci.collectionID JOIN swt_collection_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE (idx.collectionID=6) AND ((idx.indexKey='page_title' AND idx.indexValue='Bird Song')) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, itemJSON, sortval ORDER BY sortval ASC
1783468853.07010.0016Using template: /templates/content/_opportunity_listing.html
1783468853.07050.0003 [2] SELECT regionKey, regionHTML FROM swt_content_regions WHERE regionPage='/discover/go-wild-at-home/bird-song' OR regionPage='*' ORDER BY regionPage DESC
1783468853.07130.0008 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/discover/go-wild-at-home/bird-song' OR pageSortPath='/discover/go-wild-at-home/bird-song' LIMIT 1
1783468853.0730.0017 [4] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-003-003-013-001', '000-003-003-013', '000-003-003', '000-003', '000') ORDER BY pageTreePosition
1783468853.07540.0025 [4] Using template: /templates/navigation/breadcrumbs.html
1783468853.07650.0011Using template: /templates/pages/attributes/default.html
1783468853.07660.0001Using sub-template: /templates/pages/attributes/seo.html
1783468853.07710.0004 [1] SELECT * FROM swt_blog_sections WHERE sectionSlug='blog/wildlife/bird-song/' LIMIT 1
1783468853.07790.0008 [nil] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='postDateTime' WHERE 1=1 AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE ( sectionID IS NULL AND postStatus='Published' AND postDateTime<='2026-07-08 00:00:00' ) GROUP BY itemID, sortval ORDER BY sortval DESC LIMIT 0, 4
1783468853.07890.001 [1] SELECT FOUND_ROWS() AS `count`
1783468853.07960.0006Using template: /templates/blog/post_listing.html
1783468853.07980.0003 [12] SELECT DISTINCT idx.itemID FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' AND ((idx.indexKey='_category' AND idx.indexValue LIKE 'blog/wildlife/bird-song%' OR idx.indexKey='_category' AND idx.indexValue='blog/wildlife/bird-song'))
1783468853.08290.003 [11] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='postDateTime' AND idx.itemID IN ('2029', '2073', '2086', '2106', '2111', '2132', '2148', '2174', '2175', '2213', '2048', '3640') WHERE 1=1 AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-07-08 00:00:00' ) GROUP BY itemID, sortval ORDER BY sortval DESC LIMIT 0, 11
1783468853.09930.0164 [1] SELECT FOUND_ROWS() AS `count`
1783468853.10010.0009 [11] Using template: /templates/blog/post_listing.html
1783468853.10060.0004 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783468853.10160.001 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783468853.10970.0082 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783468853.1110.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783468853.11180.0008 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783468853.11420.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/discover/go-wild-at-home/bird-song' LIMIT 1
1783468853.11580.0015 [4] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-003-003-013-001', '000-003-003-013', '000-003-003', '000-003', '000') ORDER BY pageTreePosition DESC
1783468853.11810.0023 [6] Using template: /templates/navigation/footer-nav.html
1783468853.11890.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783468853.11950.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783468853.12280.0033 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783468853.12590.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/discover/go-wild-at-home/bird-song' LIMIT 1
1783468853.13480.0089 [4] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-003-003-013-001', '000-003-003-013', '000-003-003', '000-003', '000') ORDER BY pageTreePosition DESC
1783468853.14330.0085 [10] Using template: /templates/navigation/footer-nav.html
1783468853.1470.0036 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783468853.14780.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783468853.15060.0028 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783468853.15540.0048 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/discover/go-wild-at-home/bird-song' LIMIT 1
1783468853.1570.0016 [4] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-003-003-013-001', '000-003-003-013', '000-003-003', '000-003', '000') ORDER BY pageTreePosition DESC
1783468853.15930.0023 [29] Using template: /templates/navigation/footer-nav.html
1783468853.16270.0034 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783468853.16320.0005 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783468853.16370.0005 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783468853.16620.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/discover/go-wild-at-home/bird-song' LIMIT 1
1783468853.16770.0015 [4] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-003-003-013-001', '000-003-003-013', '000-003-003', '000-003', '000') ORDER BY pageTreePosition DESC
1783468853.170.0023 [10] Using template: /templates/navigation/footer-nav.html
1783468853.17140.0015Request time: 0.1597
1783468853.17150Process time: 0.1595
1783468853.17150Memory: 2.1617