今作っているアプリ(コミケのカタログブラウザとか、デスクトップアクセサリとか)をLinuxでも動かそう、なんて思ったのが間違いでした。
現在の開発はVisualC#2008Expressで行っているのですが、MonoなるものをLinux上に導入すると、Windows上でコンパイルしたプログラムがそのままLinuxで動く、らしい。が、実際にはOSの違いやMonoで実装されている機能を意識しないと正しく動いてくれません。
たとえば、Windowsではパスを\で区切りますが、Linuxでは/です。ファイル名を直接プログラム上に書いちゃうと動いてくれません。また、Monoでは全てのライブラリがLinux上に実装されているわけじゃないので、Monoで動くメソッドとか気にしないといけません。
さらに、実装されていてもWindowsと挙動が違う場合があります(多分、GUI関連とか多そう)。あ、当然ながらWindowsAPIを直接叩いてるプログラムもアウトです。
いや~、この縛りプレイ?(縛りプログラミング?)が思いの外厳しい。簡単なプログラムなら楽にマルチプラットフォームを実現できるのですが、凝ったアプリになると途端にうごかな~い。実際には、上記以外にも色々色々色々めんどくさいので、ちょっと諦めモード。
2009年5月17日日曜日
コミケのカタログブラウザ
何を思ったか、コミケのカタログブラウザ作ってます。元々、公式のブラウザが使いにくいと思っていたし、データの保持にSQLiteを使っていると知ったので、SQLの勉強を兼ねて手を出してみました。
SQL怖い…。私はDB関連は全くスキルがないので、進まない進まない。クオート書き忘れに気づくまで3時間くらい潰したり、文字コードの変換が出来なくて数時間悩んだり。
コミケのカタログはSQLiteのバージョン2系なのですが、C#のライブラリからSQLiteを使う場合バージョン3系じゃないといけません。また、文字コードにUTFを使うので、文字コードの変換も必要です。DBの元データもあるので、自力でInsertでもしようとしたのですが、これも無理…。
結局、sqlite.exeとsqlite3.exeのコマンドを使ってDBの変換をすることにしました。SQLiteはパブリックドメインらしいけど、このexeも同じなのかしら?これ使えないとアプリの配布は無理そうだなぁ。
しかし、画像が寂しい。
SQL怖い…。私はDB関連は全くスキルがないので、進まない進まない。クオート書き忘れに気づくまで3時間くらい潰したり、文字コードの変換が出来なくて数時間悩んだり。
コミケのカタログはSQLiteのバージョン2系なのですが、C#のライブラリからSQLiteを使う場合バージョン3系じゃないといけません。また、文字コードにUTFを使うので、文字コードの変換も必要です。DBの元データもあるので、自力でInsertでもしようとしたのですが、これも無理…。
結局、sqlite.exeとsqlite3.exeのコマンドを使ってDBの変換をすることにしました。SQLiteはパブリックドメインらしいけど、このexeも同じなのかしら?これ使えないとアプリの配布は無理そうだなぁ。
しかし、画像が寂しい。
2009年4月23日木曜日
F#はじめました
ここ暫く新しい言語を学んでいないことに気付いたので、F#なんぞ勉強しています。最近、関数型言語の重要性を感じつつも、いざ勉強しようとするとGoodな言語が見つからない、って状態でした。
有名な言語はたくさんあるのですが、正直、実用性の面から全部却下してました。C#に関数型言語の機能が色々追加されているので、勉強はしたい。でも、実用的じゃないとダメなんです。関数型言語の解説を見てもアカデミック?な話ばかりで。アプリケーション開発にとって美味しいの?って思っていました。
優れた言語≠実用的な言語だと私は考えています。そこで見つけたのがF#。この言語、時期VisualStudioで採用される予定の関数型言語らしいです。.NET上で動き、慣れ親しんだライブラリも使えそう。さらに、C#との連携もできるので、F#に向いた処理をライブラリ化して、C#から呼び出すこともできる。実用までのハードルがかなり低そうです。
そんなわけで勉強中。以前(3年くらい前)、Haskellをちょこっとかじっただけなので、関数型言語に苦戦してます。とりあえず、F#で作ったクラスをC#から呼び出すまでは成功。
先は長い。
有名な言語はたくさんあるのですが、正直、実用性の面から全部却下してました。C#に関数型言語の機能が色々追加されているので、勉強はしたい。でも、実用的じゃないとダメなんです。関数型言語の解説を見てもアカデミック?な話ばかりで。アプリケーション開発にとって美味しいの?って思っていました。
優れた言語≠実用的な言語だと私は考えています。そこで見つけたのがF#。この言語、時期VisualStudioで採用される予定の関数型言語らしいです。.NET上で動き、慣れ親しんだライブラリも使えそう。さらに、C#との連携もできるので、F#に向いた処理をライブラリ化して、C#から呼び出すこともできる。実用までのハードルがかなり低そうです。
そんなわけで勉強中。以前(3年くらい前)、Haskellをちょこっとかじっただけなので、関数型言語に苦戦してます。とりあえず、F#で作ったクラスをC#から呼び出すまでは成功。
先は長い。
2009年3月2日月曜日
2009年2月9日月曜日
ソフト作成、どうしよ
何だかんだで、今作っている音声認識アプリはvistaじゃないと使い物にならない、という結論に。で、vistaには最初から高機能な音声認識アプリが搭載されている、と。
オリジナリティのあるギミックを考えないと、作る意味なくなりました。非常にぐんにょりです。
オリジナリティのあるギミックを考えないと、作る意味なくなりました。非常にぐんにょりです。
2009年2月3日火曜日
ぐんにょり開発中
どんな状態だ?と、自己つっこみをいれつつ、相変わらず音声認識。
調べていくうちに、今作っている音声認識アプリはVista以外では役に立ちそうもないことが分かってきた。Vistaに搭載されているのはSAPI5.3。それに対し、XPで使用できるのはSAPI5.1。このわずかな数字の間にはとても大きな壁があるんです。
今のところ、誤認識を避ける方法として、認識した結果の信頼値を判定しています。認識したものの、信頼値が低い場合には判定失敗、とすることで正確な判定を実現しています。ところが、どうもこの値はSAPI5.1では常に-1が返ってくるらしい。
この値を利用しないと、誤認識が酷いんです。逆に、現在Vistaでは音楽(歌詞あり)を聞きながらでも安定して音声認識が実現できています。音楽聞きながら仕事してるとき、"メモ帳"と喋るとメモ帳が起動します。XPだと、知らない間にメモ帳がたくさん起動している!となりかねません。
地味に音声認識もパワーアップしているんですね。というか、正直このレベルでやっと使い物になる、という感じですが…。さて、対象OSをVistaに絞ると、誰もこのアプリ使ってくれないよねorz
調べていくうちに、今作っている音声認識アプリはVista以外では役に立ちそうもないことが分かってきた。Vistaに搭載されているのはSAPI5.3。それに対し、XPで使用できるのはSAPI5.1。このわずかな数字の間にはとても大きな壁があるんです。
今のところ、誤認識を避ける方法として、認識した結果の信頼値を判定しています。認識したものの、信頼値が低い場合には判定失敗、とすることで正確な判定を実現しています。ところが、どうもこの値はSAPI5.1では常に-1が返ってくるらしい。
この値を利用しないと、誤認識が酷いんです。逆に、現在Vistaでは音楽(歌詞あり)を聞きながらでも安定して音声認識が実現できています。音楽聞きながら仕事してるとき、"メモ帳"と喋るとメモ帳が起動します。XPだと、知らない間にメモ帳がたくさん起動している!となりかねません。
地味に音声認識もパワーアップしているんですね。というか、正直このレベルでやっと使い物になる、という感じですが…。さて、対象OSをVistaに絞ると、誰もこのアプリ使ってくれないよねorz
2009年2月2日月曜日
2009年1月25日日曜日
2009年1月13日火曜日
Speech Commander設計からやりなおし?
音声認識の精度を高めるために色々と策を練っているけど、どうやら今の設計では実現出来そうもない。ぐわ~、クラス設計からやり直しだ。去年の11月くらいの段階で、もうすぐベータ版公開とか言ってたけど、全然ダメじゃん。
しかも、Vistaじゃないと使えない機能があるから、EeePC向けの開発スタンスも崩れた。うまくいかないね!色々と!
しかも、Vistaじゃないと使えない機能があるから、EeePC向けの開発スタンスも崩れた。うまくいかないね!色々と!
2008年11月15日土曜日
EeePCにマイクあったんだね
今更だけど、EeePC901-Xには標準でマイクがついてたんだね。知らなかった。よく考えてみれば、カメラが付いていて、skypeもデフォルトで入っていたのだから、マイクだけ無いのは不自然か。
実は、開発中の音声認識を利用したアプリのテストをEeePCでやったとき、マイクを繋ぐ前に勝手に認識を開始したことで発覚しました。最初びっくり。ラジオつけっぱなしだったので、おかしな文字列がガンガン表示されてしまったとさ。
しかし、これは嬉しい誤算。アプリが完成すれば、EeePCの操作性が格段に上がりそうだ。追加装備なしで音声認識による操作が可能になるのだ。キーボード小さくても、マウス無くても楽々PCライフ!
を目指してますよん。
実は、開発中の音声認識を利用したアプリのテストをEeePCでやったとき、マイクを繋ぐ前に勝手に認識を開始したことで発覚しました。最初びっくり。ラジオつけっぱなしだったので、おかしな文字列がガンガン表示されてしまったとさ。
しかし、これは嬉しい誤算。アプリが完成すれば、EeePCの操作性が格段に上がりそうだ。追加装備なしで音声認識による操作が可能になるのだ。キーボード小さくても、マウス無くても楽々PCライフ!
を目指してますよん。
2008年11月13日木曜日
VisualStudio2008 Standard Editionが欲しい
相変わらず更新してないですね。ソフト開発が忙しいから、と言い訳してみる。誰に?
現在開発中の音声認識使ったアプリですが、VisualStudio2008Expressで作ってます。しかし、Expressだとアイコンで困ってしまうのです。ツールバーに保存ボタンを設置したのですが、ボタンに載せるアイコンがないのですよ。Standard以上だと、「イメージライブラリ」なるものがあって、そこにアイコンがたくさんあるらしい。
アイコン自作とか無理。
ほしーなー、Standard以上が。確か、以前にもsubversionと連携するプラグインがExpressじゃ使えなかった悪夢が。
現在開発中の音声認識使ったアプリですが、VisualStudio2008Expressで作ってます。しかし、Expressだとアイコンで困ってしまうのです。ツールバーに保存ボタンを設置したのですが、ボタンに載せるアイコンがないのですよ。Standard以上だと、「イメージライブラリ」なるものがあって、そこにアイコンがたくさんあるらしい。
アイコン自作とか無理。
ほしーなー、Standard以上が。確か、以前にもsubversionと連携するプラグインがExpressじゃ使えなかった悪夢が。
2008年11月4日火曜日
Touchlessやりたい
音声認識に続き、面白そうな技術を見つけた。Touchlessというもので、Webカメラで認識させた物体の動きをとらえ、それによってPCを操作するものらしい。
これを使えば、音声認識+ジェスチャー認識により、マウス・キーボードの操作を置き換えることができるかもしれない。面白そうだ!
早速SDKをダウンロードしてみた。…あ、メインマシンにWebカメラ付いてないや。仕方なく、EeePCで実験。お、動くけど、CPUパワーが足りない!
今度Webカメラ買ってこよう。ちなみに、言語はC#らしいので私にはちょうどいい。音声認識プログラムもC#で組んでいるので、うまいことコラボさせたい。
これを使えば、音声認識+ジェスチャー認識により、マウス・キーボードの操作を置き換えることができるかもしれない。面白そうだ!
早速SDKをダウンロードしてみた。…あ、メインマシンにWebカメラ付いてないや。仕方なく、EeePCで実験。お、動くけど、CPUパワーが足りない!
今度Webカメラ買ってこよう。ちなみに、言語はC#らしいので私にはちょうどいい。音声認識プログラムもC#で組んでいるので、うまいことコラボさせたい。
2008年10月2日木曜日
2008年9月18日木曜日
EeePCで音声認識
EeePCで音声認識によるオペレーションとか出来ると便利かな?キーボードが小さいし、マウスがうまく使えないような場所もあるから、便利かも!と思って、現在アプリを開発中。
でも、考えてみたら外出先とかでPCに向かって喋るのはかなり抵抗が…。しかも、ちょこっと試してみた感じ、認識率が悪すぎて何回も言い直さないとダメだったし。む~、いいアイディアだと思ったんだけどなぁ。
このまま捨てちゃうのも無駄なので、音声認識使ったアプリの開発は継続中。
でも、考えてみたら外出先とかでPCに向かって喋るのはかなり抵抗が…。しかも、ちょこっと試してみた感じ、認識率が悪すぎて何回も言い直さないとダメだったし。む~、いいアイディアだと思ったんだけどなぁ。
このまま捨てちゃうのも無駄なので、音声認識使ったアプリの開発は継続中。
2008年9月13日土曜日
2008年7月22日火曜日
FlvPlayer作ってます
2008年7月21日月曜日
Airに苦戦中
登録:
投稿 (Atom)

