di のすべての投稿

今、読んでる本。「人はなぜ話すのか―知能と記憶のメカニズム」。面白い。留守番君の開発に非常に役立つと思われる。読み終わったら詳細をコメントします。
–音声発声エンジンの開発
結局VC6で途中まで書いて、VS.NETに移行する方法。
ブレークってかからないのね。やむなく、ファイルダンプでのデバッグ。変数をがりがりファイルに書き出すところを勉強。SAPIにはロギング用のマクロが用意されているのだ。読み上げなければならない文字列の取得に成功。その他もろもろのパラメータも取れているみたい。なんだかよくわからないパラメータもちらほら。まだまだお勉強が必要です。

一応、3ヶ月ごとにファイルを分割することにしているので、開発日記を分割。
独立記念日が金曜日なので3連休。お休みを堪能しました。
7月4日独立記念日当日。昼間は友達数人を呼んで、バーベキュー。まぁお昼ごはんなので韓国風バーベキューでさらっと。。。でも食いすぎた。
夜はSF フィルの野外コンサート。SGIの隣にこんな野外コンサート会場があったのね。クラッシクのコンサートだけど、独立記念日にあわせて、カントリー調の曲が満載。最後には、独立記念日につき物の花火が音楽にあわせて打ちあがって、とっても感動的でした。まぁちとナショナリズムが強い気もするけどね。
7月5 日。ようやく、我が家にも米国版DVDプレーヤーが購入されました。今まで、日本版PlayStation2しか持ってなかったので、日本のDVDしか見れなかったのよ。とりあえず、古いほうのMatrixを調達して、映画に備えて学習。俺、古いほうのMatrixって見てなかったのよ。
7月6 日。SonyのMetreonでMatrix Reloadedをみる。IMAXのでかいスクリーンでやってるということなので、割り増し料金を払って、IMAXでみる。うーん画面がでかくて、酔います。映画自体は。。。英語がわからん。難しすぎるわ。。。。アクションは、CGが目立ちすぎ。まぁIMAXでみてるから余計かな。。。
さて、開発ですが。
— ひなのところの問題について
WindowHandle をとっ捕まえてくるところ、方法を変えました。まぁやり方は何通りかあるので、どれが一番適切かよくわからんけど、前のやつよりもコードが長い分、厳密に調べてる。結局、今まで動いてたのも、さくらのところで動いてたのも、運がよかっただけと言うことになりそうだ。Handleを取ってくるところ、ごそっと書き直し。でも苦労のかいがあって、ひなちゃんのところで、動いた。いぇ~い! とりあえず、XP系での動かない環境は現状では無くなった。ターゲットは、98&ME系に絞られる。XP系で動かない人がいたら教えてください。
んでも、やっぱり自信のないところって、最後までだめなのね。自信の無いところに問題が集中する。。。
— 音声発生エンジンの開発
.NET2003 でC++を使って、COMを書くのがうまくいかない。コンパイルは通ってるんだけど、ちゃんと起動されない。というか、開発環境が.NETになって、 IDLがなくなって、ヘッダに埋まるようになったんだけど、これがどんな構文なのかよくわからん。これが怪しい。また、SpeechSDKがMSDevを想定して書かれてるので、これに輪をかけてややこしくしてる。なんで、SDKを移植せねばならんのだ。IDLが自分の思うように書けないよぉ。古い環境で土台だけ作って、.NETに動かすとするか。MSDevが長かったので、IDLに慣れちゃってるんだよな。まぁSpeechSDKも古いししゃあないか。
日本語の 50音を自分の声で録音。ノイズやら無音部分を編集して、あいうえおの音素ごとに別ファイルに保存。こいつをつなぎ合わせて、文章を作ってみると。。。まぁ聞けるが当然、イントネーションおかしい。かつれつの無性に良いコンピュータが話している感じ。ただ、これはこれで、留守番の声だと言えば、留守番の声かもしれない。やっぱりイントネーションの処理を入れないとだめなのねぇ。そんな辞書どっかに落ちてないかな。単語と発音とイントネーションを書いた辞書。。。結局これも辞書しだいなんだよなぁ。こればっかりは、コーパスで学習ってのはしんどいぞ。。。まぁ何はともあれ、イントネーション無しで開発を進めるとする。
夜中に「あ、い、う、え、お」とか言って録音してたら彼女に、「あいうえおじさんという妖怪が昨晩家に出たらしい。」とからかわれた。まぁ確かに、夜中に、「あいうえお」とかゆーてたら怪しいわな。
.NET SpeechSDK Beta2が何故かWebからダウンロードできたので、ダウンロード。TTSには関係無い。つまらん。でっかいファイルで落とすの大変だったのに。圧縮を展開した時点でつまらんことが発覚して、インストールせず。。。インストールは、正式版が出たら考えます。なんか英語版の開発環境じゃないとうごかんみたいなこと書いてあるし。。
ふと気が付いたが、「留守番とーかー」って一発芸だよな。一発芸にここまで本気になって大丈夫なのだろうか。。。
— 98&ME対応
開発環境を調達するべく調査。仮想マシンのソフトを入れて、開発環境をスイッチできるようにするのが一番簡単かなと考えてみる。だって、98&ME系で. NET2003って動かないんだもん。デバッグの方法がリモートになっちゃう。ConnectixはMicrosoftに買収されてからどうにもWebサイトのやる気がみられないので、他のソフトをみる。やっぱりVMWareかな。んでも5万円か。毎度のことながら、Amazon.co.jpはこっちにソフトを配送してくれないし、Users-sideでは取り扱って無い模様。取り寄せ注文か。それにしても、5万円か。高いな。まぁパソコン買うことを思えば安いが、やっぱり高い。うーん。ちょっと悩ませてくれ。

