Monthly Archives: 2月 2007

MacBookは、ちゃんと電源を切ることにしよう

P1030408

ちょいと、やろうと思っていた趣味プログラミングでもしようかと、スリープ状態のMacBookを開いてみた日曜日。

いつまでたってもスリープから画面が表示されないので、仕方なく強制終了。

そして、起動するとカーネルパニック画面。

ここまでは、最近よくあること。

で、MacBookのMac OS Install Diskから、復旧しようと思ったら、さっぱり復旧できない!

Disk起動でも、同じくカーネルパニック画面に。

もー!なんなんだよー!

オレはテキストエディタに、チャキチャキと、コードを書きたいだけなのにー。

素直に起動してくれー。

3時間ほど家で粘って、どうにもならず、カーボーイハウスへ。

あそこにある他のMacの復旧系ディスクでなんとかなるかと思い、Mac Book Proのインストールディスク入れてみる。

このMac Book Proのディスクを入れると、「バージョンが違います、インストールできません」みたいなことを言われ、再起動すると、だいたい不思議とカーネルパニックが直るんですよね。

で、今回もこれであっさり直る。

しかし、休日の4時間くらいを、完全にドブに捨てた感じ。

もー、今後、MacBookはスリープにしないことにする。

ちゃんと電源を切ろう。

やっぱなー、Macも良いんだけど、夢のマシンでは無いよなー。

FL7のPattern Clipsを使ってみた

3_2

FL STUDIO 7の新機能であるPattern Clipsを使ってみました。

まぁ、これFL使ってる人しかわからないんだけど、打ち込み系のシーケンスパターンは、オーディオデータとは違う扱いに今までなってたわけです。

それが、同じように扱えるようにした機能がパターンクリップ。

どうも、どうやって使ったら良いのか、ちょっと悩んだんですが、わかってみたら簡単。

パターンを入力したら、Audio Clipを並べるところに、ペンツールなり筆ツールなりでパターンを描く。

って感じ。

さて、この機能を使って、新しいジングルを作ろう。

Googleで「検索」で検索

6

ネットを検索してたら、

「ひょっとしたら、まだ見ぬすばらしい検索サイトが、実はあるんじゃないか?」

と思い、Googleで「検索」と入れてみました。

だいたい見知ったところが出てきましたが、

表示順序がYahoo、goo、Googleって。

