*〜日記〜*
11月20日(月)
いやぁ〜、国会がおもろすぎる(^^;.しかし、コップの水をぶちまけるほうもアレだけど、それを鬼の首を捕ったがごとく暴れまくる野党の馬鹿さ加減には開いた口がおさまりません(^^;.まぁ、どちらにしろ久々に笑わしてくれました.
で、ケフカ.↓に書いたように、とても人に言えないようなスーパーサイヤ人級のバグを修正したらあっさりとWin9x系で動きました(^^;;;.あと、チョコチョコと細かなバグを修正したので、それも含めて、というか、そっちがメインという噂もあるけれど、とりあえずアップしておきます.
しかし、24Bit96kHzのアナログ出力か出来るサウンドカードの音って、なんか6万のデンオンのCDプレイヤーに匹敵(というか、勝ってる??)してるんですけど(^^;;;.PCのサウンドカードからココまでの音がするとは驚きです.まぁ、冷静に考えると、単品のCDやMDのように電源、シャーシ、Disk駆動系、制御マイコン、などの部品が要らずに、純粋にDAC、ADC、発振機、アナログ素子に金をかけられる、と言う意味では確かに有利かもしれませんが、、、、いい音がします(^^;.
で、まるで私が7万もするオーディオカードを買ったような口調になっていると、お気づきの読者もいると思いますが、そのような些細な事は、あえて不問にしておきます(^^;
11月17日(金)
やっとこさ、Win9x系で音が鳴りました\(^o^)/.
今まではDirectSoundを使ったOut_DSoundプラグとwaveOutXXXX系APIを使ったOut_Mapperプラグがあるけど、なぜか2つともWin9x系で音が鳴らず...(-_-;).
とくにwaveOut系に至ってはデバイスオープン関数が「未知のエラーが発生しました」とほざくし.どうしようもなし.で、今日はDirectSoundがなぜなら無いかを調査.
でも、どう調べても正常にDirectSoundインタフェースを取得して、正常に初期化してる.なんで音鳴りませんの??ゲイツ殿!って感じ.で、ムカツキならがら、あれよあれよと調べてると衝撃の事実が!!(^^;.なんと、内部のPCMデータをDirectSoundバッファに書き込むスレッドの生成に失敗してる(-_-;)...そら、おとならんで.汗.
原因は_beginthreadex関数の引数のミス.それを直したらサックリ音が鳴るし(-_-;).
#でもWin2000ではなんでエラーにならなかったんだろうか??汗.
まぁ、とりあえず、めでたしめでたし(^^;.
11月12(日)
あれよあれよと、また1歳老けました(^^;...
10月29(日)
巨人が優勝してしまったーーー.やはり、審判を金の力で買●したと言う噂は事実なのか??
で、ケフカのプラグのアイディア誰か下さい(^^;;;.出来るだけ突拍子もないものがいいんだけど、理論的に、現実的に不可能なのはやめてね〜.
10月08(日)
やっとKefkaのインターフェースβ版完成.つーか、なんで俺がIFなんぞをつくらんといかんのだ!(^_^;).これでコアとプラグの作成に時間をかけられるので良しとするか.
しかし最近はアホ研究所が炸裂しまくってるのでどうしようもない.お手上げ.頼むから精神的に迷惑かけるのだけはやめてくれ.絵に描いた餅を追い求めるのはガキのころに卒業してて.社会人になって、空想ゴッコで給料もらうのは勘弁してください.大汗.
なんか最近TV全然見てないし世の中の流れが不明(いつもだけど(^^;).そういや、イギリス帰りの某氏はめちゃめちゃリフレッシュしてるし、なんかこっちは悶々とする(-_-;).
あ、ドラクエ全然やってないや(^_^;).まぁ、いいか.どうせやったらやったで、また飛ぶし.俺にはMAMEがあるからいいや.またスターフォースやってよ.汗.
9月24日(日)
オリンピック真っ盛り.とりあえずトルシエサッカー撃沈しました.まぁ、コレはなんとなく予想できたというか、弱小国がよくここまできたなぁ、って感じ.それよりも、ブラジルも決勝初戦で撃沈してどうするんじゃ(^^;.
あとは柔道で金と女子マラソンで金、むー、予想通りやん.もっと意外な競技で、ええっ!なに金とってんの??とかの驚きはないのか(^^;.
んで、ケフカ.Winのエキスプローラーを作ろうと四苦八苦するけど、シェルネームスペースへのアクセス方法がいきなり不明(-_-;).どうするね??いまさらドライブファイルブラウザなんぞ作っても意味ないしなぁ.
9月10日(日)
はやくも9月上旬が終わる...はや.
んで、ドラクエやってるけど巷の評判どおりよく固まる(-_-;).今日も2時間の冒険がパー.殺すって感じ.
それはおいといて、ケフカのコアのDll化を開始.が、しかし、Dll化するときにクラス定義内関数がImport側でインライン展開されてることに気づかず1日ハマる(-_-;).頼むからWarning出してください>VC++様.
あとInPlugを自作するのがうっとしくなってきたのでDirectShowを使うことに.早速ドキュメントを探すがVC++のHelp以外に見つからず.Webも探したけど日本語の解説とかのサイトは皆無.あっても海外の英語.(-"-;)....なんで?結局、MSのHelpとVC++のサンプルを見ながら理解するはめになるが、予想通り、切れそうになる(-_-#.なんでMSのサンプルソースは腐ってる?わざとか?って疑う(というか絶対わざとやってるに違いない).
切れそうになること数十回(数回切れたけど)、やっとMediaPlayerのAudio部分を抜き出したような入力プラグが完成〜(でもGraphにくっついてるRenderのプロパティってどうやって取得するの??).がー、釈然とせん.釈然とせんといえば、DirectShowStreamの時間の単位が100nmってのはやめて下さい.1(秒)=10000000(100nm)って感じで数値が爆発するので(というか64Bit整数なので扱いにくい.
はー、寝よ.
8月31日(木)
蒸し暑い.ひたすら蒸し暑い(-_-;).なんでも台風の影響らしいけど、なんで朝鮮半島に向かってる台風が東京の気温を上げる?たのむから気温を下げてくれ.
はーっ、盆休みも終わり、ドラクエも無事発売し(まだ買ってないけど)、三菱自動車は自爆してるし、なんか平和な世の中.そしてやる気も無い(^^;).
なんかやっぱりまとまった時間が欲しい.プログラムをはじめると1週間は集中したいが会社のおかげで時間が分断されて、気力が散漫になって途中で、
鬱になるっていう悪循環パターンが7月から続いてる.
なんとかならんもんかなぁ.もうすぐまた1年老けるし.汗.
8月5日(土)
自作PCのパーツが足りん.妹から「友達の家のマシンより遅い、速くして〜」という、いっぺん首しめたろかぁコラァ(-_-#)、な電話があったのでやむなくパワーアップ計画を立てる.が、どうも手ごろなHDDがない.あと手ごろなCPU.
HDDは10Gが余ってるけど、速度的に最近の狂ったHDDに及ばないし、CPUもいまどきP3-450じゃなぁ〜、っ感じ.
そうそう、カロリーメイトが復活してる.これで週末はカロリーメイトとリゲインだけの生活に戻れる.
8月3日(木)
メモリマップドファイルって便利すぎ.まいりました、って感じ.wavファイルとかを読み込むときにテンポラリバッファを作ってReadFileでセコセコ読み込んでいたのが馬鹿らしくなってきた.しかもファイルキャッシュはすべてOS任せ.余は満足じゃ〜(~^~).
7月26日(水)
FF9も終わり、仕事もひと段落したのでやっとケフカの開発に戻れる(^^;.ということで早速、某氏から指摘があった「プラグを変更するのに毎回ファイルのリネームはやってらんねーよ!」って言うありがたいお告げの通りにプラグ切り替えを実装.あと今月に入ってずっとやっていたコアのPlugを動かすスレッドを作り直してたのがやっと終了.これでソースの風通しがだいぶんよくなった.
と思ったら、なんかシークが死んでる(-_-;).まぁ、いいや、そのうち解決するやろ( -_-)
7月11日(火)
FF9のためしばらくお休み(^_^;)
7月4日(火)の早朝
いい事思いついた(^^;.
もし残響音が原音よりも先に聞こえたらどうなるか?
早速やってみよ.
6月29日(木)
最近、気分がむーむー星人になる.
しかし場当たり対応が多すぎる>某S●ny.さすがに7時30分出社&8時帰宅が3日続くと体が持たん(いつもは9時起き10時出社なのに).しかもバカ殿課長は自分の見積もりが甘くて予定が遅れたのに周りの人に休出を薦めるし.ほんまたのむで(正確には彼に頼んだからこうなったんやが...汗).秋葉でサバイバルナイフと覆面買ってこようかと真剣に悩む.
そんで、Sound関係.とりあえずゴールデンウィークに突貫工事で作ったKefkaのコアにいろいろ問題があることが露呈しつつある(17日の日記の非リアルタイムもそのひとつ).ちゅーことで前面書き直し決定(汗.これだけで2週間くらいはかかるかなぁ(絶対的な工数は3日(72時間)あれば十分だと思う).しかし7月7日はFF9が....
(ノ゚ο゚)ノ オオオオォォォォォォ-.
6月27日(火)
鬱
6月22日(木)
最近会社が忙しい...なんかLSIのレイアウト作業って突貫工事に近いものがある(^^;....寝る時間すらない.眠い.
オブジェクト指向を知ったところで道具としてのプログラム技術のレベルは上がるけど、今まで出来なかったことが出来るわけではない.C++は所詮道具.道具の使い方を極めても意味がない.その道具で何を作るか?が大事.そのときに初めて道具の使い方をキッチリ知ってるほうが良い、って事が分るわけで、はじめから道具の使い方ばかり説明されても、意味不明なVTRの説明書を読むように時間の無駄.挙句の果てに、道具を間違って使って、「めちゃ使いにくい〜」とか「全然役に立たん!」とかオトトイやってきやがれ!みたいな事になるし.
そういや、説明書ばかり読んでプログラマになったつもりでも、実はただの言語マニアになってる人が職場にいるな...
って、なんの話かというと日曜日に秋葉ラオックスでC++のコーナーの本をいろいろ読んでて思ったこと(^^;.んで、やっぱり道具より上のレベルの思考をうまく表現するのって難しいってのも同時に思う.なにか頭に新しいアイディアが浮かんでもうまく表現出来ないことが最近良くある.日本語で言っても、該当する概念をあらわす言葉がないし、無理にいうと伝言ゲームみたいにうまく伝わらんし(汗.結局、絵で書いてみたりしてるけど、なんかこううまく伝わる道具はないのか??(そういう意味では既存のプログラム言語なんてまったく話にならないくらいショボイ.まぁそれはそれでCPUを使うちゅー意味で特化してると思えばそれはそれでええんやけど、オブジェクト指向の本とかで「設計、実装が人の思考に近いレベルで実現できる」とか一般世界にまで拡張して書かれるとバカじゃねーの?とか思う).
どっかの本に書いてあったけど、「道具を決めると同時に表現の限界も同時に決まる」ちゅーのがなかなか真実を言い表してるような.人と同じ道具をつかって競争する限り、いかにして道具をうまく使うか?の不毛な現実が待ってるので、相手が刀で勝負を挑んできたらこっちは銃で撃ち返すのが、「勝ち負け」としては一番理にかなってるような気がする今日この頃.
6月17日(土)
ひたすらやる気がでん(-_-;).なんで?.
それはおいといて、ここんとこ、リアルタイムフィルタを考えるのをしばらくやめて非リアルタイム処理を考え中.O氏の言うようにSoundデータをStreamとして取り扱うのは確かに構造的には合理的で、美しい.それは認める.で、も、ね、やっぱり現実的には机上の空論に近いものがある.仮にフィルタが時間的に順方向データしか取り扱わなければStreamでモデル化してもそれはそれでいいんだけど、そんな都合のいいフィルタってそんなにない(あってもただのFIRとかIIRの教科書に載ってるようなものだけ).本格的に信号処理をやろうとすると入力信号に対してランダムアクセスは必須.そういったフィルタを連結するのはかなり無理がある(たとえ抽象レベルで可能だとしても実装でバグの嵐に見舞われそう.汗).「策士、策に溺れる」という有難い諺もあるのでリアルタイムフィルタと非リアルタイムフィルタを無理に統合するのはやめて分けることにするので.よろしく〜(-o-)/.
むぅ、字が詰まってて読みにくい(^^;).
P.s.
明日は秋葉に本買いに行こ.気分転換になるのか?(^^;)
6月11日(日)
雨にも負けず、VC++の謎アクセスバイオレーション攻撃にも負けず、脱力バグにも負けず、やっとMP3再生プラグの試作が完成.疲れすぎ.とりあえずMpeg123.dllとLameのソースをパクって作ったという噂もあるけど気にしない.既知の問題はSeekが遅いこと.でもこれは構造的な問題(フィルタ処理があるので、そのLatencyは絶対発生する)なのでなんともしようがないなきがする(^^;).
あと、自分でMP3のフレームヘッダーを調べてみて気づいたけど、世の中にあるMP3のフレームヘッダーって結構いいかげん.厳密にフレームヘッダをチェックしてシークするとシークミスが多発する(^^;).(6月10日版のケフカでフレームヘッダがおかしいMP3をシークするとヘッダを探してバーが動く様子がよくわかる.汗)
あ、太陽が出てきたので寝る.
5月31(月)
時間が無い.最近どうも生き急いでるような気がする(^^;.原因は会社で過ごす時間があまりにも無駄無駄無駄無駄だぁ(ディオ風に)なので.彼らは研究だと言い張ってるけど、どう考えても小学生の夏休みの自由研究レベル.脳が腐る.
しかしVGS1.4のク●ックが落とせん.サーバー混みすぎ.
5月28日(日)
なんとかDirectSoundが使えるレベルまで理解完了ヽ(^0^)ノ.とりあえずwaveOutXxxx系のAPIよりは何倍も使いやすい(例のごとく初期化云々の雑多な手続きはあるけど(^^;).これでPCM入力→PCM出力っていう部分は完了.いよいよ問題のMP3デコード部分とメインデッシュのフィルタDLL作成に注力しつつある今日この頃(^^;.
あ、CD吸出しクラス頼みます〜>O氏.
5月20日(土)
KefkaのGUIをダイアログベースで順調に作成してたら、DLL内部で作った設定ダイアログが固まって使えん(-_-;).
やっぱりGUIはまともにWindowにしたほうがいいのか??ブツブツ.
5月19日(金)
DLL内でダイアログの使い方がわからん.どうもDLL内のダイアログリソースがちゃんとロードされてないみたい.
それはおいといて、なんでMFCはこうも融通がきかんのや.WinのsdkプログラムとMFCプログラムの相性がすでに悪い.
たのむでゲイツ.
5月18日(木)
◎近日課題(数週間)
・WorkerThread内部の整理整頓(^^;)(超特)
・Plugで設定Dialogを提供する(特)
・CellSystemのβ版完成(細部を詰める)(特)
・Jar.dllのα版作成(急)
・Crystal.dllの設計(快)
・GoGo.DLLのパクリ
・WinAmpのプラグインパクリ
・MP3の再生方法の検討(衣○氏に任すのが得策?
◎中期計画(数ヶ月)
・DirectSoundを理解する
・PCMデータの厳密な位置指定をともなう変換をどうするか?
・WaveViewerとPlugの関係を透明的にする構造を設計する
・位相の取り扱いをどうするか?
・Impulse応答の有効利用(お手軽に効果がわかりにくい
◎長期計画(半年〜1年)
・サンプル毎の適応型線形フィルタで高域復元は可能か?
・複素空間でフィルタを構成して位相とゲインを同時に処理可能か?
・音波の群速度シュミレーションの効果はどの程度あるか?
・LSMアルゴリズムの音響シュミレーションでの効果を見極める
・3D音響シュミレーションに調和解析が使えるか?
・音響心理の知識をゲット
・Waveletの具体的利用方とは?
なんか問題山積や(^^;.