2004/07/30

思想・哲学

道たるの道は常の道に非ず。
名たるの名は常の名に非ず。

続きを読む "思想・哲学"

| | コメント (2) | トラックバック (0)

2004/07/05

氷川清話 著:勝海舟

 昨日、書籍を整理しましたところ、「氷川清話」なる書物が出てきました。
以前、坂本竜馬に興味を持っていたのですが、興味を持つと、その背景などを
調べたくなり、いろいろな書籍を漁ります。
その分、買っておいて、読まずに本棚に埋もれるのも数が多い現状です。
時間を見て、読もうとは思っているのですが・・・。

 さて、「あ、そういや、こんな本買ったっけかな。」と取り出して、最初に目に入ったのは・・・!

続きを読む "氷川清話 著:勝海舟"

| | コメント (0) | トラックバック (0)

2004/06/26

連日の深夜残業はキツく、随分と眠ってしまったようだ。
とはいいながら、実は今日の朝3時まで、遠藤周作氏の周作塾「読んでもタメにならないエッセイ」を読んでいたのだが・・・。

続きを読む "痔"

| | コメント (0) | トラックバック (0)

2004/06/16

過去の日記 -2003/04/24 Thu 17:46 C MAGAZINE 2003-5月号

 C MAGAZINE 2003-5月号に、くじら飛行机さんの「さくら」についての記事が掲載されました。主な執筆はくじら飛行机さんに任せて、僕はプログラム関係のとこをチョコチョコと書いただけですが・・・(^^;

●プログラムのお話

 実は、僕自身Windowsのプログラムってのは、あまり経験が無くあの程度の記事でもかなりてこずりました。その点、初心者の視点から記事が書けたので、良かったかなぁ~とか思います。(本当かよ!?)

 実際、サンプルプログラムを書いたとき、エクスクルーシブの挙動がおかしいのですよね。(実際にプログラミングをしたのは、くじら飛行机さんですがね(^^;)
MidiOutLongMsg()関数をMSDNライブラリで調べてみると、メッセージを全て送る前に関数から処理が帰ってくるってのは原稿にも書いたんですけど、これが曲者で、当初ロングメッセージをすべて送り終わる前に、ショートメッセージを送っていたのです。すると、ロングメッセージとショートメッセージがぶつかるのです。もちろん、MIDI機器には正常なデータが送られなくて、誤動作すると。(なんか、システムも不安定になったとか聞きした。)

 実は、日本語のほうのMSDNライブラリにはたいしたこと書いて無くて、というか、間違えて翻訳されている部分もあるという・・・。コールバック関数に渡される数値の意味だとか、変数・構造体の説明だとかは、英語のほうにしか書いていないのです。英和辞典が大活躍!!(ブックシェルフだけどね(^^;)
くじら飛行机さんと、msnチャットで、お互いが持っている情報を交換し合って、最終的に、コールバック関数で送信完了メッセージを受け取って、MIDIプレイヤー側のフラグを立てるという手法に落ち着きました。(まだ、どっかに潜在的なバグが潜んでいそうです。ユーザー様のフィードバックをお待ちします。)

 僕自身、はじめて、MIDIのAPIを見たのですが、すごい使いにくい仕様なんですよね。MIDI規格で、非同期の31.25[kbit/s](スタートビット1、ストップピット1)と決まっているので、実際1Byteを送ろうとすると、約0.3[ミリ秒]時間を要するのです。MidiOutShortMsg()関数は、3[byte]単位で送信する関数なので、この関数呼ぶと、1[ミリ秒]処理が戻ってこないんですよ。「嘘だろぉ~~」と思ってしまいました。パソコンの世界で1ミリ秒は、大きいですからね~。いやー、どうせなら、1バイト単位で送信する関数が欲しかったですねぇ~。(ToT
 僕は、てっきりMIDIドライバーでストリームバッファ等が用意してあって、ショートメッセージや、ロングメッセージってのは、そのバッファに入れるだけだと思っていました。実際は、これらの関数って、デバイスに直接出力しているんですね。まぁ、ロングメッセージに関しては、ストリームバッファを(自分で)用意して、出力するわけですが。
 まぁ、ここら変の詳しい方法は、Cマガジン5月号を参照してください。もっと、詳しく書いてあります。自分はまだ見ていないのですが、付録CD-ROMに、MIDI APIがまとまっているはずです。

 僕自身、ハードウェアを制御するソフトウェアを書いていたので、その時の技術を説明しますと、WindowsみたいにAPIなんてものは、まずないので、自分でAPIに変わる関数を作らないといけません。MIDIプレイヤーを作るには、まずこのAPI に変わるもの、すなわち土盤から、設計するわけです。
 この土盤の設計が下手だと、演奏がもたったり、テンポズレが発生したりします。土盤を固めるのは、大事です。というか、MIDIプレイヤーは、この土盤が命です。
 ある1byteのデータを送る事を考えると、前に述べたとおり、0.3ミリ秒の時間を要します。すなわち、次の1byteを送るまでに、0.3ミリ秒もの時間を待たないといけないのです。何もしないで待っているのは、無駄以外の何者でもないので、皆さんは他の処理をやらせたいと思うでしょう。とすると、考えられるのは、「次に送りたいデータをどっかに退避しておいて、次の処理を行う」ことです。いま、送っているデータの送信が完了したら、どっかに退避しておいたデータを送ります。この「どっか」が、バッファと呼ばれるものです。FIFOバッファとか、Qバッファとか、ストリームバッファとか色々ありますね。まさに、それです。この土盤の上に、MIDIプレイヤーを築けば、安定した演奏が可能でしょう。

 この、バッファリングの処理は、Cマガジン3月号のWonder Swanの記事を書いた時に、一緒に解説をしたので、読んでみるのもいいかもしれません。

●さくらをつかった作曲

 記事最後の、さくらを使った作曲は梅本竜さんが書いてくれました。
なにか疑問があれば、本人か、さくらのコミュニティーに質問掲示板がありますので、そちらで質問するのも手だと思います。

 と、ここまで書いたはいいが、・・・
原稿にここのURLを書いていないので、誰が読むんだろう?
本名で執筆しているからS.W.の名前も出してないし。
多分、本名よりも、S.W.の方が知られているだろうし。

 と、なんとも微妙な日記になってしまった今日この頃である。

| | コメント (7) | トラックバック (0)

2004/06/13

古代中国の思想・兵法書

実家に帰ってみた。
自宅の方に無かったから、実家に有るかなぁ~と思っていたら・・・。
あれ? ・・・無い?

何が無いかというと、孔子の「論語」だったりします。
本屋に行っても、中国語の原文が書いてあるのはなかなか無くて、
中国語・書き下し文・日本語の翻訳文が載っている、貴重な本であったのですが・・・。

その代わり、6編全てが載っている六韜を発見!!。 もちろん衝動買い。
古代中国の兵法書は、人間を心理学の観点からも分析しているので面白いです。
軍隊を率いる上での、上司の在り方、部下のフォローの仕方などが、事細かに解説されています。
「マニュアル」といったハウ・トゥ本ではなく、要は、「物事の考え方」の説明なのです。
興味ある人は、孫子・呉子・六韜等の兵法書を呼んでみると良いかも知れません。

 お勧めは、
「中国の思想」全12巻  徳間書店発行

兵法書は、10巻の「孫子・呉子」。
全巻揃えようと思っているのですが、なかなか本屋になくて困っております。

| | コメント (2) | トラックバック (0)