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

 

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

 - アプリ開発

  関連記事

DAWを使って、ゲームの裏側で鳴らす音楽を作ってみた。

お疲れ様です。高橋です。 既に時期を逸してしまった、「選挙運動シミュレータ 衆院 …

遅刻の言い訳提案システム 稼働初日

お疲れ様です。高橋です。 先日まで微調整を重ねてきた「遅刻の言い訳提案システム」 …

TwitterアナリティクスからCSVがダウンロード出来ない

お疲れ様です。高橋です。 TwitterアナリティクスのCSV 遅刻の言い訳提案 …

「寝坊した」人に自動的に遅刻の言い訳を提案する仕組みを稼働させてみた。

お疲れ様です。高橋です。 寝坊した人にアプリをオススメする仕組みを作りましたが、 …

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

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

街頭インタビュー 背景人物切り替え機能の実装

お疲れ様です。高橋です。 本日は、背景人物を切り替える機能を実装しました。とりあ …

Win7(64bit)+cocos2dx-3.2でAndroid開発環境を構築してみた

お疲れ様です。高橋です。 ゲームを作る際に、自分で1から細々とした部品を作らなく …

遅刻の言い訳提案システム 稼働二日目

お疲れ様です。高橋です。 遅刻の言い訳提案システムについて、先日課題として上げた …

上司離着席状態検知アプリ

お疲れ様です。高橋です。 上司離着席状態検知システムですが、 必要性を記載 回路 …

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

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