戯言徒然日記開発日記東方DTMC/C++DoJaLuaCG備忘録
気が向いたら創作活動とかしてる人のチラシの裏。
--.--.-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2008.02.29 Fri
 いろいろとコード読んだりして気持ち悪いにふです。こんばんは。あ、気持ち悪いを私に修飾しないでくださいね;・・・すいません、あまり否定はしませんよ。゚(゚´Д`゚)゚。

 では本題。DoJaにおいてはzip(Jar)に圧縮したファイルの読み込みはできます。しかし、zipに圧縮して保存など標準ではできないんです。現時点で頭にスタックされていた最後のアイデアが、これの解決です☆
続きを読む
スポンサーサイト
2008.02.29 Fri
 実用化できたらやばい技術で話題に挙げているテクニックについての情報。誰もが思いつくと書いているように大したことではないですが、場合によっては有用なこともあります。ということで何かしらのアイデアにつながればいいかなっと思って書いてみます。
2008.02.29 Fri
 頭の中にあったアイデアを一つ消化してみた。ちょっとしたテストコードを書いただけですが;
2008.02.28 Thu
 数学ライブラリも拡張した!ということで本日はDoJaのTransformクラスを自作してました。数日前からつんさんと話してまして、私が行列ほとんどわからないってことで作成を依頼していました。依頼したとは言え何もしないわけにはいかないので、行列の演算について少しばかり勉強しました;すでに昨日の時点でクラスをいただいていたので本日かなりの最適化を施して速度差を計測したんですよ。
2008.02.28 Thu
 眠いです。寝る前にたまには記事を書きます。

 自作の数学ライブラリを強化しました。新設メソッドとしては、今まではint sin( int hoge ) しかなかったのですが、float sin( float hoge ) なんてのを追加。あとはfloatを引数にしたsqrtですね。もちろん戻り値はfloatです。
 簡単に言うとfloatを扱うメソッドを増やしました。そういう必要が出てきたからです(笑)

 速度・精度に関しても申し分ない模様です。速度はつんさんに協力していただいてN904iとSH902iの2機種でテストしてみました。結果は以下。

自作Mathクラス vs FastMathクラス(float sin( float hoge ) )
SH -> 1.8倍速
N -> 2.2倍速

まぁまぁの結果ではないかと。

ちなみに、intを返すsinについてもやってみました。

自作Mathクラス vs オプションMathクラス( int sin( int hoge ) )
SH -> 2.2倍速
N -> 4倍速

こちらは圧倒的ですね(笑)

sqrtに関してはだいたい1.7倍速くらいでした。floatの平方根なので使い道はあまりないですが;

 ということで、着々と幅を広げてます。現在この数学クラスを使う別のものを作成中。少しばかり引っ越しの段取りとかで忙しくなってきましたし、体調も気になりますが、以上で続けていることを報告します☆

 あぁもう眠い(´Д⊂ヽおやすみなさい(つ∀-)
2008.02.24 Sun
 どうも体調不良のようです;やる気がないわけではないみたいです。顔色が土気色で青白いと言われましたorz

 最近朝6時に寝て12時に起床する生活をしてましたのでその影響もあるっぽいですね。先月まではアルバイトがあったので適度にリセットされていたのですが、退職してから乱れてましたので;春以降こういったこともできません。そろそろ本気で戻さないといけないと思っています。

 ということで、非常に勝手ですが進捗速度を犠牲にさせていただきます。もう少しこの状態がひどくなると体壊しかねないのでご了承ください;現在持病ですがまた自然気胸にもなっているようですので・・・。最近健康診断を受けた際は良好だったのでまだ命には関わってないとは思いますが用心したいと思います。

 今後は生活習慣を正して健康を維持することを最優先にします。もちろん創作活動は続けます☆いろいろとご迷惑をお掛けしますがよろしくお願いしますm(_ _)m
2008.02.24 Sun
 書いては消して・・・として結局書くことに。

 今のやる気のなさはひどいです;サニールチルフレクションのアレンジが上手くいかない。゚(゚´Д`゚)゚。最近ずっとサニーサニー言ってますがサニー狂です。そのうちなぜかわかると思います(ノ∀`)

 アレンジですが、予想外に東の国の眠らない夜のアレンジが少しウケていたのであの路線にしようと思ったのですがなかなか;普段はダンス系というかトランスチックなのを作ってるのですが、加えるフレーズがどうしてもハードロック?というのかメロディカルスピードメタル?というのかの感じが出ないです。一時両方を混ぜてみようかと思いましたが力量不足で無理でした(笑)どうもベースがダンス系になるんですよねぇ;

 で、アプリのBGMですが、ダンス系でもノリノリでゲームできそうですが長時間聞くことになる曲ならば人によってはしんどいと思います(好みもあると思いますが;)。今公開している着メロもかなり音が詰まっている(中低音が飽和してる感じ)ので疲れる方ですよねー。音数を減らしていけばその分コーラスやエコー、デチューンといったエフェクトに回せますが、それを活かした曲に仕上げられない不安でいっぱいです。

 二次創作なので私が思うように作ればいいのですが、それが一般に受け入れられないのは辛いです。どうしてもあれでもないこれでもないと思い描くものに辿り着けない。割り切るところは必要だと思うんですがねぇ;うまくそういうのを調節できないのは自分の欠点です。直さなきゃ。

 結局、まとまりがないですね;いろいろ考えすぎのようです(笑)少し休んだ方が良さそうです。
2008.02.23 Sat
以下私的メモ。

MFiデータ(.mld)をループ再生させる方法は4つほどありそう。

とりあえずJavaDocにも載ってる初期化みたいなの。
// AudioPresenter を取得する
AudioPresenter ap = AudioPresenter.getAudioPresenter();
// トラックを指定する
ap.setAttribute( AudioPresenter2.TRACK_ASSIGNMENT, 0 );
// MFi を読み込む(リソースに sunny.mld がある場合)
MediaSound sound = MediaManager.getSound( "resource:///sunny.mld" );
try {
sound.use();
} catch( ConnectionException e ) {
e.printStackTrace();
}
// Presenter に MFi を設定する
ap.setSound( sound );

この後で、ap.Play();するだけで通常の再生。曲の末尾まで行くと停止してしまう。


ループさせてみる。同期設定はPlayを呼ぶ前に!

(1) AudioPresenter.ATTR_SYNC_ON 場合

/*
初期化とか
*/

// 同期イベントを発生させる
ap.setAttribute( AudioPresenter.SYNC_MODE ,AudioPresenter.ATTR_SYNC_ON );
// メディアリスナーを設定する
ap.setMediaListener( MediaListenerをimplementsしたクラス );


①AudioPresenter.AUDIO_COMPLETEを待つ場合
public void mediaAction( MediaPresenter source, int type, int param ) {
// 再生が終了した場合
if ( type == AudioPresenter.AUDIO_COMPLETE ) {
// 最初から再生し直す
((AudioPresenter)source).play( );
}
}


②AudioPresenter.AUDIO_SYNCを待つ
→AudioPresenter.setSyncEventで同期用のノートを指定する
(※あらかじめダミーのノートなどを入れておくなどしておく)

再生前に↓を実行して同期イベントノートを指定してやる。
// 同期イベントノートを指定する
ap.setSyncEvent( チャンネル, キー );

→mediaActionメソッドで対処。AUDIO_SYNCが来たらまた最初から再生。

③ループ指定をして再生する
これも再生前に指定してやる。AudioPresenter2のLOOPという点に注意。
// ループ回数を指定する
setAttribute( AudioPresenter2.LOOP ,AudioPresenter.ATTR_SYNC_ON );

※試してないけどおそらくこんな感じかな?

①~③の問題点は指定区間のループができないこと;
またデータがまずいのは承知だけどギャップレス再生のようなことがうまくできなかった。・゚・(ノД`)・゚・。
どうしても曲の末尾まで行くと少し間が空いてしまう。


