音楽 Feed

2016年2月10日 (水)

音源のサポート、少し時間がかかりそうです

テストを兼ねてCDをリッピングしてテスト環境に音源を設定していたところ、思いがけない問題に行き当たりました。まぁ、問題に行き当たるのは「常に予想外」なんですが・・・。

チャイコフスキーの交響曲第5番のファイル名で問題が起こりました。
Windows Media Player が作ったファイル名の一部(フォルダ名)に
「Tchaikovsky. Sinfonía nº 5 en Mi m, Op. 64」という文字列があったのです。

これの何が問題かというと、
・現システムは CP932 という文字コードで動いています。
・「Tchaikovsky. Sinfonía nº 5 en Mi m, Op. 64」には、CP932 には定義されていない文字が使われています。
なので、現システムでは、この名前の音源ファイルを扱う事ができません。具体的には「音源ファイルが見つからない」というエラーになってしまいます。

回避するのは簡単で、CP932 にない文字を CP932 にある文字に置き換える、削除するなどでOKなんですが、どの文字が CP932 にない文字なのかを見つけるのは大変です。
結局、疑わしい文字を片っ端から置き換えてやってみる事になるのですが、面倒。

Windows の文字セットは CP932 だったのですが、Vista の頃から unicode にも対応していたと思います。
でも、実際のファイル名などで unicode に出くわした事がなかったので、忘れていたんです。

CP932 をやめて UTF8 にすればいいんですけど、これ、面倒な作業になってしまいそうです。
どれほど大変かは調べなくては分かりませんが・・・
----------------------------------------------------------------------------------
以下、テクニカルです。

このシステムは Java で記述していますが、・・・

Java では文字は Unicode で表現されます。Java が Unicode を採用した当初は「1文字は16ビット」だったのですが、その後 Unicode が拡張されて16ビットでは表現できない文字(補助文字)が定義されているのです。
一方、Java で1文字を表す変数型 char はいまだに16ビットのまま。32ビットにしてくれれば良いのだけど、32ビットにすると互換性の問題が起こるんだそうです。そりゃぁそうだ。16ビットだと思って動いているJVMもあるだろうし、そういうのに32ビットデータを渡すとまずいよねぇ。

String などでは UTF16 が使われています。16ビットよりも大きな文字コードは2つに分割して(2文字分の領域を使って)表現されます。
これをサロゲートペアと言います。

このシステムでは出力が HTML なので、HTML で予約された文字はエスケープしなくてはなりません。
また、データベースに書き込む場面でもエスケープが必要です。エスケープするには、「1文字単位での処理」が必要なんですが、
現プログラムではエスケープ不要な文字は直接 Writer に渡して出力しているのです。ところが
javax.servlet.jsp.JspWriter.write(char) はサロゲートペアの片方は受け付けないのです。
char[] か String で出力するしかなさそうです。
という事は、エスケープ不要な文字を出力する場合は「サロゲートペアかどうか」を判断して・・・が必要になるんです。

となると、いきなり出力ではなく StringBuffer か何かに入れておくか・・・。

現プログラムではサロゲートペアが混ざると文字が化けまくるはずです。

サロゲートペアを扱う事自体は難しくはないのですが、面倒。
問題が起こる可能性がある所を洗い出して修正しなくてはならないのですが、かなりの個所を修正する必要がありそうです。
下手すると1週間くらいはかかりそうです。やれやれ。暫くの間は化け文字とお付き合いになりそうです。

2016年2月 4日 (木)

CD管理データベース・システムで音源をサポートします

ずいぶん久しぶりに書き込みます。前回の投稿から何をやっていたのかというと、

CD管理システムの「第2版の構想を練る~テストプログラムを作る」のをやっていました。

やっているうちに、リッピングした音源ファイルを検索結果と関連づけて、ブラウザで再生できるようにするのを思いつきました。
第2版の構想を練るのは一時中断して、再生するためのプログラムを作っていました。
こういうのを作るのはブログを書くより面白い・・・で、サボっていました。(ごめんなさい)

