ダンシングロボット ド・レ・ミ・ファントム君 6班 1.はじめに 私がこのテーマを選んだ背景には,タリバン政権 に禁止されていた反イスラム教的な音楽がタリバン 政権崩壊後,規制がなくなった報道番組を拝見し,宗 教的,政治的な理由で音楽やダンスなどの芸術が規 制されることに反感を持ったからである.そのため, 本研究ではどんな人にでも平等に自由に享受される べき芸術を体現するロボットにより多くの人々に癒 しの空間を提案したいと考えた.当初は春学期に理 工学実験で学んだ高速フーリエ変換(FFT)を用いて 周波数を解析することで,音楽に合わせて踊れるロ ボットを製作することを目標としていたが,調査を 進めるにつれて実現が難しいことが判明したため, 今回は音階に合わせてダンスのできるロボットを製 作することを目標とした. 2.原理 センサとしてマイクを使用し,拾った音の波形を 高速フーリエ変換(FFT)1)により解析する.そして, 周波数を特定することで,あらかじめプログラミン グで音階ごとに周波数域を設定しておいたものから, 音階を判別し,音階に応じてLEDを点灯させる,モー タを回すなどの出力をさせる. 示す 2).顔は型紙で制作し目の位置に穴をあけ,そこ に LED をつけ,眉の部分の裏に油性ペンで黒くした 紙をつけた振動モータを配置した.振動モータは日 本電産コパル株式会社の[LA3R5-480DB1]を使用し, モータドライバとしては株式会社東芝セミコンダク ター社の[TA7291P]を使用した.また,耳の位置には, マイクとして株式会社秋月通商の[AE-MICAMP]高感 度マイクアンプキットを使用し,目には緑色の LED を使用した.実際に LED を異なる周波数で点灯させ たときの図を次の図 2,3 に示す.図 2 は周波数 400 Hz の電子音を入力したとき,左目のみ点灯させたとき の図であり,図 3 は周波数 440 Hz の電子音を入力し たとき,右目のみ点灯させたときの図である.この電 子音はスマートフォンのアプリで単一周波数を出力 した. マイク 振動モータ LED Arduino 3.設計 当初は,ぬいぐるみのような立体的なロボットの 製作を考えていたが,立体の場合顔や手などの離れ た場所にパーツを配置し指令を分岐する必要があり, 製作するには複数のブレッドボードを連結し,ロボ ットが倒れないための骨組みを考慮して配線を行う 必要があった.そのため,本研究では平面的なものの 製作を行い,製作するのは顔のみとした.構成図を次 の図1に示す.また,音階ド,レ,ミ,ファ,ソ,ラ,シそ れぞれに応じた異なる 7 つの動作をさせることを考 えていたが,配線の複雑化や周波数特定の精度の問 題があり困難であったため,感知する音階は配線が 複雑にならないようにド,レ,ミ,ファ,ソ,ラの 6 つ の音階を判別することにした.その6つの音階につ いて,平均律による全音階の周波数に関する表を参 照して得た平均律による全音階の周波数と,実際に 設定した音階の周波数域についての表を次の表 1 に 岩崎優基 PC 図 1. 構成図 表 1. オクターブ4における音階の周波数 音 階 国際高度における 平均律の周波数(Hz) 実際に設定した 周波数範囲(Hz) ド 261.6 255~265 レ 293.7 290~300 ミ 329.6 330~340 フ ァ 349.2 365~375 ソ 392.0 400~410 ラ 440.0 440~450 図 2.左目のみ点灯 図 3.右目のみ点灯 4.実験 人の声,ピアノ,ギターの3種類それぞれにおいて、 国際高度では,オクターブ4のA(ラ)の音と決められ ているf=440 Hzの音をそれぞれで出力し,どの音を マイクが感度よく検知したか比較した. 5.結果・考察 本実験では Arduino 上で高速フーリエ変換(FFT) を行ったが,37 Hz ごとで音を周波数に高速フーリエ 変換するようにした.1 度毎の音階の変化は約 20 Hz から 50 Hz であるため,37 Hz 毎の周波数の判定では 1 度毎の音階の変化に対応するのは極めて難しく, 今回の装置で完璧に音階を判別させるのは難しかっ た.今回行った実験では, 人の声,ピアノ,ギターの 音の順で正しく音階を判定する確率が高かった.最 も正しく判定する確率が高かった人の声でさえド~ ミの音,ファ~ラの音を判別できる程度で全く異な る周波数を示すことも多かった.正しく判定する確 率の高さが人の声,ピアノ,ギターの順になった主な 理由は,それぞれの音の周波数成分と時間的な変化 が異なることにより考えられる 3).ギターは高調波 の振幅が非常に大きく高調波の影響を多く受け,時 間的な変化も一番大きく,人の声は今回行った実験 中で最も高調波の振幅が小さかったことが,最も正 しく判定できた理由と考えられる. 高調波とは,あ る音の周波数を f[Hz]とすると、その音はその周波 数だけではなく,その音の周波数の 2 倍 3 倍である 2f[Hz],3f[Hz]の周波数の高調波も含んでいること である.その他の理由として考えられるのはギター で出した音にはピッキングの際に弦とピックにより ノイズが生じることである.しかし,音階の周波数に 絶対基準はないので,3 種類の音のうち,どれが感知 しやすいかという実験にも問題があった.また音の 入力を行っていないときにも様々な周波数を示して しまい,出力が行われてしまった.これは周囲のノイ ズによる影響である.この高調波,周囲のノイズの影 響を受けないようにするには, 一定周波数域外に存 在するノイズを除去できるような装置が必要であっ た.もし,そのような装置があれば,様々な音でより 精度を高く音を周波数ごとに分けられると考えられ る.一方,電子音は高調波などの様々な周波数を含ん でいないため,他の音に比べかなり正確に周波数を 読み取ることができ,それ以外の音がド~ミの音と ファ~ラの音を判別できるのみなのに対して,ド・ レ・ミ・ファ・ソ・ラそれぞれ別々に判別し,それぞ れの音に応じた動きをさせることができた. 6.結論 本研究では,音を Arduino 上で高速フーリエ変換 を実行し,周波数を一つしか持たない電子音以外の 音では,必ずしも正しい周波数を示すことはできな かったが,入力された周波数をばらつきがあるが特 定し,周波数に応じた出力をさせることまでできた. このことからこれを応用させブレットボードを連結 し,広範囲で様々な出力ができれば,当初予定してい た音階に応じたロボットが製作できるだろう. 参考文献 1)Arduino で FFT http://jiwashin.blogspot.jp/2014/01/arduinofft .html (2014/12/20 アクセス), 2)音階と周波数 http://panna.dyndns.org/etc/onritu.html (2014/12/15 アクセス), 3)平野拓一,音の周波数解析と楽器の音色について http://www-antenna.ee.titech.ac.jp/~hira/hobby /edu/sonic_wave/sound_analysis/doc_html/sound_ analysis.htm (2014/12/22 アクセス).
© Copyright 2024 Paperzz