そこで④の登場。

④MFiのループ命令を埋め込んでおく

CreativeStation様にて公開されている解析データを参考に。

有限ではあるものループ命令をネストすることで相当な回数をループさせることができる。うまく埋め込めばギャップレス再生のようなものもできそう(現在いくつかのノートがオフにならず困ってる;)

今のところバイナリエディタでちまちまと命令を埋め込んでいる;面倒orzそういうツール、もしくはMIDIから変換時になんらかの指定で対応してるなんてものはないのか・・・?orz

ちなみにバイナリエディタで変更する場所。

①ヘッダ部分のファイルサイズ(命令を埋め込むサイズ分+)
②トラックサイズ(同上)
③ループ命令を埋め込む箇所。

命令はトラック内でないと有効にならない模様。また①に関しては変更しなくてもエミュレーターでは動作可能。SH機のみでテストしものの①も変更しないとErrorとなる;
2008.02.21 Thu
 つんさんのところで紹介されています☆以前から書いている実験の成果を使ったモノ。マスタースパークです☆画像の使用を許可していただいてますので載せておきます♪

masterspark_tsun.jpg

(※私のアプリではないですよー;)


 中にはこんな処理実用できるの?って方が多いと思います。が、SH902においては余裕です。その他機種でもあまりコストは変わりません☆

 そもそもの始まりはエフェクトの一種として画像を透過させて、さらに裏側から見たようなものを作ろうと思って始めたのがきっかけです。通常のGraphics2などでは不可能なので3Dを使う私のアプリにアクセントがつけられるかなぁと思ったことではじめました。プログラミングに耽っていた1日目ですね(笑)

 ちょうどその時つんさんのところでマスタースパークについての記事を見たので、すでにできていたものを応用してサンプルを作ってみたという感じです。これを実用できるかどうかの実験はかなりやりました;同様の効果を得られるものをGraphics2で作成して負荷を計測したり・・・。結果的に3Dで作った方がはるかに速いことがわかりました。テスト終盤のつんさんを捕まえてそれはもう長々とやりとししながら作ってました(笑)(単位落としたらゴメンなさい;)

 忙しいながらもすでに用意してあった画像をつんさんにいただけたのでちょこっと加工して使ってみたときは笑いました(^_^;)同時に様々な応用が効くことで胸が躍りましたね☆今後はここからどのようなエフェクトや効果を出せるか、で競い合うことになってます(笑)

 ちなみにすでに考案だけしてありますがあと2つくらい面白いことをやろうと思っています。実験を担当する予定なので完成後は私のアプリだけでなくつんさんのアプリにも反映されるでしょう☆その上で双方がどのようなアプリを生み出すのか、は乞うご期待♪

 最後に、身の回りが落ち着きましたらサンプルコード付きで解説もしてみたいと思います。マニュアルなど読めばすぐできるとは思いますが、とっつきが悪い気もしますので;それにDoJaのマスコットカプセルに関する情報でサンプルコード付きのものは比較的少ないのが気になっています(^_^;)あまりコーディングや説明に自信はないですが、少しでも役に立つようでしたら使っていただきたいので考えています。




