curious4dev

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

*

FreeなWindows向けDAWを使って作った音楽をwavからoggにしてAndroidアプリで鳴らしてみた。

 

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

先日POSTした「DAWを使って、ゲームの裏側で鳴らす音楽を作ってみた。」で大絶賛したMusic Studio Producerですが、これを使ってピアノロールで音楽を作るまでは良かったのですが、wavをexportする所で非常に手間取りました。

Music Studio Producerのwavをexportするまでの流れは、下記のような感じだったのですが、私が一番わからなかったのが、途中でStereo mixerが絡んでくる部分です。

てっきりMusic Studio Producerがいい感じにチョチョっと処理してくれるもんだと思ったのですが、そうはいきませんでした。

2014121801

 

このStereo mixerは、パソコン個々の環境に深く依存するらしく、私のWindows7には最初から入っていませんでした。ので、別途インストールする事になるのですが、ここまでにとても時間を使いました。

  1. マザーボードが使っているチップセットを久しぶりに調べ
  2. Realtek社のチップが使われていることを確認し
  3. ダメモトで最新のdriverをダウンロード&インストール

することで、やっと「ステレオミキサー」がデバイスとして出てきたのです。

何事も失敗を恐れずダメモトでやる事が肝心です。例えdriverであっても。

 

2014121802

ここまで来たら後は簡単でした。

メロディとベースラインしか無い2トラックの楽曲を再生しながらトラック毎に生成されるWAFという形式のwaveデータを、1つのwavファイルとしてexportします。

2014121803

そして、ここでも感動したのですが、http://media.io/という謎の素敵サービスで、wavをoggに変換し、変換結果をダウンロードし、androidアプリに組み込めました。

アプリ側の実装は下記のような感じです。

  1. res/rawの中にoggファイルを入れます。(今回はopening.oggとmain.ogg)
  2. 下記のように再生用のコードを実装します。
 MediaPlayer mp = MediaPlayer.create(SplashActivity.this, R.raw.opening);
 mp.start();
 mp.setLooping(true);

これだけでループ再生出来ました。

念のためogg以外にもSMF(Standard MIDI FILE)とmp3でandroidエミュ上での再生試験及びループ試験を行ったのですが、様々なサイトで言及されている通り、oggのほうがループ時の音の途切れがなかったので、oggでいきます。

 

課題は、

  1. Activity(画面)が遷移すると音楽が止まってしまう点
  2. アプリを閉じても音楽が鳴り続ける点

の2点ですが、おそらく「BGM を複数のActivityにまたがって流す方法」とか「androidでBGM再生」とかが参考になると思いますので、解決される事でしょう。

 

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

 - アプリ開発

  関連記事

Androidで8bitサウンドをモノフォニックな感じで実装してみた。

お疲れ様です。高橋です。 Arduino+YMZ294で、8bitサウンドがマイ …

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

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

寝坊検知&遅刻の言い訳提案システム #2

お疲れ様です。高橋です。 昨日作った遅刻の言い訳提案システムですが、Tweetの …

SurfaceViewを使って絵を書き動かすサンプルをコピペして動かしてみた

お疲れ様です。高橋です。 本日はcocos2d-xの3.3rc0を導入しようと試 …

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

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

歌詞生成アプリ「カナかな?」の動詞をチューニングしてみた。

お疲れ様です。高橋です。 昨日はサーバ周りに熱中してしまってクライアント側を全く …

遅刻の言い訳アプリをリリースしてみた。

お疲れ様です。高橋です。 2/20あたりから、「合理的な遅刻の言い訳生成アプリ。 …

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

お疲れ様です。高橋です。 先日の「Androidで8bitサウンドをモノフォニッ …

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

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

URL付き言い訳提案システム 稼働2日目

お疲れ様です。高橋です。 本日は946寝坊、270提案、19クリックでした。 & …