一応さくらもちのところで動くバージョンをアップしました。
WindowHandleをとっ捕まえてくるところ、やっぱりなんか変。根本的にちゃんと作らないとだめかも。
ひなのところで、動くかと思ったけど、やっぱり状況は変わらず。
亀のところでも一緒。やっぱりだめ。
MSNエクスプローラを使ってサインインしたときに奇妙なことがおこる症状が発覚。これはちと運用で逃げてもらった。
うーん。奥が深い。
こんなんでは、とてもオンラインソフトとして公開なんてできないぞ。もっときっちりテストできる環境を整えなければ。。。

最新版アップしました。変更点は、
~をなみだっしゅと読んでいたが、それをーに変更しました。
ってなくらいです。
音声発声エンジンはちびっとちびっと書いてます。
さくらもちのところで、ちとリモートでいろいろ調査させてもらいました。うーん。すんげぇ助かる。やっぱりリモートで調査するのが一番早いな。
結局、Windowハンドルをとっ捕まえてくるところに問題があることが発覚。ひなのところも多分おんなじ問題だと思われる。違うかな?
今晩修正する予定。もしかしたら、週末かな?
また亀ちゃんの人柱が活躍しそう。。。よろしゅうね(ハート)

昨日日本から帰って来ました。無事OFF会は終了しました。えがった、えがった。
さぁ、これからですわ。このお部屋をどうゆうふうにしていくかってのは。ゆーきのドメインもあることだし、ちょっと気合入れてページ書きでもしましょうかねぇ。
専用のサーバー調達しようかな。うーん、迷うところだ。
配布CDがしーのの手に渡ってないことが発覚。ありゃ。アップデートしなきゃ。
ToDo
最新版のアップ
ひなとさくらもちのところで動かない問題の調査
音声発声エンジンの作成

ひなのところと、さくらもちのところで、声が出ない問題が発覚。時間切れ。OFFが終わったらじっくり対処します。うーん。原因がわからん。落っこちたりえらーが出るならまだしも、何事もなかったように動いてて、声だけ出ないってのは厄介だ。ひなのところは、コントロールパネルからだと声が出るんだよなぁ。。。動かない環境があると無性に悔しい今日この頃です。
留守番とーかーのインストールCD-Rを量産しました。16枚準備しました。まぁそんなにたくさんは必要ないでしょう。ラベル貼って結構ちゃんとしてます。コミケに出てるのってこんな感じなのかな?コミケって行ったこと無いけど。。。インクジェットでラベルを印刷したので、水にぬれるとだめになります。大事に使いたいかたは、クリアスプレーでも吹いてください。8枚同じ絵を印刷するなんてことはめったに無いので、ついでにプリンタのドライバの設定によって画質がどんなふうに変わるのか、いろいろ試してました。おかげで全部のラベルの画質が微妙に違うはずです。
最初は14枚の予定だったんだけど、焼いてる最中にエラーになってたCDを最後にもう一度試したら焼けちゃったんで、それを追加しました。エラーになったから、VOIDって書いちゃったのに、焼けてるし、読めてます。
音声発声エンジンの作り方がわかりました。これで、OfficeXPがなくても、留守番とーかーが話すようにできます。もちろん時間切れですので、次の半年のプロジェクトになりそうです。思いのほか仕組みは簡単。もちろん、ちゃんとした日本語で、抑揚をきっちりするのはすごい手間ですし、リエゾンやら省略やら鼻濁音やら考えて、自然な日本語を話すことを何年も研究してらっしゃる方がいらっしゃるほど、難しいことです。そんな高度なことはとてもおら一人の手で負えるようなもんじゃないです。しかし、SAPIが提供している範囲のTTSエンジンのインターフェースはさっぱりシンプルでした。考えてみれば当たり前だ。文字列食って、WAVを返すだけ。SRはまだ読んでないからわからないけど、SRに比べれば圧倒的に簡単だった。留守番とーかーの場合はきれいな日本語を話すのが目的じゃなくて、声が出りゃええからね。考えてみれば、昔のPC6601の音声だって慣れれば何言ってるかわかったんだから。。。ちょっと楽しいプロジェクトが思いついたのでうれしいです。さらっとテストプログラム書いてみてどんな感じか早くみてみたいな。ところで、NetSpeechSDKはいつになったら公開されるんだろう。。。
音声発声エンジンを作るにあたって、声優を募集するかも。。。
この発声エンジンが公開できたら結構有用だろうな。フリーの発声エンジンって見つからなかったから。多くの人に使われることになると思う。というか、フリーのがまだ出てないからマイクロソフトはフリーで公開しないのだろうか。。。フリーのがでたら、即マイクロソフトから公開されそうな気もするが。。。ちまたの売り物の発声エンジンのように抑揚をちゃんと処理するのは個人では難しいと思われる。サウンドプロセッサのプログラムのお勉強をしなくては。。。。
相変わらず直前までいじってますねぇ。時間切れでできなかったことがいっぱいあるなぁ。まぁまた次回のお楽しみということで。。。