[付録]
 簡単ですが仕組みを。マスコットカプセルの加算合成を使って表現しています。四角形Primitiveを作成し、それにテクスチャを貼り付けて、あとは加算合成するだけと至って単純なものです。計測した限りでは背景などですでに3Dを使っている場合はGraphics2を使って加算合成するよりも高速に処理できました(アルファブレンドも同様の結果です。背景をOffにしても一応同じ結果にはなってます;そういうとGraphics2の意義が減算合成くらいに落ちてしまうかもしれないので参考までに)。縁の辺りの空気感はたまたま加工が上手くいったというのもありますが、テクスチャー画像の質で描画結果も大きく左右されますのでご注意を。
2008.02.21 Thu
 二晩共にした・・・二晩寝かせて熟したサニーをどうぞ☆耳コピの着メロです♪

♪サニールチルフレクション(DoCoMo端末向け着メロ)

sunny_mld.jpg

 今回からMLDのみとなります☆というのもつんさんの薦めでPSMPlayerで変換したところ予想以上に互換性を保てるという結果が得られたからです!ほんとさまさまです;ありがとうございました♪

(みなさんの反応を見て以前のも作り直す、もしくは変換しなおしたいと思っています。)

 この着メロはアプリで使うことを前提に作ったので今までのものよりはクオリティを高くできたと思っています;いつもは耳コピしたついでというような気持ちが邪魔して甘いんですorz
 Nとの親和性を高めるためにPCM音源搭載の機種は前回までに比べたら音が小さいと思いますがご了承くださいm(_ _)m

 完成してみると案外アレンジしなくてもBGMに使えそうですね(笑)これを聞いてるとアプリの演出とかが浮かんできます。このフレーズのところでこんな避け方ができたら・・・、こんなエフェクトが入っていたら・・・。妄想ですよ?(^^;)決して文花帖で言う東の国の眠らない夜のポジションに置こうなんてそんな・・・。


[追記]
 ニコニコ動画にSH902iでの音を録音してUPしました☆聞き比べたい方はどうぞー♪

【東方】サニールチルフレクションを着メロにしてみた【着信音】
http://www.nicovideo.jp/watch/sm2396107
Template by まるぼろらいと
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。