しかもGoogle、5番目か(笑

なんだか謙虚な感じがして、好感が持てる検索結果ですね(笑

「我々みたいな新参者、Yahooさんや、gooさんには、とてもとても!」

みたいな感じでしょうか。

まぁ、たまたまだと思いますが、結果に対して勝手に意味を考えてしまう、人間のサガですね。

VOCALOIDのテンポ設定

Meiko

VOCALOIDをたまに起動すると、いっつも

「これってどこでTEMPO設定すんだっけ?」

という悩みにぶつかるんですよ。

もう、あまりに忘れるんでメモ。

新規のプロジェクトを作ったら、画面を左のほうにスクロールしていく。

一番先頭に、120と書いてある(画像左)ので、これをクリック。

するとウィンドウが表示され、曲全体のテンポが設定可能に。

これねー、まじでわかりずらいよ!(笑

曲途中でのテンポ変更を考慮した設計なんだろうけど、VOCALOIDで作るのは部品で、それを他のDAWソフトで組み立てる人が大半だろうし。

画面に常に表示されてるTEMPO(画像右上)のやつからウィンドウ表示なり、ドラッグなりで数値変更できたほうがよいと思うがー。

というか、こいつが表示されてるから、ここで変更できるんじゃないかと、いっつも思っちゃうんだよなー。

このように、より良いUIデザインについて考えさせてくれるという点では良いですが、実用的にはちょっと残念。

でもまぁ、ここに書いといたから、今度からはここを見れば思い出せるでしょう。

役者になるには、左利きだとよくないかも

土曜に、池袋の映画館で「それでも僕はやってない」を見ました。

山本耕史が、主人公の裁判をサポートする友達役として出てきて、

「お!山本耕史!」

と、大河ドラマ新撰組!の土方役以来の、山本ファンゆえ、喜んでいたんですが。

で、映画を見てると、裁判傍聴してる山本が、メモをとるシーンがあるんですよ。

それを見ていて、

「あ、役者は右手で字を書かなきゃダメだな」

と急に思ったわけですよ。

なんだか映画を見てると、自分が出演することを急に考えちゃう時があるんですよね。

別に役者でもないのに。

で、自分が左利きなので、

「このシーンは、右手で字を書かないと映画を見てる人に、妙なひっかかりを与えてしまうかもしれない。」

とか、一人で思い、

「自分がこの役をやるなら、右手で字を書く練習を積んでおく必要があるな。」

と、誰からもオファーが無いのに、一人で思ってるという。

まったく意味はないんですが、そんなシミュレーションしてしまうことって無いですか?

いや、無いか(笑

映画は面白かったです。

そして、役者になりたいとも、あまり思ってないです。

なんだそら。

DoJaのアフィン変換

Affine

iアプリをチョコチョコといじってみてて、DoJaのアフィン変換描画を試してみました。

アフィン変換の行列計算も、難しくはないけど、なにげに面倒なので、計算結果でも書いておきます。

だれかの役に、たつんじゃないかなと。

作ってみたサンプルが、画像のやつで、こちら。

Qrcode_6
http://shin-ishimaru.cocolog-nifty.com/iapp/AffineDraw/Download.html

DoJaのアフィン変換描画APIがGraphicsの中にあります。

public void drawImage(Image image,
                      int[] matrix)


イメージに 2 次元のアフィン変換をかけて描画します。

イメージ上の座標 (x, y) の画素は、
以下のような行列演算によって求められる座標 (x’, y’) に描画されます。

 [ x']      1   [ m00 m01 m02  ] [ x ]
[ y'] = ------ [ m10 m11 m12  ] [ y ]
[ 1 ]    4096  [  0   0  4096 ] [ 1 ]

回転させて、指定の座標(dx, dy)に表示したい時は、回転行列に移動をくっつけて、

[ 4096*cosθ -4096*sinθ   dx ]
[ 4096*cosθ  4096*sinθ   dy  ]
[        0                0        4096]

とかしてしまいますが、これで計算してしまうと、画像の一番左上の点を軸に回転してしまう。

回転するんだったら、画像の中心を軸にして回転してほしいので、その分ずらす必要がある。

その移動量をex, eyとすると、

[ 4096*cosθ -4096*sinθ   dx  ][ 1  0  ex]
[ 4096*cosθ  4096*sinθ   dy  ][ 0  1  ey] =   
[        0                0        4096][ 0  0  1  ]

[ 4096*cosθ -4096*sinθ   (cosθ*ex – sinθ*ey + dx)*4096  ]
[ 4096*cosθ  4096*sinθ   (sinθ*ex + cosθ*ey + dy)*4096  ]   
[        0                0                             4096                     ]

これでOK。

ここまで来ると、もうひとつ欲張って、拡大、縮小も入れたくなってくるところ。

X方向の倍率をsx、Y方向の倍率をsyとすると、

[ 4096*cosθ -4096*sinθ   dx  ][sx 0  0][ 1  0  ex]
[ 4096*cosθ  4096*sinθ   dy  ][ 0 sy 0][ 0  1  ey] =   
[        0                0        4096][ 0  0 1 ][ 0  0  1  ]

[ 4096*cosθ -4096*sinθ   (cosθ*ex*sx – sinθ*ey*sy + dx)*4096  ]
[ 4096*cosθ  4096*sinθ   (sinθ*ex*sx + cosθ*ey*sy + dy)*4096  ]   
[        0                0                                      4096                     ]

これを、実際のJavaのコードで関数化して書いてみると、こんな感じ。

    /**
     * 回転、拡大して描画
     * @param i 描画するイメージ
     * @param x 描画する位置X
     * @param y 描画する位置Y
     * @param r 回転角度(4096MAX)
     * @param sx X方向の拡大
     * @param sy Y方向の拡大
     */
    void drawRotScale( Image i, int x, int y, int r, float sx, float sy ){
       
        int []m = new int[6];
       
        m[0] = (int)(Math.cos(r)*sx);
        m[1] = (int)(-Math.sin(r)*sy);
        m[2] = (int)(Math.cos(r)*(-i.getWidth()/2)*sx – Math.sin(r)*(-i.getHeight()/2)*sy + x*4096);
        m[3] = (int)(Math.sin(r)*sx);
        m[4] = (int)(Math.cos(r)*sy);
        m[5] = (int)(Math.sin(r)*(-i.getWidth()/2)*sx + Math.cos(r)*(-i.getHeight()/2)*sy + y*4096);

        g.drawImage(i,m);
   
    }

DoJaのMath.sin, cosは4096倍された数値が返ってくるため、コード上は計算式より、4096かけてるところが少ないのに注意。

ソースコードは、ここに置いときます。

画像は、んぱかさんのシューティングゲームサンプルから借用。

AffineDraw.zip

D703iでは、結構さくさく動作。

スーパーファミコンみたいで、良い感じですな。

drawImageに使われてる式が、なにげに4096かけたり割ったりしている、ちょっと変わった式なんで、計算してみないとよくわからず、計算してみたって感じですね。

MACで半角カナ入力

そういえば、どうやるわけよ?

と、MAC歴4ヶ月にして、急に思ったわけですが、ことえりでチェックすればよいとのこと。

さらに、半角カナ変換ショートカット。

opt+sで半角英数

opt+cで全角英数

opt+xでカタカナ

opt+aで半角カナ

opt+zでひらがな

ふむふむ、そうだったのか。

というメモ。

第三期電脳空間カウボーイズ録音機材

P1030386

第百四回からこれで。

なんか機材はこまごま変わってますが、とりあえずこれを「第三期」ということにしましょう。

ミキサーとMacBookのみ。

で、ThinkPadでオーディオインターフェイスとして使ってたキーボードは無しで。

ミキサーからMacBookのライン直で。

その上で、BootCampのWindowsXPで、以前通り録音。

結局、キーボードのドライバがこの前は、悪さしていたことはわかってたので、このセッティングで問題ないようです。

あとは、編集ミスに気をつければ、問題なしですかね。

んー、シンプルで良くなった。

色々と準備を進める今日この頃

P1030345

なんか、遊びとも仕事ともつかない、色々なことの下準備をしております。

まだ、どれも水面下で、進行中って感じですかね。

たんたんと準備中です。

最近思うんですけど、自分で勝手に面白がってやってることも、お金にならなくても一種の仕事だって気もするんですよね。

面白がってやってることで、自分が面白くなるなら、すでにそれが価値があるっていうか。

なんか、うまく説明できてる感じがしないけど、そんなことを思ったって話ですね。

しかし、おかげで結構時間はないんだよなー。

基本的には、いつまでだって、だらけてられる人間なのにねー。

まぁ、動けるうちは動きますか。

関係ないけど、写真は、だらだらVista特番後半で登場する、バナナチョコ生クリームと、男だらけのクレープ大会の様子。