ビット笛：音に ID 情報を重畳するホイッスル
田中 真悠子 (指導教員：椎尾 一郎)

図 2: 左は様々な形のビットギア，右はビットギアと 0 または 1 の対応図．
図 1: ビット笛．空気を吹き込むと中のパーツ「ビットギア」が回転し，符号が重畳された音が鳴る．

1

御する．安価に実装可能という方針もビット笛と合致する．この手法と比較した本研究の特徴として，より大きな音で信号を伝達する点と，空気を吹き込むことによって音を鳴らす点が挙げられる．ビット笛は，より遠くからでも信号を届けられる点や，コンピュータに信号を送りつつ周囲の人にもホイッスル音を伝えることができる点で有用である．また，空気を吹き込めるのであれば手法は問わないため，人間が息を吹き込む以外の手段で音を鳴らすことのできる可能性があるという拡張性を持つ．例として，やかんの蒸気の吹き出し口にビット笛を取り付けておくことで，水が沸騰した際の蒸気がビット笛に吹き込まれて音が鳴り，その音を受け取ったスマートフォンが画面に通知を表示することで聴覚障害を持つ人にも湯が沸いたことを伝えられる．

はじめに

今日，無線情報発信デバイスは様々な場面で人々の生活を支えている．例えば，リモコンのスイッチを押せばリモコンから信号が発せられ，その信号を受け取ったテレビやエアコンの電源が入る．また，無線センサはドアや窓の開閉，温度，明るさなどの検知のために広く利用されている．これらは情報を発信する際には電池を必要とするため，電池交換の手間がかかってしまう．そのため，電池に依存せずに情報を発信する方法について模索されてきた．
本稿では，音に符号を重畳させるホイッスル「ビット笛」（図 1）を提案する．ビット笛は空気を吹き込むことで音を鳴らし，その音でコンピュータを制御するため，本体が小型で直感的に扱うことができ，さらに情報を発信するのに電池を必要としないのが特徴である．また，原材料がプラスチックであるため，安価かつ軽量である．なお，本稿においては，ビット笛本体の設計と，ビット笛の音を処理するシステムを機械学習で構築するためのデータを収集するシステムの設計について論述する．

2

3

ビット笛の設計

既存のホイッスルにはコルクなどでできた軽い球が入っている．ホイッスルに息を吹き込むことで球がホイッスル内部を動き回り，球が穴を塞いだり開けたりすることによって，独特で不規則な揺らぎを持つ大きな音を出すという仕組みとなっている．これに対して，
ビット笛はホイッスルの側面に穴を開けて軸を通し，内部に回転するアクリル製の歯車状のパーツ「ビットギア」（図 2）を入れている．ビット笛に息を吹き込む
ことでビットギアが回転し，ビットギアの凸部分が穴を塞いだり開けたりすることによって，規則的な揺らぎを持つ大きな音を出すという仕組みになっている．
これにより，ビットギアの凸部分をビット列の 1，凹部分を 0 に見立てると，ビット笛の穴が塞がって音が弱まっている時は 1，穴が開放されていて大きな音が出ている時は 0 であるといったように，ビット笛の音から信号を取得できるようになると推測できる．
高速度カメラ（SONY RX-100V）を用いてビットギアが回転する様子を録画したところ，約 0.023 秒でパーツが 1 回転していることがわかった．これは WavePadで確認できたビット笛の規則的な波形の 1 周期にかかる時間約 0.02 秒とほぼ一致する．これらから，ビット笛の規則的な波形の 1 周期が，ビットギアが 1 回転する間に発生するものだと確認できた．
また，スマートフォン AQUOS sense で収録した音声をパソコンの波形編集ソフトウェア WavePad で 3.1kHz付近のみが通過するようにバンドパスフィルタを掛け，波形を観察することで，ビット笛の音が規則的な揺らぎを持っていることを確認できた．しかし，波形から関連研究

