2007年09月30日

はりぼー

ハリボー大人買いした!
合計2キロでけーー!
DSCF0421.jpg
全部自分で食べるわけじゃないですが。
ハリボー美味。

2007年09月27日

最近傍決定則(nearest neighbor rule)でパターン認識

以前、仕事先の人に「機械学習で良い本無いですか?」と聞くと「わかりやすいパターン認識って本が良いよ」と言うことでわかりやすいパターン認識と言う本を教えてもらった。

ちょっと最初の方だけ読んでみて、確かにわかりやすくアホな俺にもできそうだったので本の最初に載っている最近傍決定則を実装してみる。
この方法はめっちゃかんたんでサンプルをベクトル空間上の点として表し、入力のベクトルとのユークリッド距離を求め、その中で一番近いサンプルを答えとする。
今回は5x5の25マスに数字を書き、その数字を当てるというプログラムになる。
よって数字の求め方は25マスの点の有る無しを25次元空間上の点として、ユークリッド距離で一番近い点を答えとする。

実行結果は以下の通り。マス目をクリックすると黒と白が入れ替わる。
サンプルとの距離に閾値を設定し、それ以上離れると該当無しと判断した。
NN1.PNG
うむ、良い感じに認識できてる。
パターン認識おもしろー。

マス目をもっと増やして学習データももっと増やして手書き認識だ!と言う進み方もあるが、次はパーセプトロンやってみるか。

2007年09月26日

Antでビルドナンバー自動生成

Antでビルドナンバーを簡単に自動生成できることを知ったのでそのメモ。

まずbuild.xmlに

<buildnumber/>


と書く。
するとカレントディレクトリに「build.number」と言うファイルが作成される。
中身は以下の通り。

#Build Number for ANT. Do not edit!
#Wed Sep 26 13:21:46 JST 2007
build.number=4


ビルドした時間とビルドナンバーが自動生成される。
そしてこのファイルをjarの中に入れるようにし、プログラム実行時にjarの中のビルドナンバーファイルを読み込んでビルド時間とビルドナンバーを表示するようにすればOK。

これで「その実行ファイルいつのヤツだよ!?」なんて悩まなくても良くなる。
便利。

2007年09月19日

コリンマクレー事故死

さて、徹夜で仕事中な訳ですが・・・。

マクレー氏の死亡確認 ヘリ操縦中に墜落
マジか・・・。
コリンマクレー自身はめちゃ好きって言う訳じゃなかったけど、ゲームのコリンマクレーラリーはよく遊んだな。
WRCからは遠ざかってたけど別の方面で活躍していたようだし悲しい限りだ。
5歳の息子も一緒に死んでしまったというのもまた悲しい・・・。

いわゆる一つの時代が終わったというヤツなのか。

2007年09月18日

初音ミク

某動画サイトで流行っている音声合成によるバーチャル・シンガー、初音ミクの論文が今年のEurospeechに出てるという話をEurospeechに行ってきた人から聞いたのでちょっと論文を読んでみる。
と言っても音声合成の分野に詳しいわけでも何でもないので素人レベルですが。

ページ数は2枚なので技術的にあまり深くは書いてないようだ。
1ページ目にVOCALOIDの製品の歴史と紹介、2ページ目にシンガーライブラリ(音素データ)、音声合成エンジンについて書いてある。

音声合成のしくみとしては、声優を使っていることからわかるように大量の音素のつながりをサンプリングして、入力されたスコア(音程と歌詞)からサンプリングデータを選択し、音程を変えたりして音素を連結しているようだ。音素の連鎖はたとえば英語の場合だとC-V V-C V-Vの連鎖を録音するとのこと。この辺を見ると他にも3音素連鎖もあるようなので、こういう3音素連鎖が必要な箇所では初音ミクはちょっと違和感のある合成になってしまうんだろうか。
サンプル数は1ピッチで2000ほどって書いてあるなぁ。サンプル合計数は書いてないけど結構な量だろう。声優さんも大変だったのでは。

