いらないモノ、ひつようなモノ

書籍、音楽、そして若干のテクノロジー

android上で使えるセンサとUI

←csoundメモ 目次へ戻る

現時点でAndroid端末から取れる値は限られている。しかも、スワイプやピンチイン/アウト、2点以上のタッチはサポートされていない。


ktx chnget "trackpad.x"
kty chnget "trackpad.y"

ks1 chnget "slider1"
ks2 chnget "slider2"
ks3 chnget "slider3"
ks4 chnget "slider4"
ks5 chnget "slider5"

kax chnget "butt1"
kay chnget "butt1"
kaz chnget "butt1"

kax chnget "accelerometerX"kay chnget "accelerometerY"
kaz chnget "accelerometerZ"

kb1 chnget "butt1"
kb2 chnget "butt2"
kb3 chnget "butt3"
kb4 chnget "butt4"
kb5 chnget "butt5"

  • トラックパッドはうまく使えばx,yの両方が取れるのでカオスパッドっぽく使うこともできる。つまり、発音中にダイナミックに二つのパラメータを変更できる。
  • スライダーは比較的使いやすい。ただし、同時にスライドさせることができない。発音前に調整して発音中はスタティックなパラメータと考えるのが妥当だろう。
  • XYZの加速度センサは瞬間値なので、時系列データを保持してこの変化からトリガを得るようにこれらの値ををうまく処理しないと使えない。その一例を(サンプル)として示した。
  • ボタンは使いづらい。同時押しができないなら、手を話した後も状態を保持するタイプのボタンとして考えたくなる。しかし押したあとの状態が視覚的に変化しないのでこのボタンを使う気にならない。triggerオプコードを利用することによって若干ボタンの押下を捕らえやすくはなる。(サンプル)しかし、普通のJavaVBのUIの取り扱いからは遥か彼方。きわめて原始的である。

なぜか6.00.1ではトラックパッドの領域が狭くなったのでトラックパッドのY軸値はあまり役に立たない。そもそもcsoundがFLKを取り込もうとしたように、すべてを自己完結させようとするこれまでの思想を捨てないとUI部分はついていけないだろう。危惧してしまう。今後csound+andriodの環境に必要なUIの要件を以下のようにまとめる。

  • そもそもUI自身をcsoundから切り離すこと。Androidの操作に対応すること。(UI MUST be separated from csound itself, or sufficient flexiblity which is provided by Android cannot be obtained.)
  • ボタン、スライダーなどの個数とラベル、名称、位置、領域、色といった属性はユーザが指定できること(The number of the sliders, buttons and other UI elements MUST be set by the user. The attributes of elemetns, like label, position, color, size and its name MUST be set by the user also.)
  • ボタンは押下後、視覚的な変化を保持すること(The buttons MUST keep its UI if its status is changed.)

←csoundメモ 目次へ戻る