TPN-Devのアイコン画像
TPN-Dev 2026年01月29日作成 (2026年01月30日更新) © MIT
製作品 製作品 閲覧数 50
TPN-Dev 2026年01月29日作成 (2026年01月30日更新) © MIT 製作品 製作品 閲覧数 50

【SPRESENSE】オトシルベ

【SPRESENSE】オトシルベ

概要

本作品は「その場所でしか聞くことができない音」を録音し、探索し、再生させるための装置です。
好きな場所で自由に音の標(しるべ)を立て、さらに音を導(しるべ)として録音された場所を辿ることもできます。
SPRESENSEの高精度な測位機能を活用することで実現しました。

主な機能は以下になります。

録音

  • 音声データと録音場所の座標をクラウド(AWS)へアップロード
  • 人の耳のモデルを介した「バイノーラル録音」

探索

  • 探索開始地点から、最寄りの録音場所を探知
  • GNSSとIMUを活用し、録音場所の方角と距離を算出
  • ソナー音(バイノーラル)によって、録音場所まで案内

目的地からの距離に伴うソナー音パターン

レベル 目的地からの距離 ソナー音
0 301M~ デフォルト
1 ~300M 「レベル0」×1.5倍速
2 ~30M 「レベル1」×1.5倍速
3 ~15M 「レベル2」×1.5倍速
4 ~5M 高音のソナー音に変化

再生

  • 臨場感のある立体的な音像
  • 近い録音場所の音声をまとめて再生 ※場所を起点に対話が可能
  • 持ち手部分を回すことで音量を調整

使用方法

ここに動画が表示されます

操作部

前提

  • 野外で使用すること
  • 有線イヤホン必須
  • 通信状況により待機時間や位置検知の精度が変動

録音

  1. 「電源ボタン」をON
  2. 全ボタンの点滅が終わった後、点灯している「録音ボタン」を押下
  3. 音声等を録音
  4. 再度「録音ボタン」を押下することで録音が完了しデータが保存される

※「中断ボタン」押下で録音を中断(保存はされない)
※録音した音声は24時間探索・再生が不可

探索/再生

  1. 「電源ボタン」をON
  2. 全ボタンの点滅が終わった後、点灯している「探索」ボタンを押下
  3. ソナー音を頼りに録音場所へ移動
  4. 録音場所へ到着するとソナー音が変化
  5. 「再生ボタン」を押下で再生開始

※「中断ボタン」押下で探索を中断
※再生した音声は24時間探索・再生が不可

モード遷移フロー

キャプションを入力できます

分岐毎の挙動

分岐 条件 操作 結果
a 「ニュートラル」モードであること 「録音ボタン」押下 録音開始
a' 「録音」モードであること 「録音ボタン」押下 録音完了
b 「ニュートラル」モードであること 「探索ボタン」押下 探索開始
c 「探索」モードであること、目的地に到着していること 「再生ボタン」押下 再生開始
x - 「中断ボタン」押下 実行中のモードを中断し「ニュートラル」モードに移行

モード毎の挙動

モード 効果音 ボタン点灯パターン
ニュートラル - 録音ボタン:点灯 / 探索ボタン:点灯
録音 - 録音ボタン:点滅 / 中断ボタン:点灯
探索 ソナー音 探索ボタン:点滅 / 中断ボタン:点灯
探索(目的地到着) 目的地到着 探索ボタン:点滅 / 再生ボタン:点灯 / 中断ボタン:点灯
再生モード 再生開始 再生ボタン:点滅 / 中断ボタン:点灯

※点灯:利用可能 / 点滅:実行中

筐体設計

3Dプリンターによる制作

3Dデータ

制作物

  • 本体×1
  • カバー×1
  • 基盤取付板×1
  • 耳取付ジョイント×2
  • 持ち手ジョイント×1
  • ボリュームつまみ×1
  • 持ち手×1

工夫点

  • 音の録音に臨場感がでるよう筐体幅を頭幅にそろえ、耳の形状を再現
  • 持ち手を3部材に分割することで、音量つまみの自由回転を実現
  • 耳ジョイントを作成し、耳モデルの取り外しを容易に
  • 耳ジョイントががたつかないよう微小な「かえし」を作成

電装・電気回路

システム構成

回路図

デバイス・配線 ①

