2013年5月25日土曜日

[Android] OpenGLでプロ生ちゃんをアニメーションさせる

How to make PRONAMA-CHAN run
前回はOpenGL APIを使って画像を表示アプリを作りました
今回はOpenGLで画像をパラパラマンガのようにアニメーションさせます。

アニメーションを表示させるに当たり、プログラミング生放送で公開されている「プロ生ちゃん(暮井 慧)」のドット絵画像を使います。
「プロ生ちゃん」の利用ガイドラインはこちら

512×512ピクセルの画像にプロ生ちゃんのドット絵パターンを並べてみました。
一つのパターンは64×64ピクセルです。

※以下、「パターン」という言葉をプロ生ちゃん一人分の画像という意味で使用します。

全部で16パターンありますが今回は上の段の6パターンを使ってプロ生ちゃんが走っているように見えるアプリを作ります。

このブログを書いている時点の開発環境は次の通りです。
・Windows8 (64bit)
・Eclipse Juno (32bit) (XP互換モードで起動)
・Android SDK r21.0.1

画像ファイルは kurei_kei.png というファイ名で保存しプロジェクトの
res - drawable-mdpi
にコピーします。
resフォルダーの下に drawable-nodpi というフォルダーを作ってそこに画像ファイルをコピーしてさい
drawable-nodpi 以外のフォルダーに保存した画像は端末の解像度に応じて自動でスケーリングされるようです。(2014年5月31日訂正)

※ ic_launcher.png はAndroid-SDKにデフォルトでインストールされるアイコン画像です。

gl.glTexCoordPointer でテクスチャの表示範囲(マッピング)を指定しします。
1つのパターンは画像8分の1のサイズなので幅と高さはそれぞれ 0.125 です。
マッピングは横方向は左から右に向かって、縦方向は上から下に向かってプラスになるので、左上のパターンを例にとると座標は下の様になります。

マッピング座標をハードコーディングしてもいいのですが、将来パターンが増えた場合に備えて計算で求めることにしました。
今回のソースでは、パターンごとのマッピング座標は配列の keiCoordsBuffs[] にバッファします。順番は次の通りです。

1から6までのパターンを0.1秒ごとに差し替えてアニメーションさせます。

アクティビティ(MainActivity.java)

※特別な権限(Permission)は不要なのでマニフェストは省略します。
Target SDK Version が4以上の設定でビルドできます。
Android1.6以降で動作します。

実際に走っている姿は躍動感があります。
前回のソースを元にしているのでフリックで画像を移動できます。

ドットバイドット表示するために gl.glTexParameterf のパラメーターを指定しているのですが機種によって対応が異なるようです。


関連ブログ
[Android] OpenGLで簡易画像ビュアーを作る
[Android] OpenGL ESで文字を表示する
[Android] OpenGLで頂点の多いポリゴンを扱うには
[Android] OpenGLでシャープ製端末用3D(立体視)アプリケーションを作る
[Blender] obj2opengl.plをJava用に改造する
[Windows8][Android] Can't bind to local 8600 for debugger


以上、参考になれば幸いです。

[Android] OpenGLで簡易画像ビュアーを作る

How to make pictures viewer on OpenGL
OpenGL APIを使って画像ファイルを画面に表示するアプリを作ってみました。

このブログを書いている時点の開発環境は次の通りです。
・Windows8 (64bit)
・Eclipse Juno (32bit) (XP互換モードで起動)
・Android SDK r21.0.1

なぜOpenGL APIを使うのか?
Androidアプリに画像を表示するだけならImageViewを使えばもっと短いコードでアプリを作ることができます。
ですが今後、複数の画像を並べたり拡大縮小の機能を自前で追加したいと思ってます。
OpenGL APIを使うとでアプリの作り方次第で画像の移動・拡大・縮小・回転をスムーズに表示することができます
これらの理由からあえてOpenGLを使うことにしました。
(ただし今回作る機能は表示と移動のみです)

今回のアプリで表示する画像は1枚とします。
OpenGLで画像をテクスチャとして表示するためには、辺の長さが2の累乗(べき乗)の正方形の画像を用意します。
256×256ピクセル、512×512ピクセルなど。
この通りの画像で内場合端末によってはテクスチャを表示できないことがあります。

サンプルのため、256×256ピクセルのスカイツリーの画像を用意しました。


画像ファイル(image256x256.png)はプロジェクトの
res - drawable-mdpi
にコピーします。
resフォルダーの下に drawable-nodpi というフォルダーを作ってそこに画像ファイルをコピーしてさい
drawable-nodpi 以外のフォルダーに保存した画像は端末の解像度に応じて自動でスケーリングされるようです。(2014年5月31日訂正)

※ ic_launcher.png はAndroid-SDKのデフォルトでインストールされるアイコン画像です。

以下、ソースです。