(注)リッピング
CDなどにある音楽等をPCに取り込むこと。CD上の音楽などは「ファイル」ではないので、単純なコピーではなくファイルへの変換が必要です。このため、「コピー」ではなく「リッピング」と言います。

リッピングした音源ファイルの再生は、テスト版が動作するようになった所で、これから本格的にテストの予定です。
順調ならば、リリースまでそれほど長い時間はかからないと思います。

で、どのような機能かというと、
・演奏編集画面でリッピングした音源ファイルのURLを入力する。
・検索結果表示画面、詳細表示画面などで再生する。
というものです。

アルバム検索結果(アルバム一覧),アルバム詳細、演奏検索結果(演奏一覧)、演奏詳細で再生する事ができます。
また、演奏編集では設定したURLが正しい事を確認するために再生する事ができます。

・曲または楽章を指定して再生する、曲に楽章がある場合は全楽章を連続して再生する。
・アルバム全体を連続して再生する。
・2枚組以上のアルバムの場合は、その全体を連続して再生する。
が可能です。

さて、音源は著作物なので、著作権法に違反しないようにしなくてはなりません。
いろいろ検討した結果「音源ファイルはサーバーには置かずローカルPC(各ユーザーのPC)に置く。」
という制限を設けました。つまり、【音楽配信はしない】という事です。

ところで、サーバーで作成したWebページからは、ローカルPCにあるファイルはアクセスできないのです。
これができてしまうと、悪意のあるWebページがPC上のファイルを読み込んで、
それをサーバーに送信する事ができてしまいます。これを防止するために、そのようなアクセスは禁止されているのです。

ローカルPCにある音源ファイルを再生するには、ローカルPCでWebサーバーが動作していて、
Webサーバー配下のフォルダに音源ファイルがなくてはなりません。
幸いなことに、 Windows では標準でWebサーバーが用意されているので、これを使えば簡単に動かす事ができます。
「インターネット・インフォメーション・サービス」がそれで、
「コントロールパネル~プログラムと機能~Windows 機能の有効化または無効化」で
「インターネット・インフォメーション・サービス」を有効にするだけです。(デフォルトでは無効になっています)

インターネット・インフォメーション・サービスは c:\inetpub 以下のファイルを扱います。
c:\inetpub\wwwroot 以下に(適当なフォルダを作って)音源ファイルを置けばOKです。

マッキントッシュにも同様の機能があるようですが、私、マッキントッシュは素人なので説明を書く事ができません。
インターネット上に情報があるので、それを参考にして下さい。いくつかのページを読んだところでは、結構面倒なようです。
説明文に「・・・次のようにタイプします。  sudo ・・・」とかがありました。
sudo って、UNIX/LINUXのコマンドじゃないの。普通のPCユーザーにはハードルが高いかも知れませんね。


最初はローカルPC(localhost)だけを扱うようにしたのですが、LAN上の他のマシンからも再生できると嬉しいので、
ローカルPCまたはLAN上のマシンにある音源を再生できるようにしました。インターネット上にある音源の再生はできません。


ここまで出来たら動画も・・・と思うわけです。オペラのDVDをリッピングして・・・
でも、これは出来ないのです。技術的にではなく法律的にできないのです。
どういう事かというと、「不正コピー防止」を外して(回避して)コピーしてはならないと決まっているからです。
コピー防止を無効にするようなソフトもありますが、リッピングした時点でアウトです。
罰則はないようですが、不正を助長するような機能を作るつもりはないので、動画はサポートしません。


というところで、今日はここまでにします。

2015年8月 1日 (土)

ギョエテ状態

前回、ベートーベンとベートーヴェンについて書きました。RecLic のようなデータベース・アプリを作っていると「べ」と「ヴェ」をどのように扱うかが結構問題になると書きましたが、実はもっと面倒な問題があるのです。

ビートルズのメンバーだった George Harrison は、たいてい「ジョージ・ハリスン」と書かれますが、「ジョージ・ハリソン」と書かれる
場合もあります。俳優の Harrison Ford は、たいてい「ハリソン・フォード」と書かれます。綴りは同じ、両方とも英語読みです。
同じようなのは他にもいっぱいあって、「ガーシュウィン」と「ガーシュイン」、「バーンシュタイン」と「バーンスタイン」
「ミヒャエル」と「ミハエル」「ミカエル」などなど。

