[FAB 3D CONTEST]Category 3 距離で音が変わる楽器

Created Date: 2017-10-02/ updated date: 2017-10-18
Owner & Collaborators
License
Summary
FAB3DCONTEST CATEGORY3 「未来の楽器」
この楽器は音楽経験のない人が作った、自分も楽器を演奏したいという人に直感的に分かりやすく演奏できるように考案・設計したものです。

Materials

    Tools

      Blueprints

        Making

        • 楽器を突然作ると言っても、音楽知識の無い自分にはせいぜいリコーダーや鍵盤ハーモニカしかやったことがないため、どんな楽器が未来的でかつ、使いやすいか全く思い浮かばなかった。
          • 自分はよく、音楽を聴くときにたまに、音楽の音程に手を擬似的に合わせて、上げたり下げたりしているときがある。
            ここから思いつき、音階を高さにすれば、誰でも簡単に演奏できるのではないかと言うことで、ここでこの作品の大部分のコンセプト「使いやすい」が大分固まってきた。
          • 次に、考えなければいけないのは「未来的」と言うことである。
            高さ(距離)を使用しようと思っているのは、もう決まっているので…
            ここで、思いついたのは「超音波距離センサ」である。
            これを使うことによって、平たい壁面や机に向けて演奏できるので、思いついたときは「これだ!」と思った。
          • HOWTO映像の最後の方に、服につけて手を壁代わりにして演奏しているところがあるが、実はこの使い方は全く想定しておらず、動画撮影の際に思いついた物で、この映像を無理矢理入れ込んだ物なので、演奏の映像が結構圧迫されてしまった。
        • まず、すべてのセンサーやディスプレイをつないだ時に干渉したりしないかを確かめるために、試しにすべてを繋いで簡易的な機械を作った。
        • まずプログラム内に#define を使って音程の周波数(C2〜C7)を予め定義しておく。
          ソースコード:Arduino Source Code
          • 今回は5cmから45.5cmまでの距離を振り分け範囲に指定し、音階を振り分ける。(5cm以下は計測が難しく、45.5cm以上は腕が届かないため)
            この間の40.5cm間を8等分(1つにつき約5cm)してそれぞれにド〜一つ上のド(C4〜C5)を振り分ける。

            色は、後記のジョイスティック座標の選択と一致させてある。
          • さっきのステップで振り分けられた音階は数値で登録されている。
            次に、振り分けられた音をタッチセンサーが押されたら鳴るようにする。
            この時、重要なのは押された間だけ鳴る様にした。
          • 次に、SSD1306で音階の表示、その他のステータスを表示するようにする。
            表示するのは以下のステータス
            • 音階(C,D,E,F,G,A,B,C)
            • 距離センサーが計測出来ているか (Low or Over)
            • オクターブの選択(UP,UP2,DOWN,DOWN2)
            • シャープの選択(#)

          • 次は、ジョイスティックの位置によってオクターブを変化できるようにする。
            この時、オクターブは最大で2つ上げ下げ出来るようにする。
            対応座標は図の通りです。
        • この楽器は、片手にコントローラー・服に距離センサーをつけるため、2つケースを作ります。
        • 今まで作ってきたケース、電子部品を組み込みます。
          この工程に移る前に、Arduino NANOの端子の写真を撮っておきましょう。

          • 組み立てに入る前に以下のことを確認してください。
            • ケースにセンサー類を所定の場所に入れて、図のように固定される事を確認してください。
            • ケースのジョイントも実際にはめて確かめてください。
            • 図の様にMini-USB端子が接続できるか確認してください。

          • 上記の工程で、いずれかの1つが出来なかった場合、以下のことを試してみてください。
            • ネジ穴固定支柱が通らない
               →引っかかっている支柱を折ってしまいましょう
                支柱は最低2本(ジョイスティックは3本)あれば十分に固定できます。
            • ケースがはまらない
              →全体的にヤスリか何かで削ってみましょう。
               特に、印刷時のレイヤーが変わる部分に凸が発生する場合が高いですので、そこを削ってみてください。
            • USBが接続できない。
              →ヤスリで削って見てください。
               ここの部分は上の辺部分が浮いて印刷されるため、誤差が生じる事が高いです。
          • 固定するために一度回路を切ってしまったので、はんだで再接続します。
            このときには、まだ全部をつなげないでください。
            この時、出来るだけコードは短く作って使います。
          • このケースには、それぞれの場所に付けた、ネジ穴用の柱にセンサー側のネジ穴に通します。
            ここに、グルーガンで固定します。
            タッチセンサーは、しっかりとケースに押しつけて接着してください。でないと検出できません。
            ✳︎本来であれば、ここのキャップも3Dプリンターを使って固定したかったのだが、制作環境のプリンターでは印刷できなかったため、今回断念した。
          • 次に回路を完全に接続します。
            このとき、Arduino NANOは上下逆さまなので、事前に取っておいた端子写真を見て確認してからはんだ付けするといいと思います。
          • ここまでの行程が終わったら、試しにMini-USB端子をつないで見ましょう
            そして、ディスプレイ・センサー・ブザーが動作することを確認できたら、次の最後の工程です。
          • 全てのセンサー等の固定と再接続が完成したら、最後の工程です。
            本体ケースの上と下を合体させます。

        • 以上で完成です。お疲れ様でした!
          基本的なプログラムは、非常に簡単なものなので是非、自分の拡張機能を付けてみてください。
          • SampleCode→Github
            サンプルなので、1オクターブ分しか書いていませんが、ArduinoのSerial.writeでデータをProcessingに受け渡して、MIDIで演奏することができます。

            このように、Arduino→PCに受け渡せるので、拡張方法はさまざまな方法でできます。
        Add Card Order

        References

          Usages

          • 演奏方法

            演奏方法は自由です(距離が変化する方法であればOK)

            演奏例
            距離センサーを持って、壁や机に向けて動かして演奏する。

          • 基本的な使い方

            まず、距離センサーを操作して、出したい音階にします。
            次にジョイスティックで、音の高さ、半音あげるかを選びます。
            変化するとディスプレイに表示が出ます。
            次に先端の斜めの部分に指を当てます。
            そうすると音がなります。

          • 映像

            こちらは、作成方法と演奏風景をまとめた映像です。
            30秒以内と言う縛りがあったので、大分端折って作ってしまったので、内容がよく分からない物になってしまいました。
          • HOW TO

            こちらは、演奏方法をまとめた映像です。
            実は、当初はこちらをファブコンの映像として提出しようと思ったら、サイトに「楽器の制作レシピ+演奏風景(30秒以内)を収めた動画を投稿すること」(原文ママ)
            とあったので、没になった映像です。
          • 演奏風景(フル)

            こちらは、紹介映像・HOWTOに入れた「蛙の歌」を演奏した物の、フルバージョンになります。

          Project comments