科学・技術
Birduino: 鳥の[学習]のためのカードトリガー式オーディオプレーヤー
Birduino: A card-triggered audio player for [learning] the birds (hannahilea.com)
要約
Birduinoは、鳥のカードをタップするとその鳥の鳴き声が再生される、カードトリガー式オーディオプレーヤーです。オープンソースのオーディオプレーヤーTonUINOを基盤とし、鳥の写真付きカードとNFCタグ、そしてコーネル大学の鳥の鳴き声ガイドの音声データを使用して構築されました。これにより、鳥の鳴き声を聞いて鳥を学習したり、クイズ形式で楽しんだりすることができます。
全文翻訳
Birduino: 鳥の[学習]のためのカードトリガー式オーディオプレーヤー
2026年7月25日
これがBirduinoです!鳥のカードのデッキ、オーディオプレーヤー、カードリーダーで構成されています。
カードをタップすると、その鳥に関連付けられた鳴き声の再生がトリガーされます。
学習したい鳥の鳴き声をトリガーすることも、ランダムなカードを選んで隠しておき、鳴き声だけで鳥を推測しようとすることもできます。
この記事の残りの部分では、Birduinoをどのように設計し、構築したかを説明します。
背景
このビルドの中心にあるのはTonUINOです。これはThorsten Vossによって最初に開発され、現在では熱狂的なオープンソースコミュニティによって維持されているオープンソースオーディオプレーヤーです。
Birduinoの構築には、TonUINOの設定、透明アクリル製ハウジングの設計と組み立て、そして鳥の写真付きカードデッキのセットアップが含まれ、各カードの裏にあるNFCステッカーをTonUINOにロードされた鳥の特定の録音にマッピングしました。
TonUINOコミュニティの包括的なFAQは、このセットアップの多くの側面で役立ちました。TonUINOのドキュメントはすべてドイツ語であるため、Google翻訳も役立ちました!
ハードウェア: TonUINOプレーヤーの組み立て
TonUINOのコア部品はAZ-Deliveryからキットとして購入しました。これにはマイクロコントローラー(ATmega328PベースのAZ-Nano V3)、RC522 RFIDリーダーモジュール、MP3モジュールが含まれていました。
これらのコンポーネントを、すでに持っていた3つのボタン、スピーカー、ロータリーポテンショメーターと組み合わせました。
プロトタイピングボードをベースとして使用しました。
TonUINOは回路図を提供しました。各ワイヤーをはんだ付けする際に色分けしました。
含めずにはいられないという免責事項
このプロジェクトは、(a)より大きなプロトタイピングボードと(b)異なるワイヤーの選択があれば、大幅に簡単になったでしょう。
プロトタイピングボードは当時手元にあった唯一のもので、これを一晩だけのプロジェクトだと諦めていなかったので、より良いボードを入手するのを待ちたくありませんでした。
今思えば、数日待って注文する価値はあったでしょう。少なくとも、ナイフでトレースを削り取る必要がなかったり、はんだ付けを非常に狭いスペースに押し込む必要がなかったり(そしてショートを修正したり)しなくて済んだでしょう。
同様に、ワイヤーの選択も理想的ではありませんでした。
これらのレインボーワイヤーを選んだのは、キットのさまざまなコンポーネントにあらかじめはんだ付けされていたヘッダーにうまくスロットインできる接続ジャックが付いていたからです。
ブレッドボードで作業し、すべてのコネクタピンをスロットに挿入するだけなら、これは素晴らしかったでしょう。しかし、代わりに、ワイヤーのもう一方の端をプロトボードにはんだ付けする必要がありました。これはピンを切り取り、ワイヤーを直接はんだ付けする必要があることを意味しました。
これらのワイヤーの一部はうまくはんだ付けできず、多くの乱雑な接続が生じ、デバッグして修正する必要のある意図しないブリッジがさらに発生しました。
私の間違いから学びましょう!
適切な特性を持つプロトまたはパーフボードを入手し、ワイヤーはんだ付けを行う必要がある場合は、これらの特定のワイヤーを使用しないでください!
ソフトウェア: TonUINOアプリケーションの設定とロード
TonUINOアプリケーションはC++で書かれています。リポジトリをクローンし、ハードウェア構成に合わせてさまざまなセクションのコメントを解除しました。
その後、Arduino IDEを使用してマイクロコントローラーにロードしました。
設定の詳細
以下の#definesのコメントを解除しました。
TonUINO_Classic, THREEBUTTONS, DISABLE_SHUTDOWN_VIA_BUTTON, POTI, SPKONOFF
ボリュームノブのマッピングで使用される最大入力定数に1つの追加ソフトウェア変更を行う必要がありました。
static constexpr int16_t maxLevel = 1023; から static constexpr int16_t maxLevel = 700; へ。
(プロジェクトのロギングはうまく設定されており、この値を経験的に決定するのに役立ちました。)
オーディオ: コーネル大学の鳥の鳴き声ガイド
TonUINOにオーディオをロードするのは非常に簡単です。
mp3モジュールにロードされるmicroSDカードに、簡単な命名規則とディレクトリ構造に従って配置します。
このプロジェクトのオーディオには、各鳥について複数の高品質な鳴き声が必要でした。
これを行うために、The Cornell Guide to Bird Sounds: United States and Canadaを購入しました。
The Cornell Guide to Bird Sounds: United States and Canada (v2025) は、米国とカナダで見られる908種の歌、鳴き声、飛行音、その他の音を網羅した厳選されたオーディオファイルのコンパイルです。
1.7GBのダウンロードには、米国(ハワイを含む)とカナダに定期的に生息する、渡り鳥、迷鳥、外来種の908種をカバーする4,959のMP3オーディオファイルが含まれています。
このコレクションのオーディオは、サウンドの品質を最高に保ちながら、各種の鳴き声の範囲を示すために、手作業で選ばれ、巧みに編集されました。
このコレクションは、515人以上のサウンドレコーダーからの貢献により可能になり、彼らはMacaulay Libraryに録音をアーカイブしました。
このガイドの売上からの収益は、バードウォッチングと研究、保全を強化するための無料ツールを構築するMacaulay Libraryを直接支援するために使用されます。
20ドルは価値がありました!
サウンドの品質が優れているだけでなく、各トラックの命名規則により、各種の鳴き声を対応する鳥のカードに簡単にマッピングできました。
さて、そのカードデッキについてですが…
Birds of North America
自分でキュレーション、設計、印刷する必要のない鳥の画像のセットが必要でした。
そこで、鳥の絵が描かれたトランプカードを使いました!
デッキ選びにはこだわりました。美しいイラストのデッキもたくさんありますが、写真が欲しかったのです。
最終的にGerrit Vynの「Birds of North America」デッキを購入しました。
その後、各カードの裏にNFCタグを貼り付けました。
鳥のカードと鳥の鳴き声をマッピングする
Max MehlのTonUINO Cards Managerプロジェクトのおかげで、鳥のカードのNFCタグを対応するオーディオに一致するようにプログラムするのは簡単でした。
これは、オーディオファイルのリストを対応するTonUINOカード対応のバイト文字列にマッピングし、それをNFCタグに書き込んでTonUINOカードのセットを作成します。
これには、各鳥の名前をその対応するオーディオ録音ファイルにマッピングするマニフェストを作成する必要がありました。
マニフェストはプログラムで作成しました。カードデッキのソートされた順序と同じ順序で鳥の名前を手入力した後、リストを反復処理し、Cornell Guideの録音からその鳥の名前を含むオーディオファイルを除外する小さなプログラムを書きました。
関連するオーディオを各鳥に追加する関数は次のとおりです。
function append_birdsong_files() {
local I_BIRD="$1"
local BIRD="$2"
printf " $I_BIRD:\n description: $BIRD\n source:\n" >> "$OUTFILE"
cat audio-full-tracklist.txt \
| grep "$BIRD" \
| sort \
| awk '{ print " - " $0 }' \
>> "$OUTFILE"
printf " mode: party-from-to\n from_song: 1\n to_song: " >> "$OUTFILE"
cat audio-full-tracklist.txt \
| grep "$BIRD" \
| wc -l \
| tr -d ' ' \
>> "$OUTFILE"
printf "\n" >> "$OUTFILE"
}
出力されたマニフェストは次のようになります。
その後、AndroidフォンのTonUINO NFC Toolsアプリケーションを使用して、これらのバイト文字列のリストを鳥のカードのNFCタグに書き込むことができました。
このNFC書き込みプロセスは迅速に進みました。
もし使用したい場合は、私の完全なスクリプトとマニフェストはここにあります。
エンクロージャー: 透明な箱の設計と製造
Birduinoを比較的自己完結型にしたい、または少なくとも配線がぶら下がっている状態にしたくありませんでした。
箱を作る時間です!
パラメトリックCADプログラムCuttle.xyzを使用して、基本的なプレスフィットボックスを修正し、ノブとスピーカー用の切り欠きを設け、プロトタイピングボードが箱の上部として機能するような全体寸法にしました。
Cuttleデザインはこちら。
カードを保持する別の箱と、両方の箱が収まるトレイを設計しました。これにより、オーディオプレーヤーをカードと一緒にオプションで提示できます。
Cuttleデザインはこちら。
1/8インチの透明アクリルから部品をカットしました。公共図書館のメイカースペースにあるレーザーカッターを使用しました。
接着剤の選択は単純ではありませんでした。アクリルを曇らせない接着剤を見つける必要があったからです。
いくつかの異なるオプションをテストした後、私たちは「Clear Gorilla Glue Gel」に落ち着きました。
接着剤を選択し、すべてを接着しました。
これで、完全なBirduinoの完成です!
***
私の唯一の後悔は、私のBirduinoに十分なものが含まれていないことです。