現状の RecLib データベースには「ジョージ・ハリスン」が入っていますが、「ジョージ・ハリソン」ではヒットしないのです。
ベートーベンとベートーヴェンの問題は「ベ」と「ヴェ」を区別しないという方法で回避しましたが、「ハリスン」「ハリソン」などは
そのような小手先の、いわば「ごまかし」ではどうにもなりません。

どうするか(どう出来るか)を考えていたら「ギョエテとは俺のことかとゲーテ言い」を思い出しました。
文豪ゲーテは Johann Wolfgang von Goethe なんですが、この人のカナ表記をググってみると面白い。たくさん見つかりました。

ゴエテ、ギューテ、ギェーテ、ギョート、ギョーツ、ギュエテ、ゲォエテ、ゴアタ、グウィーテ、
ゲエテー、ゲーテー、ゲェテー、ギョウテ、ギヨーテ、ギョーテ、ギョーテー、ギヨテー、ギヨテ、
ギヨヲテ、ギヨオテ、ゲョーテ、ゲヨーテ、ゴエテー、ゲエテ、ギヨエテ、ゲイテ、ギョエテ、ゲーテ
この調子では、他にもありそうですね。

この「ギョエテ状態」に対応する検索エンジンをどうするか。検索条件入力画面で入力された文字列から検索すべき文字列を
作りだすのは不可能に思えるので、データベース上に表示用文字列とは別の検索専用の項目を用意し、
そこへ「ゴエテ、ギューテ、ギェーテ・・・」を入れておけばいい。「ゴエテ、ギューテ、ギェーテ・・・」のどれでヒットしても
表示するのは「ゲーテ」。いいねぇ。出来たようなもんだ。

ところが、これを実現するとなるとデータベースの表定義を変えざるを得ないのです。それも大幅に。
最初は人名だけで良いかと思っていたのですが、「○○の主題による変奏曲」なんて曲名があるし、人名を冠した演奏会場もあります。
アルバムタイトルに人名が含まれている場合もあります。結局、プログラムの殆ど全部に影響が出てしまいます。修正というよりは作り直し。
この問題に対応した検索エンジンを作るつもりでいますが、さて、何時出来ることか。何年か先になりそうです。

2015年7月29日 (水)

ベートーベン、ベートーヴェン、それとも・・・

「ヴ」という字があります。
国語の時間では「あ行には濁点、半濁点は付かない」と習ったのですが、「ヴ」が使われています。
小学生の頃、先生にだったか親にだったか質問した事があり、どうにも釈然としない変な気分だったような気がします。

「ヴ」は英語のB音とV音を区別するために誰かさん(確か福沢諭吉先生)が発明したのだそうです。
ベートーベンよりもベートーヴェンが元の音に近いんだそうです。
でも、私、「ヴ」をどのように発音するのか知りません。「ベートーヴェン」と書かれていても「ベートーベン」と発音します。
そりゃ~そうでしょう。日本語には「ヴ」という音はありませんから。
日本語には「ブ」と「ヴ」を区別しないと別の意味になってしまう言葉はないようです。少なくとも私には思い当りません。
でも、使われているんですよね。

RecLib のようなデータベースアプリを作っていると、これは困った事になります。
データーベースに入っている「ベートーヴェン」というデータを「ベートーベン」をキーとして検索しても見つからないからです。
これが見つかるようにするには、アプリで対応するしかありません。結局、「バ」と「ヴァ」、「ビ」と「ヴィ」・・・「ボ」と「ヴォ」を
同一視する事で解決しました。この「同一視する」は、まだテストプログラムを作って遊んでいた時期(ごく初期の段階)で、
どりあえず「この方法で良し」として作ったのが現バージョンのシステムです。
この時期には「ヴ」以外に「グラナドス」と「グラナードス」を区別しない(長音記号「-」を無視する)とか
「モーツアルト」と「モーツァルト」を区別しない(カナの大文字と小文字、アとァなどを区別しない)、
「交響曲第5番」と「交響曲第五番」(漢数字をアラビア数字に置き換える)などを行いました。 

