2005年2月28日月曜日
二次元DPの高速化
まぁ、修士論文なわけだが、、そのプレゼンテーションには当然のようにOOoを使っている。
こいつのHTMLエクスポートがかっこいいので。webにUPしてみた。
http://iipl.jaist.ac.jp/~a-noda/master_presentation/index.html
こんな感じにエクスポートできる。かっこいい。
matlabって便利だね
まぁ、ゲームなんか解析してると論理座標と物理座標が違う場合*1にあてずっぽで係数を求めるのも手だけど。アフィン変換行列を最小二乗で求めるのが一番楽チン。それがたったひとつの演算子でできるなんて。。。感動しました。
心入れ変えてoctaveだっけ?matlab互換系の勉強します
ネットゲームを思う
共通鍵でもいいから、暗号化ルーチンをstaticでリンクした状態で組み込んだほうがいいのかなぁ。そうしないとチートが簡単すぎるよね。でもそうするとサーバの負荷があがるんだよねぇ。。まぁ、てきとうなバイト列をXORするだけでもかなりちがうのかなぁ?
2005年2月26日土曜日
生体認証
http://www.nikkei.co.jp/news/keizai/20050226AT1F2501625022005.html
うーんカードのなかに生体情報を記録するのか。。。合理的にみえるけどちょっと心配。
カードに静脈認証アルゴリズムをのせるわけにはいかないだろうから、暗号化した特徴量ファイルが存在するんだろうけど。
それが解かれて、ネットにながされようものなら一生のその指の静脈パタンはつかえないんだろうねぇ。。手のひらに比べて指の方がスペアが多い分いいのか?
指の方が手のひらみたいなでかい被写体じゃないから赤外線カメラ+望遠レンズでねらわれる危険も少ないだろうからねぇ、極端はなしいつでもグーににぎってればいいのですよ。。
と、邪推してみたけど、ほんとのところはどうなんだろう。。
生体認証クラック
まぁ、当然どうやったらクラックできるかを考えるわけだが。。。とりあえず
エステ最強説
エステなら、服脱いで預けるという可能性もあるだろうし。足湯手湯で手足の静脈とりほうだい。
むろん指紋も、網膜だってよゆー。(網膜は、カメラ式ルーペみながらまつげ整えるふりすればいいのね)
偽造のためのシリコン樹脂とか購入しても怪しくない業種だし。
客の住所も生年月日も比較的あやしまれずにとれるし。
SFちっくだ。
2005年2月25日金曜日
プログラミング入門は数値計算から??
よくプログラミングを行うきっかけにゲーム作ろうというものがあるけど。。。
あれってほんとなのかなぁ?ゲームが好きでゲームを作るのを始めた人って他のゲームと自分ができることの差に愕然としてあきらめてしまうんじゃないんだろうか?
それなら、いっそ数値計算とか戦う相手がぱっと見みつからないのが良いような気がしてくる。むろんその数値計算の結果を使ってくれる人が必要なわけだけど、、、
ふつーのプログラマンな人は何がきっかけでプログラミングをはじめたんだろう。
2005年2月24日木曜日
ボランティアルートマネジメント持論
ボランティアでrootを預かることが有るわけだが、、、結論として。
root本人が個人流用していない鯖の安全性は保たれませんね。。。
rootが鯖の存在を忘れてしまってはもうおしまいorz.
なので、学生に鯖を管理させるときは積極的に個人流用を推奨すべきなんじゃないかと思う。
無論、それによって変なCGIを設置してそのCGIのセキュホをつかれる危険性もある。
でも、そもそもそんなレベルのボランティアに管理者がつとまるだろうか?
それを考えれば、その項目は無視していいと思うし。。。
問題は、、、個人流用を公にみとめさせる口実にセキュリティの向上のためって言っても、簡単には相手にされないことだ
2005年2月23日水曜日
それぐらいは対応してますよ。
それぐらいのフォールトトレランスのコードははいってますよ!
ってチャットで豪語したあとに、ソースをみたらなーーーんもはいってない。
ぽかーーーん、入れたつもりで入れ忘れ?・・・こわっ。
さらに。。。。。
追実験のために変形k-menasのプログラムを実行したら。。。記憶にないエラー。
ソースを読むと
not implimented:クラスタ消滅時のコード
ぽかーん。。。今までたまたまクラスタ消滅するパタンがなかったのね・・・
取りあえず、クラスタ数減らせば確率的にクラスタ消滅なくなるからいいか。。。
って、なくならない
パタン間距離データ一覧をみると。。。パターン1番とパターン800番の距離。。。aborted core dumped....
はい???データこわれてるじゃん
ちょーーーとほほな一日でした。
webシステムon qemu
意外と好感触かもしれない。qemu上にFreeBSDをインストールしてるだけなのだが・・・
一つのファイルをおくだけで環境がいっきに一式そろうのは楽ちんでよろしげな予感。
あとは、、実行速度のもんだいだけど。。webアプリぐらいならGHzマシンがあれば問題なさげ。
ちなみに、このwebシステムはイベント運営の支援システムなので、30分でセットアップ完了が信条。
2005年2月21日月曜日
skypeの飼い方
- 同時通話が5人?ゴミ!
だれかPC二台もっているひとか、VMもってるひとにルータになってもらう。
二台のPCのLine-in Line-outを相互につないでそれぞれの会議の主催者にすればOK
オーディオケーブルの途中に、イヤホン+マイクの音響カプラをつければ(無論mixerも可)
ルータになってる人も会話にわりこめる。
- 負荷たけーよ!
グラフィックの描画がむちゃむちゃおもい(ビデオカードのせい?)
とりあえず、通話をはじめたらskypeのwindowは最小化する
2次元DP
二次元DPをもちいたパタン認識を劇的に高速化するための手法を修論で発表したわけだが
それに使うプログラムを
http://iipl.jaist.ac.jp/~a-noda/2ddp/
に公開してみた。これでだれもが追実験ができるでしょう。
ってか、引き継ぎ先が学内にいないので、研究ネタを探している方ご検討くださいませ(w
取りあえずはクラスタリングへの適用かなぁ~使える研究としては。
2005年2月19日土曜日
2005年2月17日木曜日
2005年2月16日水曜日
曲芸
http://headlines.yahoo.co.jp/hl?a=20050215-00000018-mai-int
また曲芸に失敗してやんの。
政治とか、経済とか、戦争の問題をのぞけば非常に面白い試みなんだけどねぇ。。
次あたりカーボンナノチューブで網でも空にはるか?
えっ?C++って使われないの?
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20050215/156201/
ビジネスではC++はそんなに使われないのか。。。
ふつーに趣味プログラマやってるとC++は事実上の共通語と言ってもいいぐらい
みんな、知ってはいるとおもうけどなぁ、、、きのせいかなぁ。
私の周りでプログラム書いてる人はみんな取りあえずはつかってるなぁ。
ただ、研究室で研究の都合で仕方なくいやいやプログラム書くってひとには
たしかにC++しらないひともいるけど、、、。
2005年2月15日火曜日
存在ぐらいは公表しよう
今まで、必要性が謎だったので全然公表とかしてこなっかったけど。
ロボコン等で対戦形式じゃなくて点数を競うタイプの大会運営システム作ってます。
もう、かれこれ使いはじめて5年目のシステムになります。
- 機能
- 参加チーム一覧(一チーム二名固定だったりして(ぉ)
- 汎用チームチェック一覧表 (このチームにはパンフレット送ったとかチェックするチェックリスト)
- 到着管理 試合会場にそのちーむが到着したかを管理する。到着してない場合試合順表でチーム名が赤くなる.
- 試合順管理 試合順番を組み換えたりできます。未到着のチームを後回しにして試合順を自動で組み直す機能とかあります
- 試合結果記録 何本ゴールをきめたか?という情報を入れます
- リアルタイム順位&NEXT試合情報 現在の順位と次の試合の組をHTMLで表示します、プロジェクタで出力するのに最適
- 試合順印刷機能 試合順を印刷readyなHTMLで出力します。現在TeX経由PDF出力に改造中
- 試合結果印刷機能 試合結果を即印刷可能にします。
小学生なんかでも参加する大会のために、試合順を柔軟に入れ替えられるシステムになってます
というか、試合順を入れ替えても事務が死なないようにこのシステムはあります。(w
と言うシステムをFreeBSD+Apache+PostgreSQLな構成でつくってます。
内輪の運営部隊以外に需要ってあるのかのー?...
修論終了~
修論発表終了しました。学会にれたーだせばあとは終わりかな。
まぁ、そんなこんなで開発要員として復帰です。
がんばるです。
あっ、ちなみに今回2次元DPを利用したパタン認識を劇的に高速化したんだけど、
その研究に使うプログラムを公開予定です。
拡張性が高いつもりでつくってるので、自分でプログラムを0から書くのが
めどいひと、要ちぇきです。
2005年2月14日月曜日
BOF exploit
BOFで制御を乗っ取るプログラムを実際に書いてみようとおもって7年ぶりのx86アセンブラと格闘。
TASMとgasの違いにはまりながらも、writeシステムコールや、exitは使えるのだが、、、
肝心のexecveがうまく動かない。
アセンブラで普通に実行ファイルを作るとうまく動くのだが、BOFを利用して
ターゲットプロセスで、実行すると何故かexecveがだけがこけて帰ってくる。
どうしたもんかねぇ。
まぁ、検証用コード書くにはwriteで標準出力にだせればいいか。。。
やっぱりコーディングは楽しい!
論文発表の資料準備ができたので、コーディング開始。
やるしごとは4つほどある。でも気分は軽い。
コーディングはきっと楽しいことなんだね。
ダメ音楽にのせてお気に入りのキーボードを叩いて、世界を構築する。いい感じ
PHP発TeX経由PDF
まぁ、なんとなくカッティングエッジはできたかんじ。
あとは、document環境、tabular環境、数式環境用などそれぞれの場合での
エスケープ処理のしかたをしらべて正規表現と戦うだけかな。
2005年2月13日日曜日
2005年2月12日土曜日
2005年2月11日金曜日
ちょっとまてよ
http://www.atmarkit.co.jp/fnetwork/rensai/troutol04/02.html
POPを素で扱える人がこんな対応なわけないだろ。
いきなり、接続が切れるなんて。。。POPサーバの実装に問題あるんであって
文字化けレベルの問題ですませられないんじゃないのかい?
可能性としてはDiskIO errorも考えられるし、万が一何らかのセキュリティホール
があるPOPサーバで、core吐いてたらどうするねん。
DiskIO errorだったら、このさきまた同じセクタつかったときに同じ問題が
起きる可能性もあるし。。。。
最近のひとって何でも偶発文字化けで片づける風潮があるきがする今日この頃
2005年2月10日木曜日
コードは知識表現
http://d.hatena.ne.jp/suikyo/20050209#p1
まぁ、仕様書なんてろくすぽないじょうたいで、開発しちゃうようなサンデープログラマ
にとっては当然なわけで。。。。
論文に実装方法はのってません、先輩のプログラムを読むことにはじまります。orz
でも、そういうときでも楽しい瞬間がある。
しばらくコードをながめてると、その人の思考ロジックがよめて、だんだんと
そのひとがここで何を書いていて、これからどういう処理を組むかが予測できるようになる。
なんだか、ちょっと探偵ちっくで楽しい。
修論
まぁ、当然のことながら私は速攻学外ネットワーク公開するように図書館に申請だしたのだが
微妙に特許とか横取りされないようにきをつけないとね~という話しがあった。
むぅ、確かに今の論文の内容を馬鹿な会社に特許として取られるのは非常にイタイのかも
まぁ、修論発表の事実があれば既存の技術と言い張れるはずなのだが、、、
自信がない今日この頃。
恋愛診断
チャットでURLなげられたらやらなあかんかなっと。。
URLながっ!結果をGET methodにもたせる功罪について考えるのは後回しで。
キターー「論外」ゲットだぜ!!!! orz
まぁ、おこちゃまってことなのですかのー
2005年2月8日火曜日
2005年2月7日月曜日
やっぱり異色?
研究に使っているコードは、C++,perl,sh,SQLで構成されています。
ちなみに、画像パターンマッチングの研究です。
。。。。やっぱりSQLは浮くだろ..引継不能けてーい。ですなこのスクリプト群。
2005年2月6日日曜日
がんばれ、しのぽん。
古い話だが偶然みつけたので
http://blog.goo.ne.jp/hwj-sasaki/e/03037e24c2e9ff2c3920394c8133e46b
あ~しのぽん、きゅうきゅう言ってる。想像できね~(w。
まぁ、技術やですからね~。。。階段をパジェロで駆け上がる様な人に
法律的な問題を質問しても。。。
それとは関係なく、原告側のいい言い訳をおもいついた
私どものwebサーバ(CGI)は、RFCに準拠して作成しておらず。
RFCに準拠していれば、どのような文字列を流し込んでも良いという、
篠田氏の主張は筋違いであり、管理者の意図しない攻撃である。
われながら「うはっ」だが、以外といまの法律だといけるのか?
まぁ~大岡裁きのための法律だろうだからな~。穴だらけだし
2005年2月5日土曜日
キーボード
これええっ!って思って実験用PCのキーボードとしれっと付け変えてもってきた
キーボードの型番がふときになったので調べてみた
http://www.uac.co.jp/news/daily/031205/cmi-6d4y6.html
なるほど。サークル内で日立キーボードと呼ばれていたやつと同系統なのかな。
とりあえず、ストレス溜っているときに打つと一発で腕をやられてしまうのを
のぞくと良いキーボードだ。
2005年2月4日金曜日
XSL
chaoneの実体はXSLらしい。。。ということで
http://www.gingerall.com/charlie/ga/xml/l_lib.xml?s=org
とかが使えるsuikyoさんとかぼしゅ~(ぉぃ
いやC++でXSL使えればいいんだけどね。
たぶん、choneライブラリにさっくりなげて、品詞分解された結果をXML風にだして、
それをXSLにかませて、ちゃっちゃとアクセント情報とかを付与して、
できあがったら、それをDOMでよんで、
- 品詞ID,
- 活用形ID,
- 音素,
- 所属アクセント句が疑問系か?,
- アクセント型,
- 文章中で何番目のmoraか,
- 呼気段落で何番目のmoraか,
- アクセント句で何番目のmoraか,
- mora中何番目の音素か
- 各パラメータ(VOICE,PITCHタグの影響を時系列に展開)
に展開するプログラムを書ければ、gtalk_TNGの山はこえるね。
そこまで、展開されたら、あとは音響パラメータをYes/Noクイズにこたえてひろってきて
よーわからんけど、HMM合成のルーチンに投げるだけで音になりそう。
本家gtalkは音を全部生成するまでしゃべらんから、以下のようにパイプライン化するのが理想かな?
パイプライン化を簡単にするために、言語処理オブジェクトのインターフェイス
としては
setInputData();
fetchData();
の二つのメッソッドを持ち、以下のように動くと素敵だとおもいます。
言語.setInputData(text);//発話すべきテキストをすべて入れる
while(1){
extPhonome=言語.fetchData();//n番目の音素に関する全データを取得(上の箇条書きしてるの)
音声.setData(extPhnome);
sound=音声.fetchData()//ここでデータ数がゼロの場合を許容する
//(最初の2回はトライグラム分のデータが溜まってないので作りようがない)
//サウンドバッファに書き込む
}
ここまでくると、ソースをぱちってロ技研オリジナルのをつくってるようなもんだな。orz
ということでgtalk改良計画が始動した気分。
個人的な目標は、HMM音声合成の自由に表現を後付けできるというメリットをいかして、
掛け合い漫才をデスクトップででやらせる!
話者適応で、いろんな発話モデルをさくさくつくって、キャラの量産に耐える。
無論、掛け合い漫才だから、複数人の音声をかぶらせて発話するなんて事も必要だし
立体音響も必要になるかもしれない。
でもそこがおもしろいんじゃないかな。
吹き出しテキストの音声じゃタイミングとか、感情を表現するにはすこしだけ弱い、
そのテキストを補完するための音声。そんな使い方がいいかなと思う今日この頃。
#ちなみに、テキストだけより冗長でも音声もあったがいいとおもったのは
#IRCの音声読み上げを見てから、文章を読む負荷が音声があることで軽減されたきがする
#無論バックグラウンドnoticeって側面もあるけど
コンピュータで何を学ぶか
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20050203/155666/index2.shtml
コンピュータの操作方法を学ぶのはナンセンス、たんなるツールである。
教育者としては、科学を教えなくてはならない。
なんだか、とっても当たり前のことなんだけどはっとさせられるような気がする。
まぁ、現実問題パソコンの操作方法なんて子供には教えなくても勝手に覚えるしなー。(ぉ
むしろ操作方法とかくだらない事を教わらなきゃいけないのは、先生のほう(w
報告書パソコンで提出しなきゃいけなかったりするからね。
自分が苦労して覚えたことは教えたくなるんだろうね、どうでもいいことでも。
それが例え、時間の無駄でも。orz
2005年2月3日木曜日
gtalkについて
今日わかったこと
文章{
呼気段落{
アクセント句{
アクセント型
疑問計であるか?
mora{
品詞ID
活用形ID
活用型ID
音素[]
}[]
}[]
}[]
}
という構造のデータ(ちなみに[]は配列を意味する)どうにかして作る。
という作業のぶぶんがすげーコード的にいけてない。
ちなみに、このデータは、音素列とそれに不可するアクセントの系列と
おもってもらえればいい。
でこの系列データをのうちの一つの音素をつくるときには、
まずその音素を中心にしてトライグラムデータを作る
次に、話者モデルとして与えられているデータのうちtree*.infというファイル
をみて、自分のトライグラムがあてはまるかYes/No形式のゲームブックみたいなのを
たどって、音響モデルIDをひろってくる
ちなみに、音響モデルは、音素継続長、とかメルケプストラム係数とか、f0周波数の
平均と分散がはいっている。
その音響モデル(HMM)から最尤なパスを推定して、平均と分散にすぎなかったもでるから
一本連続値となったケプストラムとかピッチの系列をGETする
でF0にケプストラムからつくられるMLSAフィルタにとおすと音ができあがり。
gtalkの馬鹿さをどうにかする
デフォルトの辞書unidicがどうしようもなく馬鹿です。
ipadicあたりにかえましょう。そのさいにchasenrcを書き換える必要があります
ざっとこんなこんなかんじでOKです
http://rogiken.org/daemon/ipachasenrc
なおipadicは2.6.3のやつをつかいます
http://chasen.aist-nara.ac.jp/chasen/distribution.html.ja
2005年2月2日水曜日
gtalkのソースを読んだ。
あらかたよみおわったぜよ!
音声合成部のコアはじぇんじぇんわからんが、パラメータをひろってきて
つっこめば音がでるHMM合成系があるので、それにつっこむパラメータを
ひろいあつめるのがGtalkのコードの大部分らしい
つかれたにょ。後はこいつを適宜分離してモジュール化していけば
綺麗にまとまりそうにょ。
1.単純なテキスト置換(アラビア数字処理とか)
2.chasen|chaoneになげて品詞分解とか音韻しょりかしてもらう
3.chasenからの結果を後処理するPRONタグ等
4.morph、及び品詞情報からアクセントや音素等を含んだデータをさくせい
5.morph,音素列、アクセント系列等からmodel(検索キー)系列を作成
6.model(検索キー)系列と話者IDから、pitchや継続時間等のデータを
pdf(パラメータ分布ふぁいるの略??)ファイルからひろってくる
7.拾ってきたパラメータにPITCHタグなどの影響を加える
8.拾ってきたデータ系列から音声合成を行う
9.音声出力