從混亂至秩序:鳥鳴音訊資料庫的 AI 自動化改裝實錄

面對數百首從 CD 轉錄、檔名雜亂、標籤缺失的鳥鳴音訊檔,你會選擇手動一首首修改,還是開發一套具備「生物學智商」的自動化系統? 我起初的想法很單純:在野外走動時,如果聽到鳥聲,我希望能有機會辨識出那是哪隻鳥。於是,企鵝給了我一大包鳥鳴音檔。我只是想找個容易的方式,能隨時翻出想聽的聲音來學習,結果為了這個簡單的願望,就乾脆擼出了這套工具。 這篇文章記錄了 birdsong-processing-kit 的誕生過程:我們如何利用 Gemini AI 與 iNaturalist 生物資料庫,將 816 首混亂的 MP3,轉化為具備「綱、目、科、屬」專業階層、內嵌高清封面與詳細標籤的數位資產。 🎯 核心目標:建立聲音的「數位孿生」 我們擁有的原始資料非常雜碎:有的檔名是「3-55」,有的標籤是日文,有的則是空白。這次自動化改裝的核心目標有三: 結構化分類:按生物學階層(綱/目/科/屬)重新組織目錄。 資訊厚化:自動注入 iNaturalist 的標準中文名、學名、以及物種封面圖片。 溯源管理:在 ID3 標籤中保留原始路徑,確保搬移後依然能追蹤來源。 🛠️ 實作方法:身分校對三部曲 (Identity Cascade) 在開發過程中,我們建立了一套名為「識別決策瀑布」的邏輯,以達到準確度與成本的平衡: 1. 文字優先 (Text-First Discovery) 過度依賴 AI 聽音辨位既昂貴又緩慢。系統會先遍歷原始 ID3 標籤與檔名,清洗掉序號與雜訊,產生候選清單,並優先查詢 iNaturalist API。只要文字比對能獲得精確分類,就不啟動 AI。 2. AI 聽聲辨位 (Gemini 2.5-flash) 針對完全沒有名稱資訊的音軌,系統會自動上傳音訊至 Gemini 2.5-flash。透過 Flash 模型強大的多模態理解力,讓 AI「聽完」後回傳 JSON 格式的識別報告,作為識別的最強墊底方案。 3. 分類中文化校正 iNaturalist 的高階分類(如目、科)往往只有英文或拉丁文。我們另外調用了 Gemini 2.5-flash 針對識別出的學名清單進行批次翻譯,確保目錄結構呈現如「鴞形目/鴟鴞科」這樣的純中文專業觀感。 🚧 遇到的挑戰與克服之道 挑戰 A:AI 成本與處理速度的矛盾 困境:全量 800 多筆若全部上傳辨識,不僅 Token 消耗大,且速度緩慢。 克服:實施「文字預檢」機制。透過 mutagen 深度挖掘 ID3 標籤中的「隱藏資訊」,將 80% 的檔案在文字階段就完成對合,剩餘的 20% 才交由 AI 處理。 ...

2026-02-25 · 1 min · 126 words · Wuulong