BirdClock — A Birdsong Cuckoo Clock for Your Mac
Get BirdClock
Free, open source. Works on macOS 14 (Sonoma) or later.
Download for Mac~4 MB download • No account needed • No internet required
Remember those old wall clocks that played a different bird's song every hour? BirdClock brings that to your Mac's menu bar. Every hour on the hour, a toast notification slides in with a bird's photo and a fun fact, while your system voice announces the time and the bird's song fades in gently.
Built with Swift and SwiftUI, zero dependencies, pure native macOS. It lives quietly in your menu bar and uses real bird recordings from Xeno-canto (Creative Commons licensed). The voice announcements use your Mac's system voice — if you have Siri Voice 4 set, that's what you'll hear.
How It Works
On the Hour
A timer fires precisely when the clock strikes the hour. Handles sleep/wake so it never drifts.
Voice Announcement
“It's eleven AM. Here is the Tufted Titmouse's call.” Uses your system Siri voice.
Bird Song
The real bird recording fades in gently over 2 seconds. Never startling, always delightful.
Features
- ✓12 real bird songs from Xeno-canto, trimmed to ~10 seconds each
- ✓Beautiful frosted-glass toast notification with bird name, photo, and fun fact
- ✓Siri voice announces the exact time and bird name naturally
- ✓Audio fades in gently — never startles you
- ✓Quiet hours (default 10 PM – 7 AM) — customizable
- ✓Volume control with percentage display
- ✓Launch at login support
- ✓Hover over the toast to pause the auto-dismiss timer
- ✓Play Now button to preview the current hour's bird anytime
The Flock
12 birds, one for each hour on the clock face. Same bird at 1 AM and 1 PM, just like a real cuckoo clock.
Under the Hood
Pure Swift and SwiftUI with zero external dependencies. Uses NSPanel for the floating toast, NSSpeechSynthesizer for Siri voice integration, and AVAudioPlayer for bird song playback. Built with XcodeGen and ad-hoc signed for easy development.
Built by Apex Software Engineering • Bird songs from Xeno-canto (CC)