Activityクラス (MainActivity.java)
※特別な権限(Permission)は不要なのでマニフェストは省略します。
Android1.6以降で動作します。
Target SDK Version が4以上の設定でビルドできます。
auのIS01(シャープ)で動作することを確認しています。

下の様に画面に画像が表示されます。

タッチイベントを使って画面のフリックでスクロールします。
スクロールはテクスチャ画像を動かすのではなく、カメラ(視点)を移動させる仕様にしています。

今後はさらに改良を加えていきたいと思います。


関連ブログ
[Windows8][Android] Can't bind to local 8600 for debugger
[Android] Javaのstaticクラスから非sataticメソッドを呼び出すには
[Android] Unity + EclipseのClassNotFoundExceptionを解決する
[Android] Unity + Eclipse の unityplayerproxyactivity.jarの欠落を解決する
[Android] 端末を充電中に画面をつけたままにするには
[Android] WebView の FATAL EXCEPTION を解決する
[Android] WebViewを使うときの注意点
[Android] アプリの履歴を調べるアプリの作り方
[Android] Android4.0をVmwareやVirtualBoxで起動する
[Android] エミュレーターの動作を少しでも速くするには
[Android] Android-SDKでやってはいけないこと
[Android] Toastに画像やボタンを表示するには
[Android] ライブ壁紙の作り方
[Android] マルチタッチアプリケーションの作り方
[Android] 新旧のAndroidで動作するServiceの作り方
[Android] 端末をPCにつないでも認識されない
[Android-NDK] ERROR [binderDied] end
[Android] 自身をタスクキルするアプリケーションを作るには
[Android] OpenGLで頂点の多いポリゴンを扱うには
[Android] OpenGLでシャープ製端末用3D(立体視)アプリケーションを作る
[Android] SoundPoolのオーディオ再生ミスをなくす
[Android] 画面の向きを設定するには
[Android] OpenGL ESで文字を表示する
[Android] Activityに時計を表示する(Activityの非同期更新)
[Android] データ通信をオンにしても3Gにつながらない
[Android] 画面の回転に反応するウィジットアプリケーションを作るには #2
[Android] Webコンテンツを強制的に表示するには
[Android] Toastをcancelするには


以上、参考になれば幸いです。

2013年5月18日土曜日

[CUABSE] Prologue・Mystic・Spectorの左側のLFOを使う方法

How to make Prologue's LFO on the Left work
Prologue・Mystic・Spectorには二つのLFOが設定できます。
LFOは「ワブルベース」の音色作りには欠かせないパラメーターです。
(もちろん他にも様々なの使い方があります)

初期状態から音色を作り込んでいくと左側のLFOがなぜか全く効かないようです。


効かない理由は初期状態ではEVENTの「modulation wheel」に「LFO Level」が割り当てられているからです。


このままだとMIDIキーボードのモジュレーションホイール(CC1)を上げないとLFOが効きません。
EVENTの「modulation wheel」の「LFO Level」をクリックして「Off」に設定するれば常時効くようになります。

初期状態から音作りすると左のLFOが効かないので焦りましたが、モジュレーションホイールでLFOを変化させる演奏もおもしろいです。

LFOの変な表示
LFOのシンクモードををmidiに設定します。
LFOのスピードを適当に設定してプロジェクトを保存します。検証した時点では左に1/4T、右に1/4を設定しました。

CUBASEを終了して起動し直すと左右ともスピード(波形の下の数字)の表示が変わります。

バグのようで、Prologue 2.2.1.108 で発症します。

関連ブログ
[Cubase] Mystic・Prologue・Spectorの同時発音数の設定方法
[CUBASE] CUBASE7のインストールとトラブル
[CUBASE] スペクトルモニターの精度
[CUBASE] CUBASE6のバージョンアップのトラブル
[CUBASE] 「突然音が出なくなった」を解決する
[Windows] オーディオ再生中にノイズが鳴る
[VOCALOID][CUBASE] VOCALOID Editor for CUBASE(ボカキュー)で何が変わるか?
[VOCALOID Editor for CUBASE] ボーカロイドをMIDIキーボードで入力する
[VOCALOID] CUBASEで「ぼかりす」(VocaListener)っぽいことをする
[VOCALOID Editor for CUBASE] VOCALOIDが発音しないことがある

以上、参考になれば幸いです。

2013年5月11日土曜日

[VOCALOID][UTAU] VOCALOID3をVSQファイルに変換する

How to export VSQ files

VOCALOID3 Editorはジョブプラグイン機能が搭載されました。VOCALOID3 Editorの機能を拡張することができるようになりました。
VOCALOID3 Job Plugin Development Kit で自作することができます。
既にたくさんのジョブプラグインが公開されています。
ボーカロイドストアにユーザー登録する必要がありますが、ぼかりすを除いてすべて無料でダウンロードすることができます。
http://shop.vocaloidstore.com/index.php?gOo=goods_search_list.dwt&gcat=615

