FreeなWindows向けDAWを使って作った音楽をwavからoggにしてAndroidアプリで鳴らしてみた。
お疲れ様です。高橋です。
先日POSTした「DAWを使って、ゲームの裏側で鳴らす音楽を作ってみた。」で大絶賛したMusic Studio Producerですが、これを使ってピアノロールで音楽を作るまでは良かったのですが、wavをexportする所で非常に手間取りました。
Music Studio Producerのwavをexportするまでの流れは、下記のような感じだったのですが、私が一番わからなかったのが、途中でStereo mixerが絡んでくる部分です。
てっきりMusic Studio Producerがいい感じにチョチョっと処理してくれるもんだと思ったのですが、そうはいきませんでした。
このStereo mixerは、パソコン個々の環境に深く依存するらしく、私のWindows7には最初から入っていませんでした。ので、別途インストールする事になるのですが、ここまでにとても時間を使いました。
- マザーボードが使っているチップセットを久しぶりに調べ
- Realtek社のチップが使われていることを確認し
- ダメモトで最新のdriverをダウンロード&インストール
することで、やっと「ステレオミキサー」がデバイスとして出てきたのです。
何事も失敗を恐れずダメモトでやる事が肝心です。例えdriverであっても。
ここまで来たら後は簡単でした。
メロディとベースラインしか無い2トラックの楽曲を再生しながらトラック毎に生成されるWAFという形式のwaveデータを、1つのwavファイルとしてexportします。
そして、ここでも感動したのですが、http://media.io/という謎の素敵サービスで、wavをoggに変換し、変換結果をダウンロードし、androidアプリに組み込めました。
アプリ側の実装は下記のような感じです。
- res/rawの中にoggファイルを入れます。(今回はopening.oggとmain.ogg)
- 下記のように再生用のコードを実装します。
MediaPlayer mp = MediaPlayer.create(SplashActivity.this, R.raw.opening); mp.start(); mp.setLooping(true);
これだけでループ再生出来ました。
念のためogg以外にもSMF(Standard MIDI FILE)とmp3でandroidエミュ上での再生試験及びループ試験を行ったのですが、様々なサイトで言及されている通り、oggのほうがループ時の音の途切れがなかったので、oggでいきます。
課題は、
- Activity(画面)が遷移すると音楽が止まってしまう点
- アプリを閉じても音楽が鳴り続ける点
の2点ですが、おそらく「BGM を複数のActivityにまたがって流す方法」とか「androidでBGM再生」とかが参考になると思いますので、解決される事でしょう。
以上、よろしくお願い致します。
関連記事
-
-
総務省統計APIで引っ張ったデータをHoloGraphLibraryで可視化してみた
お疲れ様です。高橋です。 先日の「総務省の統計APIからデータを取得する」ではデ …
-
-
広告IDが取得出来なかった理由がわかってきた。かな?
お疲れ様です。高橋です。 しばらく前からめぼしい更新を停止していた「カナかな?」 …
-
-
西野カナ風な歌詞自動生成「カナかな?」をリリースしてみた。
お疲れ様です。高橋です。 昨日はずっと助詞に関する実装をしていたのですが、どうし …
-
-
Twitter上に広がる寝坊市場について
お疲れ様です。高橋です。 遅刻の言い訳アプリ 初週DL数 2/26頃にリリースし …
-
-
西野カナ風な歌詞を自動生成するアプリ「西野カナかな?」を作ってみた。
お疲れ様です。高橋です。 先日実験した「西野カナは本当に会いたいのか、調べてみた …
-
-
「カナかな?」を実機デバッグし、ログ送出機能を追加してリリースしてみた。
お疲れ様です。高橋です。 デバッグしてみた 先日リリースした、西野カナ風の歌詞を …
-
-
遅刻の言い訳提案システムとウコンの力
お疲れ様です。高橋です。 現在稼働を続けている遅刻の言い訳提案システムは、改めて …
-
-
遅刻の言い訳アプリをリリースしてみた。
お疲れ様です。高橋です。 2/20あたりから、「合理的な遅刻の言い訳生成アプリ。 …
-
-
選挙運動シミュレータ「衆院選2014」が迷走してきた。
お疲れ様です。高橋です。 選挙運動シミュレーションゲーム「衆院選2014」の見た …
-
-
街頭インタビュー 入力UI実装
お疲れ様です。高橋です。 今日は文字入力UI及び、背景人物の切り替え機能を実装し …