ニックネームの予約が大変なことになってる。3文字以上じゃないと予約できない。「ぢ」というニックネームもこれまでか。ニックネーム変わっちゃうの、いやだなぁ。結構これ気に入ってたのに。。一応保険として、「管理人ぢ」というのを取っておいた。「留守番ぢ」の予約はちゃんとできたようだ。
留守番とーかーをベータリリース。結局95系はギブアップしました。OFF会が終わったらもう一度チャレンジします。
いにのところと、しーののところでちゃんと動いたのを確認。
セットアップの説明に問題があることが発覚。
~をおかしなふうに読むのでうっとうしい、という問題が発覚。
これらの問題は、OFF会で配布するCD-ROMでは修正される予定。

昨晩、Webでぶらぶらしてると、PC6001のソフトウエアの紹介のページを見つけた。 PC6001とは1980年中頃にNECから発売されたパソコンのことです。メモリ16kByte.CPU Z80-4MHzの時代です。エミュレータも開発されているようで。。僕が始めて触ったパソコンがPC6001でした。自分の家に初めて届いたパソコンはその後継機種のPC6601でした。ひさびさにその手の記事を見て当時の記憶がよみがえってきました。今見ても、MicrosoftのBASICはよくできてるなぁ。あのころのパソコンは機能が少なかったので力いっぱいその機能を引き出す努力をしてたなぁ。などなど、いろいろ考えちゃいました。当時は処理速度がどうのというよりも、色数がどうの、画面の解像度がどうの、音源がどうのとかで競ってましたね。まぁもちろん処理速度ってのも重要な要素ですが。。。SeeNaって言う、PC88用の有名なソフトがあるんですが、その作者の「たいにゃん」さんのページを見つけました。ちょっとだけ、SeeNa について書いてあるんですが、当時P6用に開発してたんですね。あと、P88のメインCPUだけでは処理速度が足らないからと、フロッピドライブ内蔵のチップにも処理をさせていたとか。恐るべし力技!こうゆうのがHackerですわ。僕は当時から見てHackerに近づいているでしょうか。。。職業としてプログラマをやるようになって、設計手法やら政治的戦略やら数学的論理によって開発を進めるような技術ばかり身につけて、純粋なアイデア、発想をする力はまったく成長して無いのではと考えさせられています。まぁそんなこと考えること自体がスランプなんだろうな。
とあるWebページであなたの適正年収を査定しますってなのがあったので、ちまちま応募してみました。まぁWebのフォームに書き込むだけですので、情報量が少ないですし、俺もいい加減に書いてますから、どこまで正確な査定になっているかわかりませんが。送られてきたメールによると、わたしの適正年収は現在の3 分の2から半分程度のようです。がははは。まぁそんなもんかもね。どっちにしても相変わらず日本ではSEに高く、PGに安いようです。

起動処理の部分を変更した。どうも起動処理が怪しいのではと踏んだわけだ。亀ちゃんのところで動作確認しよっと。
リリースに向けてEULAを書いた。Readmeも書いた。ヘルプ作らなきゃ。。。ヘルプが必要なほど機能無いんだけど。。。
EULAはかな~りきつめに書いた。もちろん、GPLじゃない。GPLを凄く尊重するがあまり、中途半端なEULAにしたくなかったので、Microsoftに近い形のEULAにしました。

天下御免のprintfデバッグ(もちろん出力はファイル)で問題を追求。昨日のAPIは動いてた。が、その次の処理で固まってる。う~ん。この処理のどこがあかんのやろう。現物をインストールするマシンがほしぃ!って言っても98ってどーせ使わないから無駄なんだけど。。。デバッグ用にひとつ調達しなきゃだめかなぁ。うーん。あとちょっとだと思うんだけどな。とりあえず、ひとつ思いついたので、それを試してみてから考えよう。
最近、すんげぇモチベーションが低いので自分のモチベーションを上げるべく、とある本を引っ張り出して読んだ。
ハッカーズ
こいつはもう俺が高校のときに読んだ本なんだけど、大事に取ってあります。
僕のエンジニアとしての夢の舞台がこの本に書いてあります。既に歴史の本になってしまって、今の実情とはなかり乖離している部分が多いのですが、昔はこうだった。こうゆうのがプログラマだってのがわかる本です。ただ、、、訳がきっついです。言葉が一致して無いので凄く読みづらい本です。