前述したとおり，これまでにも電池に依存せずに情報を発信するシステムは数多く模索されており，商品化した事例も存在する．そのうちの一つが，TOTO 株式会社のエコリモコン1 である．これは温水洗浄便座を制御するためのリモコンであるが，ユーザがリモコンのスイッチを押すと内部で電磁誘導発電が行われ，その電力で作動するため，電波の送信において電源を必要としない．配線の増設や電池の交換をしなくて良いというのは大きなメリットである．また，パッシブ型 RFID タグ2 も電池を使わずに情報を伝達することができる．RFID リーダから発せられる電波や電磁誘導により発電し，その電力を使用して動作するためである．
ビット笛と同様に，音を用いて情報を伝える手法も提案されている．Hudson ら [1] による「アコースティッ
クバーコード」は，あらかじめ木版などにビット列に見立てた溝を掘っておき，それをコインや爪で引っ掻いて音を鳴らすことで信号を送り，コンピュータを制
1 http://abee.or.jp/designaward/past/14/docs/01.pdf
2 https://www.denso-wave.com/ja/adcd/fundamental/rﬁd/
rfridtec/index.html

1

一概にどの区間がビットギアのどの部分を指しているのか判定するのは困難であると判断した．そのため，ビット笛の音がビットギアの 0 と 1 のどちらに対応したものなのかを区別する基準を機械学習によって決定させることとした．

4

機械学習のためのデータ収集

ビット笛の音だけでなく，その音がビットギアの 0と 1 のどちらに対応しているかがわかるデータがあれば，ビット笛の音から符号を正しく取り出すための識別を行えるようにするための機械学習が可能となる．
そのため，本稿ではビットギアの動きとビット笛の音のデータのセットを教師データとして機械学習を試みることを想定し，効率の良いデータの収集を行う方法について検討する．
ビットギアの動きをデータとして取得するために，マイクロコンピュータ Arduino UNO とフォトリフレクタを使用する（図 3 上）．まず，ビットギアを黒いアクリル素材で作成し，凸部分の外側に金箔を貼り付ける．そして，ビット笛の外側に穴を開けてフォトリフレクタを埋め込む．これにより，ビット笛を吹いてビットギアの凸部分がフォトリフレクタのある箇所に差し掛かるとフォトリフレクタは 1000 未満の低い数値を，凸部分がフォトリフレクタから離れるとフォトリフレクタは 1000 以上の高い数値を返す．これを利用して，ビット笛を吹いたときに，いつ，どれだけの時間，ビットギアの凹凸どちらが現れているかを観測することができる．
本研究においては，任意のタイミングから 2 秒間の録音と約 1.78 秒のフォトリフレクタからのデータの取得を同時に行い，それぞれ取得したデータを wav ファ
イルと csv ファイルに保存するシステムを構築した（図3 下）．フォトリフレクタからのデータの取得は 1 回の録音につき計 1600 回行っている．構築したシステ
ムを使用して 1 分間データの取得を連続で試みたところ，計 14 回のデータ取得に成功した．また，本システムで取得した音声データとフォトリフレクタの値のデータを視覚化し比較したところ，音声データの波形の一定時間内に出現した音量が大きくなる箇所の数と，同時間内にビットギアの 0 の部分がフォトリフレクタに差し掛かった回数が一致していることを確認できた（図 4）．

5

図 3: 上：フォトリフレクタを埋め込んだビット笛と Arduino UNO．
下：録音とフォトリフレクタからのデータの取得を行うシステムの図．
本稿では赤枠で囲まれた部分の処理を行うシステムを構築した．

まとめ

本稿では，規則的な音を鳴らせるようにすることで一定の情報を音で発信しコンピュータを制御するホイッスル「ビット笛」と，ビット笛でコンピュータを制御できるようにするための機械学習の方針及びそのためのデータ収集案を考案した．今後は本稿で構築したシステムを使用してデータを収集して機械学習を行い，本システムの有効性について検証していきたい．

図 4: 上：本稿のデータ取得システムを用いて記録したフォトリフレクタの値のグラフ．本来フォトリフレクタの値は int 型で 0 - 1023 をとるが，実際にビット笛を吹くことで取得できるデータが 950 - 1023 の間に収まること，より少ないビット数である byte 型のデータとして扱えるようにしたかったことから，取得した値から 769 を引いた値として記録している．矢印の長さは 0.1 秒を表している．
下：本稿のデータ取得システムを用いて同時に記録したビット笛の音声の波形とフォトリフレクタの値のグラフを重ね合わせたもの．左右両端の黄色の線の間隔は 0.1 秒分．

参考文献[1] Harrison, C., Xiao, R. and Hudson, S.: Acoustic barcodes: passive, durable and inexpensive
notched identiﬁcation tags, in Proceedings of the25th annual ACM symposium on User interface
software and technology, pp. 563–568 (2012).

2