デバイス・配線 ②

  • LTE拡張ボード[LM1]に、メインボード、マルチIMUアドオンボード、GNSSアドオンボードをスタック
  • LTE拡張ボードを駆動に十分な出力容量を持つ薄型モバイルバッテリーを使用
  • 小型実装可能なデジタルMEMSマイクを使用(LTE拡張ボードに必要な接続変更を実施)
  • 操作系LED内蔵スイッチをGPIO、ボリュームをアナログ入力に接続

ソフトウェア

githubパブリックリポジトリhttps://github.com/HagTak/otoshirube

  • SPRESENSE Arduinoライブラリを使用
  • 工夫した点
    • 大きな音声ファイルのアップロード、ダウンロードを行うため、Read / Writeを分割して処理するようにした
    • 探索モード時の探索音の再生方法
      • 目的地方向と距離を的確に知らせるため、頭部伝達関数を畳み込み12方向分(30°毎)×距離による音パターン3種=36種類の探索音をSDカードに内蔵し、それらから選択して再生
      • 頭部伝達関数は、http://sound.media.mit.edu/resources/KEMAR/full.zip を使用

再生モード

録音モード

探索モード

位置検知

GNSSナビゲーションの実装技術

SPRESENSE単体で正確なナビゲーションを実現するために、ハードウェア選定とソフトウェア実装の両面で最適化を行っています。
本項では、GNSS Navigation APIの実装において、技術的に重要視した4つのポイントについて解説します。

1. 高精度・高安定なセンサーハードウェアの選定

ナビゲーションの信頼性を確保するため、標準搭載の機能に加え、以下の産業用途向けアドオンボードを採用しました。

GNSSアドオンボード

CXD5602PWBGNSS1W

Spresense本体の内蔵GNSSに加え、L1帯とL5帯の同時受信が可能なアドオンボードを使用しています。
ビル街や樹木下など、マルチパス(電波の乱反射)が発生しやすい環境においても、L5帯の信号を併用することで測位精度を維持し、
目的の座標を安定して特定できるようにしています。

マルチIMUアドオンボード

CXD5602PWBIMU1J

方位推定の安定化には、16個のMEMSセンサー(加速度・ジャイロ)を搭載したマルチIMUボードを採用しました。
単一のセンサーでは避けられないノイズやドリフト誤差を、16個のセンサーデータを用いた合成処理(アベレージング)によって低減させています。
これにより、移動中の微細な振動やふらつきの影響を抑えた、安定した挙動検知が可能となりました。

2. GNSS×IMUのセンサーフュージョンによる方位補正

地磁気センサー(電子コンパス)は、周囲の磁気環境(建物や電子機器)の影響を受けやすく、正しい方位を示さない場合があります。
これを解決するため、本システムでは 「移動ベクトルによる方位補正ロジック」を実装しています。

  • 課題: 地磁気センサー単体では、環境要因により「北」の方角に誤差が生じる
  • 解決策: ユーザーの移動時、GNSSから得られる「実際の進行方向(移動ベクトル)」と、IMUが示す「機首方位」を比較。
         その差分をオフセット値として算出し、リアルタイムで補正

これにより、磁気干渉を受けやすい環境下でも、歩行し続けることで正しい方位へ収束するアルゴリズムとなっています。

3. POSIXスレッドを用いた非同期処理設計

Spresense(NuttX)のマルチスレッド機能を活用し、各処理を独立したスレッドで並列動作させています。

  • GNSSスレッド: 測位データの受信と解析をバックグラウンドで実行し、最新座標を保持
  • IMUスレッド: 60Hzの周期でセンサー値を取得し、フィルタリングと方位計算を継続
  • メインスレッド: アプリケーションからの要求に対し、待機時間なしで最新の計算結果(座標・距離・角度)を返却

GNSSのデータ受信待ち等によるメイン処理のブロッキングを防ぎ、音声再生やUI操作のレスポンスを損なわない設計としています。

4. ナビゲーションに特化したAPI仕様

取得した緯度経度をそのまま返すのではなく、アプリケーション側で使いやすい形式に加工して出力するAPIを実装しました。

  • 相対情報の算出:
    現在地と目的地の座標から、大円距離(Haversine法)による「残り距離(m)」と、現在の進行方向に対する「回転角度(Turn Degree)」を内部で計算して返却し、アプリ側での計算負荷を軽減

  • 時系列ソート機能 (API-3):
    指定範囲内の音声データを検索する際、位置的な近さだけでなく「登録日時(Timestamp)」の昇順でソートして返却することで、「過去のデータから順に再生できるよう実装

AWSの構成