この中でとても便利だと思ったのが、kbinaniさんの「Export VSQ」です。
VOCALOID3 Editorで編集したパートをVOCALOID2以前のvsqファイルに出力することができます
http://shop.vocaloidstore.com/index.php?gOo=goods_details.dwt&goodsid=5735&productname=
vsqファイルはUTAUにインポートしたりMMDのリップシンク用に使うことができます。

Shuffle!V用の音声をOCALOID3 Editorで編集したときのスクリーンショットです。

これをvsqファイルに出力して

VSQファイルをUTAUにインポートしたスクリーンショットです。
歌詞の一部が文字化けしたり、VOCALOIDと同じ発音をするわけではないので手直ししてあります。
AndroidアプリShuffle!Vはv1.01で「重音テト」を追加しました。
UTAUを操作したのは初めてでしたが、「Export VSQ」のおかげでわずかな手直しで合成することができました。

なお、このブログを書いている時点の「Export VSQ」は次の制限があります。
VOCALOID Editor for CUBASE(ボカキュー)では実行できませんでした
外部DLLファイルを実行するため今後発売予定のMAC版ボカキューで利用できない可能性があります
・クリプトンが公開しているVOCALOID用エディター「ピアプロスタジオ」はジョブプラグインに対応していません。

Windows版VOCALOID3 Editorの真価は「Export VSQ」が使えることにあります

ボーカロイドが音声案内するAndroidアプリを公開中です!
頭痛・肩凝り予防のストレッチやエクササイズを支援 Eye元気!2
カードの絵合わせゲーム Shuffle!V
速解き計算ゲーム Calcu100

関連ブログ
[VOCALOID] CUBASEで「ぼかりす」(VocaListener)っぽいことをする
[VOCALOID][CUBASE] VOCALOID Editor for CUBASE(ボカキュー)で何が変わるか?
[VOCALOID Editor for CUBASE] VOCALOIDが発音しないことがある
[VOCALOID Editor for CUBASE] ボーカロイドをMIDIキーボードで入力する
[VOCALOID][StudioOne] KAITO V3 とピアプロスタジオ
[Windows] オーディオ再生中にノイズが鳴る
[VOCALOID] VOCALOID Deactivation Tool を使ってみました
[VOCALOID] VSTプラグインでVOCALOIDの声を聞きやすくする
[VOCALOID] StudioOneFreeでVOCALOIDの声を聞きやすくする
[VOCALOID] SeeUのアクティベーション回数制限のリセット方法
[VOCALOID] 洛天依が届くまで
[VOCALOID] 洛天依を歌わせるには
[VOCALOID] VOCALOID3 Editor
[VOCALOID] VOCALOID2に英語の歌詞を流し込む(打ち込む)
[CUBASE][VOCALOID] Toontrack EZmix 2 Lite を使ってみました
[CUBASE][StudioOne] 音の遅れ(レイテンシー)の原因を探る
[CUBASE] CUBASE7のインストールとトラブル
[CUBASE] 「突然音が出なくなった」を解決する

以上、参考になれば幸いです。

2013年5月4日土曜日

[CUBASE][VOCALOID] Toontrack EZmix 2 Lite を使ってみました

What is the "EZmix 2 Lite"
Toontrack社が無料の「EZmix 2 Lite」と「EZdrummer Lite」を2013年5月31日までの期間限定で公開しました。
https://www.toontrack.com/
「EZmix」がどんなものなのか気になっていたので早速使ってみました。
※「EZdrummer Lite」も使ってみたかったのですが製品版EZdrummerのユーザーはLite版のダウンロードができないようで入手できませんでした。

実際に使ってみた環境は次の通りです。
・EZmix 2 Lite 2.0.4.0 Windows版
・Windows8 (64bit)
・CUBASE7 (64bit)
・VOCALOID3 Editor 3.0.5.0 (32bit)
※「StudioOne Atritst」(KAITO V3付属)はVSTプラグインを追加する機能がないためEZmix 2 Liteを利用できません。

一言で表すとEZmix 2 LiteはVSTプラグイン規格のエフェクト集です
実際にエレキギターを鳴らしてみました。
CUBASEのプロジェクトAudioトラックを追加し、Insertsに「EmixLite」をインサートします。


画面上の段(Preset Filters)から「Guitars」や「Amplifier」を選択すると真ん中の段(Browser)に「Heavy Gitz」という項目が表示されるので選択してみました。

これだけでギターの音をハードなディストーションサウンドに変えることができました。
右のイラストによると、このプリセットはイコライザー・コンプレッサー・ディストーション・アンプ+キャビネットの効果があるようです。
ユーザーが操作できるパラメーターはは左下コントロールセクション(Controls section)の「Input」「Output」の他、二つのコントロールノブ(Control knobs)だけです。
二つのコントロールノブはプリセットごとにパラメーターが固定されています。
EZmix 2 Lite なら「エフェクトをいじりすぎて変な音になった」ということはないでしょう。

