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

 

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

 - アプリ開発

  関連記事

Win7(64bit)+Unity4.5.5f1で作った物をAndroidエミュで動かしてみた

お疲れ様です。高橋です。 先ほどはcocosを使ったサンプルをエミュで動かす所ま …

Androidアプリ上でLINEみたいな吹き出しでTextを囲んで表示してみた。

お疲れ様です。高橋です。 AndroidでLINEみたいにテキストの周りを吹き出 …

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

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

DLリンク付き言い訳提案システムとDL数の関係について

お疲れ様です。高橋です。 DLリンク付きの言い訳提案システムを1週間稼働させ、そ …

Androidアプリで画面遷移してもBGMが鳴り続けるようにしてみた。

お疲れ様です。高橋です。 先日無事にDAWで楽曲を作成してandroidアプリか …

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

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

西野カナ風な歌詞自動生成「カナかな?」をリリースしてみた。

お疲れ様です。高橋です。 昨日はずっと助詞に関する実装をしていたのですが、どうし …

街頭インタビュー 実装 #2

お疲れ様です。高橋です。 本日の実装状況 街頭インタビューを構成する要素を、徹底 …

Unityでノベルゲームを作る

お疲れ様です。高橋です。 突然ですが、ノベルゲームを作ってみたくなったので、試し …

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

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