キャプションを入力できます
API Gateway / Lambda / DynamoDB / S3 の4つのサービスを組み合わせて構築されており、役割分担としては下記の構成になっています。

  • API Gateway:外部からの HTTP リクエスト受付
  • Lambda:アプリケーションの処理本体
  • DynamoDB:音声に紐づく位置情報などのメタデータ保存
  • S3:音声ファイル(mp3)の実体保存

メタデータの保存について

DynamoDBに保存しているのは以下のような 軽量なメタデータのみです。
これにより、近傍検索(指定地点から半径○m以内)を高速かつ低コストで実現しています。

  • 取得日時
  • 音声ID
  • 緯度・経度
  • レコード種別

その他工夫点

  • DynamoDBのソートキーに緯度を格納
  • Lambdaにて、クエリパラメータで指定された検索中心座標と半径に対応する緯度範囲でソートキーを検索し、その結果を緯度カラムでフィルタリング
    ※今後データ量が増えた場合、ソートキーを丸めた経度と緯度の組み合わせとすることで、低コストで大量データから読み取り可能

使用部品

部品名 単価 数量 小計 参考情報
SPRESENSE mainボード 6050 1 6050
SPRESENSE LTE拡張ボード[LM1] 10240 1 10240
SPRESENSE GNSSアドオンボード 8470 1 8470
SPRESENSE マルチIMU Add-onボード 43780 1 43780
SPH0641LU4H使用 超広帯域マイクモジュールキット 400 2 800 https://akizukidenshi.com/catalog/g/g115577/
フレキシブルGNSS U.FLアンテナ 1507 1 1507
LED照光式タクトスイッチ 青 キートップ付き 50 4 200 https://akizukidenshi.com/catalog/g/g113870/
トグルスイッチ 999 1 999 https://www.amazon.co.jp/dp/B0D4LMTWJR?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
3.5mmステレオジャック MJ-073H 450 1 450 https://www.amazon.co.jp/dp/B011L1MLUI?ref=ppx_yo2ov_dt_b_fed_asin_title
USB-Cソケット 933 1 933 https://www.amazon.co.jp/dp/B09VS9NL1N?ref=ppx_yo2ov_dt_b_fed_asin_title
薄型モバイルバッテリー 1232 1 1232 https://www.amazon.co.jp/dp/B07SMFDH8K?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
L型コネクタマイクロUSBケーブル 699 1 699 https://www.amazon.co.jp/dp/B0FK9ZL91C?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
小型ボリューム 10kΩ 60 1 60 ソフトウェア処理可能なのでAカーブでもBカーブでもよい
抵抗 1.2kΩ 4
ピンヘッダ・ピンフレーム等 適量
配線材等 適量
耳モデル 1380 1(1対) 1380 https://www.amazon.co.jp/dp/B0CNNNMG64?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1

最後に

子供の頃、街には市井の人のごく個人的なメッセージが溢れていたように思います。
駅の伝言板、喫茶店のお客様ノート、電話ボックスに貼られたメモ、あちこちに書かれたラクガキなど。
過去にその場にいた誰かがメッセージを残し、そこに自分が遭遇したという事実に、得も言われぬ高揚感を感じたものです。
ネットの普及によりそういったものは無くなりつつありますが、当時のワクワクを現実世界に復活したいと思い企画しました。

ソナー音を頼りに街や自然を歩き回り、誰かの声に辿り着いた時。
自分で録音した音声が、未来の同じ場所で再生され、返答が録音されていた時。
なんてことない言葉だったとしても、便利なSNSでは味わえない「かけがえのなさ」を感じられると思います。

今は世界に一台しか存在しませんが、もし様々な地域でたくさんの人々に利用されるようになれば、、
日常や旅先の景色が、より特別なものに感じられるはずです。

使用例

  • 生まれ育った街の思い入れがある場所で、子供時代のエピソードを話してみよう
  • 取り壊しが決まった建物の前で、そこでの思い出を振り返ってみよう
  • お祭りの日に、普段とは違う街の環境音を録音してみよう
  • 旅先で家族と一緒に、旅の感想を語り合ってみよう
  • 仕事帰りに公園に寄り道し、ベンチに座って愚痴を吐いてみよう
  • 「駅前のタバコ屋の横の路地を進んで突き当りを右に曲がり3つ目の電信柱の下で次の音声を再生しろ」という感じで謎解き感覚の道案内をしてみよう
ログインしてコメントを投稿する