curious4dev

中国旅行、Arduinoなどを使った電子工作、その他色々。

*

8bitサウンドを出すAndroidアプリをリリースしてみた。

 

お疲れ様です。高橋です。

先日の「Androidで8bitサウンドをモノフォニックな感じで実装してみた。」で音を出す所までは行けたので、今日は画面のタッチ操作に合わせた音程の強弱の操作に移りました。

image01

こんなインターフェイスしかありませんが、低い所から高いところへ指をグリグリ動かしてみると、デロデロ~ピロピロまでが流れるようになります。

が、Windows上のAndroidエミュだとマウスでの操作しか出来ず、実際の指で操作した場合の感じがどんなもんなのか実験してみたくなりました。

ので、アプリをリリースし、明日以降、誰かの実機で試験させてもらおうと思っています。

先日のソースからの主な変更点

MainActivity内に下記のようなメソッドを追加しています。

    @Override
    public boolean onTouchEvent(MotionEvent event) {

        Log.d("TouchEvent", "X:" + event.getX() + ",Y:" + event.getY());

        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            Log.d("TouchEvent", "getAction()" + "ACTION_DOWN");
            break;
        case MotionEvent.ACTION_UP:
            Log.d("TouchEvent", "getAction()" + "ACTION_UP");
            break;
        case MotionEvent.ACTION_MOVE:
            Log.d("TouchEvent", "getAction()" + "ACTION_MOVE");
            if (beforeY + 10 < event.getY() || beforeY - 10 > event.getY()) {
                playNote = (double) event.getY();
                beforeY = event.getY();
                Thread thM = new Thread(MainActivity.this);
                initScoreData();
                thM.start();
            }
            break;
        case MotionEvent.ACTION_CANCEL:
            Log.d("TouchEvent", "getAction()" + "ACTION_CANCEL");
            break;
        }
        return true;
    }

既にリリースしているというのに、Log.dを仕込ませているあたりが、漢らしいと自画自賛しております。

冗談はさておき、指の動きに合わせた音程の変化と発音部分は、onTouchEventの中で、MotionEvent.ACTION_MOVE箇所にて実装しています。

単純にY座標をそのまま周波数として利用しています。普通に考えたら可聴領域と画面サイズをダイナミックにマッピングして、高音から低音までまんべんなく鳴らすことを考えると思いますが、ここも、あえて画面サイズで表現しようとしています。

また、起動時と終了時にログを送出する機能も入れ込んでいます。

先ほどリリースしたばかりなので、まだダウンロード出来ませんが、ダウンロード出来たら少しだけ触っていただければ幸いです。

8bit Sound Generator

 

以上、よろしくお願い致します。

 - アプリ開発

  関連記事

遅刻の言い訳アプリ ~ボタンの幅を動的に決定~

お疲れ様です。高橋です。 遅刻の言い訳アプリを着々と実装しています。 全体進捗 …

Google Play Developer登録

お疲れ様です。高橋です。 本日は引き続きwordpress周りの設定を行うと同時 …

AndroidアプリでHoloGraphLibraryを使ってグラフ描画してみた

お疲れ様です。高橋です。 先日、総務省の統計APIをコールしてデータを取得してく …

選挙運動を疑似体験出来るシミュレータ「衆院選2014」を作った、が。

お疲れ様です。高橋です。 2014年11月21日に衆議院が解散され、12月2日に …

アプリログをQlikViewでリアルタイムに可視化してみた。

お疲れ様です。高橋です。 タイトルは本当だと「アプリが送るログをhttpdが受け …

Androidアプリ作りと設計

お疲れ様です。高橋です。 ウォーターフォール型人間である私は、作りたいものをイメ …

androidアプリから総務省APIをコールしてみる

お疲れ様です。高橋です。 androidアプリから総務省APIをコールする事に成 …

「カナかな?」の2週間分のダウンロード数

お疲れ様です。高橋です。 本日の貴重な帰宅後の時間は、妻からの「なんとかっていう …

【完全版】 Androidで広告ID(Advertising ID)を取得する方法

お疲れ様です。高橋です。 非常に長い時間掛けて他人に実機デバッグをやってもらう事 …

アプリ開発に必要な要素技術

お疲れ様です。高橋です。 androidアプリ開発に必要な要素技術はものすごーー …