システム作りがかなり進んだ頃、「ワーグナー」の問題に行き当たりました。ワーグナーは「ヴァーグナー」とも書かれるのに気づいたのです。
バとヴァを同一視するといった「小細工」で対策しているので、簡単に出来る方法は「ワ」と「ヴァ」も同一する事なんですが、
そんな事をすると「バッハ」=「ヴァッハ」=「ワッハ」、「ワカ様」=「バカ様」=「ヴァカ様」になってしまいます。
さすがにそれは出来ず、といって適当な対策も考えつけなかったので、これは放置しています。

それにしても

Ludwig van Beethoven は通常、ルートヴィヒ・ヴァン・ベートーヴェンと書かれます。でも、これ、変です。
Ludwig をルートヴィヒはドイツ語読みですが、ヴァン・ベートーヴェンは英語読みじゃあないですか。
英語読みならば「ルドウィグ・ヴァン・ベートーヴェン」くらいだろうし、ドイツ語読みならば
「ルートヴィヒ・ファン・ベートホーフェン」くらいだろうと思います。
元の音を表すために「ヴ」と書くと言いながら、前半がドイツ語読みで後半は英語読みとは・・・

元の音に近い、BとVを区別するならば、LとR、SとThなどは区別しなくていいのかしら。
「なに、日本人はライスを食べるのか。信じられない」とはアメリカ人の友人の言葉ですが、意味不明だと思います。
ライスがカタカナで書かれているから意味不明なのです。

「なに、日本人は lice を食べるのか。信じられない」(lice は louse の複数形、シラミ)
残念なことに、「ライス」の音は rice より lice に近いのです。だからと言って、ラ行にマル(半濁点)などを発明する気はありません。
どうせ聞き分けられないし発音できないから。

これを書いているうちに「Vを無条件にヴと書いたものがあるのでは?」というのを思いついたので、ググってみました。
そうしたら、けっこう見つかりました。

Tchaikovsky(チャイコフスキー)「チャイコヴスキー」「チャイコプスキー」
Herbert von Karajan(ヘルベルト・フォン・カラヤン)「ヘルベルト・ヴォン・カラヤン」
Carl Maria von Weber(カール・マリア・フォン・ウェーバー)「カール・マリア・ヴォン・ウェーバー」
Prokofiev(プロコフィエフ)「プロコフィエヴ 」
Rimsky-Korsakov(リムスキー=コルサコフ)「リムスキー=コルサコヴ」
Rachmaninov(ラフマニノフ)「ラフマニノヴ」

探せばまだまだ見つかるだろうなぁ。面白がっているうちはいいんだけど、これに対応したデータベースアプリとなると・・・頭いたい。

2015年7月 7日 (火)

アルバムのジャケット

Reclib 杉本です。久しぶりの書き込みです・・

アルバムのジャケットについてなんですが、話題はジャケットのデザインではなくて、ジャケットやリーフレットに書いてあるデータについてです。

「CD管理システム」がいくらか動くようになった時、デバッグ、テストのために自分が持っているアルバムのデータを入力し始めました。この時の印象は、「データの記述がいい加減」というものでした。正直、何とかしてほしい。
音楽は聞くべきもので、データをもてあそぶためのものではない。分からないなら、それでもいいではないか。・・・と言われれば、そのとおりなんだけど、気に入った音楽の事を知りたくなるのは普通でしょ。

曲名くらいは、きちんと書いてほしい。
あるアルバムには「A・コレルリ作曲、ジーグ」と書いてありました。アルカンジェロ・コレルリが書いた「ジーグ」は複数あります。
検索すると、合奏協奏曲第11番の第5楽章、同12番の第4楽章が見つかりました。詳しい人ならば聞けばわかるのでしょうし、ひょっとすると、専門家(音楽家、演奏家)には常識なのかも知れませんね。○○は良く演奏されるが、△△は殆ど演奏されない。だから、A・コレルリのジーグは○○である。コレ、常識。とかね。でも私には分かりません。ちゃんと書いてほしいなぁ。