「EZmix 2 Lite」の32bit版はVOCALOID3 Editorでも使うことができます。
VOCALOID3 Editorで使うにはメニューの
設定 - VSTプラグイン
を開き、「パス設定」ボタンをクリックしてEZmixLite.dllが保存されているフォルダーを選択し更新ボタンをクリックします。
MtkのPCは、EZmixLite.dllが保存されているフォルダーがなぜか
C:\Program Files (x86)\Steinberg\VSTplugins
でした。


パス設定をしたらMIXER画面のVSTプラグイン欄をクリックしてEZmix Liteを選択すると使える様になります。


ボーカロイドにはプリセットフィルター「Vocals」内のプリセットが合いそうです。

上の画像は「Vocal3」というプリセットです。イコライザー・コンプレッサー・テープシミュレーターの効果があるようです。


実際に使ってみてわかった特徴をまとめてみました。
・製品名に「mix」という文字があるがミキサー(ミキシング)機能はない
・VSTプラグインなのでホストアプリケーションとなるDAWが必要
・体感できるレイテンシーはない
コントロールノブはオートメーションでも操作できる
エフェクターはプリセットごとに固定されている
パラメーターはプリセットごとに固定されている(コントロールノブを除く)
サイドチェーン機能はない
FXチャンネル向け(リバーブだけなど)のプリセットはない → Typeが「Group Bus」のプリセットはFXチャンネル向けのようです。(2013年6月10日訂正)
付属のPDFマニュアルは英語のみ


Lite版の制限
プリセットフィルターの一番右側に「Preset Pack」という欄があり、3つの項目があります。

3つのうち「EZMix 1」と「EZMix 2」のプリセットを選択すると数秒後に音が出なくなります
おそらく製品に収録されているプリセットの試聴機能でしょう。気に入ったプリセットがあったら製品を買いましょう。


CUBASEにもトラックやエフェクトごとのプリセットはたくさん用意されていますが、ほとんどがエフェクターごとに一つのInsertsスロットを使います。
EZmix 2 Lite は一つのInsetsスロットにインサートするだけで複数のエフェクターの効果が得られます
EZmix 2 Liteで音質調整のエフェクトを掛け、空いたInsertsスロットに効果の異なるエフェクトを使うと音作りの幅が広がりそうです。
Insertsスロットが2つしかないVOCALOID3 Editorには特に効果的です。

このブログを書いている時点ではクリプトン・フューチャーメディア社はEZ MIX 2 LITE からフルバージョンへのアップグレードパスを販売しています。
http://www.crypton.co.jp/mp/do/prod?id=35194
クリプトンで購入すると日本語マニュアルが付属するようです。
関連ブログ
[楽器] エレキギターのピックアップ交換
[CUBASE] チャンネルストリップのパラメーターを数値入力する
[CUBASE][StudioOne] 音の遅れ(レイテンシー)の原因を探る
[CUBASE] CUBASE7のインストールとトラブル
[VOCALOID] CUBASEで「ぼかりす」(VocaListener)っぽいことをする
[CUBASE] 「突然音が出なくなった」を解決する
[Windows] オーディオ再生中にノイズが鳴る
[VOCALOID][CUBASE] VOCALOID Editor for CUBASE(ボカキュー)で何が変わるか?
[VOCALOID Editor for CUBASE] VOCALOIDが発音しないことがある
[VOCALOID Editor for CUBASE] ボーカロイドをMIDIキーボードで入力する
[VOCALOID][StudioOne] KAITO V3 とピアプロスタジオ
[VOCALOID] VOCALOID Deactivation Tool を使ってみました
[VOCALOID] VSTプラグインでVOCALOIDの声を聞きやすくする
[VOCALOID] StudioOneFreeでVOCALOIDの声を聞きやすくする
[VOCALOID] SeeUのアクティベーション回数制限のリセット方法
[VOCALOID] 洛天依が届くまで
[VOCALOID] 洛天依を歌わせるには
[VOCALOID] VOCALOID3 Editor
[VOCALOID] VOCALOID2に英語の歌詞を流し込む(打ち込む)

以上、参考になれば幸いです。

2013年5月1日水曜日

[Application] Eye元気!2がmobileASCIIに掲載されました

Eye元気!2が「スマートフォン情報サイトmobileASCII(http://mobileascii.jp)に掲載されました。



mobileASCIIさんはアプリ紹介にとどまらず、最新のスマートフォン情報も掲載しているのでスマートフォンを買う予定の人からヘビーユーザーまで楽しめるコンテンツとなっています。

掲載していただきありがとうございました!