効果的にサンプリングするために特別なスクリプトをデザインし、収録音声データを半自動的にセグメントに分割し、必要なセグメントを抽出したとある。そしてこれらのサンプルはピッチを変更して、3ピッチの範囲の出力に使われているようだ。それで高音でも低音でも割と自然な音声合成になってるんだなぁ。
もちろん元の声優さんの出る音の高さ以上は無理矢理音声合成してるだろうけど。低音すぎると微妙なのはそれが原因かな??

音声合成エンジンの話になると、音声合成に関する知識のバックグラウンドが無いからよくわからなかった。FFT(高速フーリエ変換)やIFFT(逆変換のFFT)はわかるけどSTFT(短時間フーリエ変換)って何のためにやってるんだろう。FFTじゃダメなのか?よくわかんない。

後はサンプリングしたのを繋げるときに、なめらかに音を繋げないとダメだよとか、綺麗な和音を出すために波形を修正しないとダメだよとかそういう話。んでこのペーパー唯一の式がその修正値の算出方法の式のようだ。この辺になると英語読むの疲れてあまりちゃんと内容読んでないので適当かもw


うちの研究所は隠れマルコフモデルで音声合成するって言う方法でやってて、割と良い感じに合成できてるんだけど、初音ミクは違うらしい。Wikipediaで調べてみるとDiphone合成って方式になるのかな?音声合成に詳しい人多いから機会があれば深く話聞いてみるかー。

2007年09月14日

夢と現実の境界線は濃くなった

タイトルに意味はなくただの日記。タイトルはとある歌詞から。

幕張メッセで10月2日から始まるCEATEC JAPAN 2007に出展するんだけどまだ全然できていませんよw
明日は休日出勤だぜ(>_<)


Googleの面接試験、一体どのような質問をされるのか?

1.スクールバスにゴルフボールは何個入るか?
3.シアトルのすべての窓ガラスを洗浄するとして、あなたはいくら請求しますか?

ふむふむ、いわゆるBack-of-the-envelope calculationてヤツですかな。時間がないので問題はやらないがw
プログラマのうちあけ話を読んでるとよくわかる。この本お勧め。紹介していただいた某氏にも感謝。


Googleの検索結果ページは画像を一つしか読み込んでいない
この辺もさすがGoogleってかんじ。
こういうちょっとした技術を積み重ねるって言うのがなかなかできないんだよね。
画像をまとめるとHTTPリクエストの数がかなり減るので結構効果あるんじゃないかな。

あと昨日見つけて腹筋が破壊されるほど笑った動画。

るろうにの二重の極みの海外吹き替え版があまりにおかしかったので、それをチョコボの音楽に乗せたヤツ。
とりあえずこの動画の作者が病気なのはわかった。
フッタエ♪フタエノ♪キ、ワ、アッーー!!と、不快な黄ばみッ!!で腹筋崩壊。

ニコニコはホント無駄な才能がほとばしる電脳スペースですね。


闇金ウシジマくんの最新刊を買う。
「フリーターくん」編の終わりまで載ってるんだけどなかなかいい話だった。
丑嶋の罠により家を取られた宇津井家なんだけど、そのことによって鬱々とした毎日から脱出したフリーターくん編の主人公宇津井優一。毎回それぞれの話の主人公が殺されたり廃人になったりと悲惨な話が多かったけどめずらしくハッピーエンドっぽい感じだ。

ストーリーの最後、宇津井優一が言う。

 人生の落とし穴がそこらじゅうにあいている。
 ちょっとした穴に見えても 実際、深すぎて、一度落ちたら上がれない。 
 でも、本当は…………

 誰かが手を差し延べてくれたら、
 簡単にはい上がれる程度の穴なのかもしれない。

なんだか、ふむぅ・・・と考えさせられてしまった。
それにしても話がリアルで読んでる方が鬱になるな。
俺も基本は引きこもり体質なのでどっかで転けたら宇津井のようになりそうで怖い。
がんばって毎日を両足ついてしっかり生きていかないとな。

さて、仕事するか!3連休のうち1日は休んでおきたいしな!

2007年09月その他のエントリー