作曲者、作詞者を書いてほしい。
クラシック以外のアルバムでは、作詞者、作曲者がきちんと書いてないものが多いのです。書いてあっても「C. King」程度のものが多い。曲名と「C. King」でググったらキャロル・キングだと判明したのですが、あまり有名ではない人、曲の場合だと、関係のないページばかりがヒットしてどうにもならない。ヒットするのは、それが収録されたCD(を売っているオンラインショップ)のページばかり。何時間かねばったけれども分からなず、結局あきらめた物もかなりあります。

演奏日時、演奏場所も書いてほしい。
クラシックの老大家のように、同じ曲を何度も録音している場合、いつ演奏したかはとても重要だと思います。新人演奏家の頃の演奏、円熟期の演奏、指揮者は別として、体が衰えてからの演奏ではかなり異なります。

ジャズは変化が激しいので、同じ人でも年代によって全く違うスタイルだったりするからか、概ね書いてありますが、クラシックには書いてないものが多い。

何故書いてくれないんだろう。紙面の都合で・・・余白、あるじゃないですか。活字とインクの節約・・まさか。

でも、上に書いたことはデータを入力するために読んで初めて気づいたわけで、それまでは普通に聞いていました。という事は、「どうでもいい」事なんでしょうね。きっと。 

2015年6月29日 (月)

名曲喫茶「時の回廊」

「音楽喫茶」や「名曲喫茶」「ジャズ喫茶」は昔からの店が相次いで閉店してしまい、今や絶滅危惧種です。
ところが、今年(2015年)に開店したお店を見つけました。お店の名前は「時の回廊」。
Netで見つけて、「新規開店の音楽喫茶・・これは行かなくては」で、行ってきました。

お店に入ると、やや暗い。ダークな内装、落ち着いた色の椅子とテーブル。一瞬で店内を見回して席を決めて・・とはいきません。
フロアはフラットではなく、意図的に段差が付けられた凝った作りです。
「どうぞ、お好きな席へ」・・・でも、席に座るまで少し時間がかかってしまいました。

今風のカフェによくある、明るくて機能的とは正反対で、落ち着いた「スロー」な雰囲気です。
飲み物を注文して店内を見回すと、古い物が置いてあるのに気付きます。
古い楽器(ハーモニウム、コントラバス)、蓄音機(ビクトローラ卓上型)、古い大きなラジオ。
壁には作曲家たちの肖像画やセピア色の写真、それから古い時計がたくさん。木で作られた席の区切りから、何故か蓄音機のラッパが生えていたりします。

「名曲喫茶」なのでクラシック音楽が流れていますが、音量は控えめ。スピーカーも目立たないようにおいてあります。
音楽を「押し付ける」感じでないところが良い。おしゃべりをしていると、難しい顔のマスターがガンを飛ばしたり、といった昔風の「名曲喫茶」ではありません。

音源はLPとCDが1500枚ほどだそうで、リクエストにも応じてもらえます。
音楽を聴きながらコーヒーを飲んでいると、コーヒーが冷めるのが速いこと。時がゆっくり流れるのではなく、そこにいる人がスローになるようです。
気に入ったぞ。2日後にまた行きました。写真を貼り付けようかとも思ったのですが、ぜひ自分の目で見て感じてほしいので、写真はなしです。

メニューはコーヒー、紅茶、オレンジジュース、ジンジャーエールとケーキセット。

難点はウチから車で約1時間かかること。道中はちっともスローじゃない。行きはいいとしても、スローなまま帰るのは無理かなぁ。


名曲喫茶「時の回廊」 岡山県倉敷市下津井田之浦1ー16ー22  ℡070-5522-1622

瀬戸大橋が海を渡り始める所(岡山側)のすぐ下という場所です。海岸の港付近ではなく、山側の少し高い所です。

瀬戸中央道児島ICを出たら右(鷲羽山方面)へ。「右:鷲羽山ハイランド」の三叉路は直進。トンネル先の三叉路を左。急カーブが続く道を少し走ると青色の歩道橋があります。その歩道橋下を左へ。「大型車通行不能」なんてのが立っています。瀬戸中央道のコンクリートの壁に突き当ります。車を停めて歩いてください。
青色歩道橋の方へ戻る。歩道橋付近の階段を上り、古いコンクリートの橋を渡ればお店です。

