こんにちは!初めての方は初めまして,そうでない方ははじめません.
RCC1回生数理科学科のなぎです.情弱につき特にできることはありません.前期の活動では,デザインとBitcoin・ブロックチェーン技術についての勉強をし,学園祭の会誌ではMESHについて書かせていただきました.
今回は学園祭の会誌に書いたMESHのその後について書きたいと思います.最初に会誌の内容を軽く紹介して本編に入ります.
- MESHとは? -
MESHはSONYから発売されたタグで,タグ自体は消しゴムサイズくらいで,それぞれ固有の機能を持っています.
例えば緑色のタグはボタンを押すと反応しますし,青いタグは振ったり振動を与えると反応します.
MESHは,スマホやタブレット端末とタグをBluetoothを用いて通信します.MESH公式のアプリがあって,そのレシピ上でギミックとタグを線で繋いで動かします.なので私のような情弱さんでも簡単に作れて楽しめます!
< MESHでわんたっち?music! >
今回私がMESHを使ってやろうとしたことは,タイトルにもあるように「わんたっちで音楽を鳴らすこと」です!
- 動機 -
MESHのアプリはバックグラウンド処理がついているので,これが使えればソシャゲなどしている時でも簡単に音楽を鳴らせるようになる!また,勉強中にスマホなどの画面を見ずとも曲のプレイリストが変えられることにびびっと来たことがきっかけです.
- 今回使用したもの -
- iPhoneSE,iPad Air 2(ios端末)
- SONYのMESH(ボタンタグ,振るタグ)
- MESH公式アプリ
※Androidとiosは仕様が異なります.今回はiosでの実装です.
- 実装結果(レシピ) -
- 実装内容 -
解説個所に番号を振っておきます.
1.レシピを読むための知識
1.1.タグとギミック
MESHのタグとギミックをレシピ上で線で繋ぐ作業を繰り返します.
1.2. ギミックについて
主に使用したギミックは,スイッチとミュージックです.
スイッチは,出力先をタグの反応回数で変えられるもので,以下の3種類があります.
- 順番に切り替える
- ランダムに切り替える
- 任意の出力番号を選択してから出力する…(*)
今回の実装では,自分が選びたいプレイリストを選ぶために(*)を多く使って分岐を作っています.(スイッチ0は今回動いていないので,無視してください.ただスイッチ0の近くにある青い振るタグは,スイッチ0とは繋がっていないので使えます.)
ミュージックは,2つの機能があります.
- 再生/一時停止や次の曲へ送るといった操作周り
- プレイリストを格納する
曲はiTunesに取り込んでいるものを使います.iTunes内のプレイリストやアルバムなど全てそのまま使えます.ただし,1つのプレイリストにつき100曲までしか入らないことに注意してください.
1.3. 使用タグの割り振り
使用したタグはボタンタグと振るタグです.
ボタンタグ(緑色)には3種類の機能があります.
- 1回ボタンを押す…(z)
- 2回連続でボタンを押す…(y)
- ボタンを長押しする…(v)
振るタグ(青色)には機能がたくさんあるのですが,今回は以下の4種類です.
- タグを上向きにする…(x)
- タグを下向きにする…(w)
- タグを左・右向きにする…(v)
- タグを振る…(矢印先の4つ)
※vの範囲にあるタグ
ここにあるボタンタグは,長押しすると反応して,一時停止及び再生が行えます.
振るタグを右向きにすると次の曲に,左向きにすると前の曲にいけます.
(ボタンタグから線で繋がっているベルのマークは,ボタンを押すと画面上にプレイリストの内容を表示するギミックです.)
また,矢印で指している振るタグは,振ることで反応し,今回だと繋がっている全てのスイッチの出力番号を1に設定します.(これが無いと,他のプレイリストへの移動がたいへん面倒になります.)
2. レシピ内部の解説
2種類の目的を1つのレシピ上で作成しました.
- (a.) 自分の好きなプレイリストを選ぶ
- (b.) プレイリストをランダムに選ぶ
- 2.1. (a.) の解説 -
特定のプレイリストを選ぶ流れは次のようになります.
- yのボタンタグで,スイッチ1・2・3の出力番号を選択(画像を見るとわかりますが,1~3のスイッチは全て同じ出力番号になります.)
- zのボタンタグで,スイッチ1で選択された番号が出力され,同時にスイッチ4・5の出力番号を選択.(ただし,スイッチ1の出力番号が3の時は,(b.)側の内容になります.)
- xの振るタグで,スイッチ2で選択された番号が出力され,同時にスイッチ4も出力されて,スイッチ6の出力番号を選択.
- wの振るタグで,スイッチ3で選択された番号が出力され,同時にスイッチ6も出力されて,さらにスイッチ7が出力されて,対応しているプレイリストが流れる.
*1)スイッチ7は,プレイリストと対応しています(8の領域).スイッチ7にはプレイリストが2つ付いていますが,これは,上のプレイリストは,順番に流す.下のプレイリストはシャッフルで流す仕組みになっています.(このプレイリストの切り替えは,wの振るタグで行えます.)
*2)かけたいプレイリストに対して複数回タグを使うことで,目的のプレイリストにたどり着けるようになっています.今回のレシピでは18個のプレイリストを選択できるようにスイッチ4・5を2個作り,スイッチ6を9個,スイッチ7を18個作りました.
- 2.2. (b.) の解説 -
- yのボタンタグを2回押して,スイッチ1・2・3の出力番号を3にする.(初期状態だとスイッチの出力番号は1のため,2回押します)
- xの振るタグで,スイッチ9の出力選択をする.
- zのボタンで,スイッチ9の出力をして対応しているプレイリストが流れます.
スイッチ9のシャッフル形式を載せておきます.
- ボーカルのみのプレイリスト
- アルバムのプレイリスト
- instrumentalのみ
私の場合,1についてはボーカル曲だけで175曲あったので,ランダムスイッチを使って2つのプレイリストに分けました.
2については,アルバム全てをシャッフル対象にするために,ランダムスイッチ10を作り,そこから全てのプレイリストを3つのランダムスイッチで繋ぎました.
- 反省・感想 そして今後 -
「実用性…ありますか?」(by RCCの某黒い先輩)
作った時は私も同じ感想でした.わんたっちで実装できる範囲はかなり狭いです.ですが多機能性を…!としていると結果こうなってしまいました.そもそもMESH自体を触れる人が少ないために全て手探り実装だったので,どれくらいならいけるかな?というものも手探りでした.ですからまぁ…仕方ないかなとも思っております.
実際に実用性を持って作るのであれば,もっとシンプルなレシピを組む.ということだけでも解決できます.が,このレシピをある種この形でちゃんと作ろうと思ったのは,スイッチのギミックをいかにうまく使うかという点にありました.他の人がMESHの別レシピで何かを作るときに,もしスイッチを複数使った制御をするとしたら,スイッチは壁になるのではないか?と私自身制作中に思ったからです.(スイッチの処理を完成させるまでに6回ほどレシピの大変更をしています…)これでスイッチ処理についてはばっちり!…なはず….
別の改善方法としては,MESH SDKを使う方法もあります.JavaScriptを使うことで自分でギミックやタグを作ることが出来ます.JavaScriptを勉強したのちにどこまで良くなるか,チャレンジしたいところです.
最後に,このレシピは実際使ってみるとそこまで不便ではないです,自分の好きな曲を集めたプレイリストをわんたっち,もしくは2回ほどで流せるところに置いているからです.シャッフルの方も使いやすく,勉強の合間や移動時間などにすっとMESHを取り出して今でも使っております♪
少々長くなりましたが,以上で終わりです.
興味を持った方は,ぜひMESHを買って試してみてください♪
ご質問等ありましたらこちらまで. Twitter ID : nagi_kknn