車がなかったら・・・歩いて行ったこともバスで行ったこともないのですが、調べたところでは

JR児島駅から歩く。鷲羽山への案内標識を頼りに歩くか、「下津井電鉄」跡地の遊歩道「風の道」を歩くか。
「風の道」の「鷲羽山駅」付近です。小一時間かかると思われます。
鷲羽山の展望台側から歩く方法もあるみたいです。ビジターセンターから更に700mほど歩けば、お店の前へ行けるようです。
この道、下津井電鉄が走っていた頃は鷲羽山への「正規ルート」だったのかしら?

高速バス「鷲羽山北」の近くなんですが、岡山・児島からでは(出発地に近いので)乗降不可。四国からならばOK。
路線バスは、下電バス「とこはい号」しかないようです。1時間に1本程度。多分「田之浦港前」下車。
「とこはい号」は http://www.shimoden.net/rosen/rosen/tokohai.html に情報があります。ところで「とこはい」って、どういう意味?

お店の近くにバス停があるのですが、そこに停まるバスは朝1便、夕1便だけ。乗れるものなら乗ってみろ・・って感じです。

2015年6月22日 (月)

CD管理システムを作る気になったのは10年くらい前です。

インターネットはブロードバンドになり、OS は Windows XP、今とあまり変わらない環境になってきました。
ネットで「CD管理システム」などを検索したりしましたが、「これは」と言う物は見つからない。
作ろうかなぁ・・・作ると決めたわけではありませんが、少しづつイタズラを始めました。

まずは仕上がりのイメージを描いて、なんですが、お手本がない。何もない状態で仕上がりをイメージするのは難しい。
作りながらイメージを描いて、修正して、作り直してという事にしました。
このやり方、仕事として作る場合には許されません。何故って、いつ出来るか分からないから。
でも、納期があるわけではないし、出来なかったら、それでもいいか・・・で始めました。

この時点で決めていた事は「リレーショナル・データベース」を使う事、データの共有ができるようにする事、
マッキントッシュでも実行できる事くらいです。

A氏は7000枚、B氏は8000枚のLP、CDを持っています。(こんなに持っている人、本当にいるんですよ)
A氏、B氏がお持ちのLPは、かなり重複していると思えます。データの共有が出来れば、入力の手間が少なくなるし、
手分けして入力する事も可能になります。という事で、「データの共有は必須」で始めました。

リレーショナル・データベース(RDB)を使うと決めたのは、使わずに実現するのは難しいからです。というか、
RDB相当品を自分で作る事になり、それは大変な作業だからです。RDBを使えば、ほぼ自動的にデータの共有も実現できるし。

さて、何で作るか。
VBアプリはMacでは動かないので(あるいは私が知らないだけかも知れませんが)VBはなし。
アクセスもMac版はないようだし、という事でユーザー・インターフェースはブラウザにしました。
Webサーバー、サーブレットエンジンが必要ですが、Tomcat が使えるのでOK。
使用言語は自動的にJavaに決まりました。

Java の開発環境とサーブレットエンジン(Tomcat)をダウンロードして、とりあえず開始しました。
Tomcat を使うのは初めてだったので、いくらか時間がかかりましたが、大きな問題もなく Hello world を動かす事ができました。

さて、RDBを接続しなくてはなりません。最初に試したRDBは Microsoft Jet Engine。
これ、Windows に標準装備でアクセスなどが使うエンジンです。すぐに(ダウンロード、セットアップなしで)使えます。
簡単な表を作って、書込み、読出しなどの動作を確認しました。でも Jet Engine はデータベース・サーバーには不十分なので、
すぐに MySQL に変えました。

さて、ここからが大変。全体的な仕様がない状態で始めたので、とても無駄が多い。
こんな状態で始めてしまったのは、仕上がりの姿がイメージできていないからです。
部分的な仕様を作りながらプログラムを作って、仕様を修正して作り直おして。。。。まぁ、面白いけどね。

作業時間は1日2時間程度、頑張っても4時間くらいしか取れないし、こんな作り方では、何時完成するのか分からない。
先は長いぞ。でも、作った物が意図したとおりに動けば楽しいわけで、遊び感覚で続けてきました。

2015年6月19日 (金)

これまでの経緯など、自己紹介を兼ねて

杉本良夫と申します。リタイヤしたSEです。

パソコン以前の時代
マイコン応用機器のハード設計、ソフト開発(アセンブラ)をやっていました。
この頃の「マイコン応用機器」は、コンピュータと言うよりはハードウエア・ロジックの置き換えが主でした。
今で言うと・・・家電製品の制御みたいなものです。
最初の頃のCPUは8ビット、クロックは 1MHz~2MHz 程度、メモリーは最大でも64キロバイト
メモリーIC1個の容量はRAMが 1k~4k ビット。ROMが 1~2k バイト

CPUもメモリーも高価だったので、安い(遅い)CPUで必要な速度が出るようにチューニングしたり、
ROMに収まるようにシェープアップしたり、何とも涙ぐましい努力をしていました。
でも、この時の経験は、その後大いに役立ちました。

そのうち、CPUは16ビット、32ビットになり、メモリーICもメガビットになりましたが、
仕事の内容は基本的には変わりませんでした。

「楽譜が読める」という理由で、ゲーム機の音楽、効果音なんかもやりました。

当時、まだPCはありません。個人で買えるコンピュータはワンボード・マイコン(NEC TK-80 など)程度で、
到底実用にはなりません。実用になるコンピュータは個人が購入できるような値段ではありませんでした。

レコードの管理については、図書館の蔵書カードみたいなものを作るのを試みました。アルバムに番号を振ってそれをキーにして
作曲家、曲ごとのカードと演奏家ごとのカード、アルバムごとのカードを作って・・・。
でも、あまりに面倒なので、すぐに止めてしまいました。


MS-DOSの時代
ソフト屋に転職。使用言語にCが加わりました。ソフト屋にした理由は、その方が面白そうだったから。

PCを個人で買えるようになり、PC-9801 を買って遊んでいました。OS は MS-DOS。Windows はまだ普及していません。
パソコン・ショップでは「データベース」ソフトが売られていて、「レコードの管理」が出来るかな・・と考え始めていました。
転職先の会社が「カード型データベース」を扱っていたので、「勉強」名目で借り出して動かしてみました。
データベースとは言うものの、Excel の1行が1画面になっているだけ(ではないけど)、といったものでした。
しばらく弄っていたけど、無理。使い物にならない。

SQL が提案され、ANSI 規約になったのもこの頃。Informix, Sybase, Oracle などが出てきて、
「どれを使うか」(もちろん、仕事で)などの話題がありました。必要に迫られて SQL の勉強を始めました。


Windows の時代
Windows95 を買って遊んでおりました。この Windows95、箱にフロッピー・ディスクがたくさん入っていました。
何十枚入っていたんだろう?
それにしても Windows95 は不安定で、しばしば落ちる。愛想をつかして WindowsNT 3.51 に乗換えました。
インターネットはありましたが、電話回線+モデムでした。スピードは最大でも 56kbps 程度。今と比べると3桁遅い。

ソフト屋のつもりだったのですが、何故か「毛色の変わった」インターフェース・カードを設計したりもしました。
仕事で使う言語は、主に C と Java。C++ は Ative-X コントロールを作るために、いくらかやった程度。
VB も使いはしたけど、あまりやっていません。

私のPCも、WindowsNT 3.51 から WindowsNT 4.0、Windows2000 と変わり、音楽の媒体もLPではなくCDになりました。
本業が忙しく、「LP・CDの管理」の事は忘れておりました。


インターネットの時代
フリーの開発環境、本格的なデータベースが入手できるようになりました。インターネットもブロードバンドになり
大きなファイルもダウンロードできるようになりました。

CD、LP管理システムを作ろうとしたのは、この頃からです。

というところで、今回はここまでにします。