もうだめぽ_| ̄|◯
さて今回は音声圧縮技術について。なんだか今更と言う気もする が気にしてはいけない。なお後発だからといって他のページより有益な情報が あるわけでもない。でも良いんです、そんなことを気にしてはいけないんです 、前向きに生きるのです。そんなわけでまずは MP3 ( MPEG-1 Audio Layer-3 )。 特許関連で敬遠された時期もありましたが、東芝などからポータブルプレイヤ が発売されたり、最近のカーナビも MP3 に対応していたり、多くの web radio で採用されていたりと、なんだか市民権を得た模様。一時期はユーザによる 著作権侵害で目の敵にされ、このまま消え行く運命かと思ったのですが。さて エンコーダとしては LAME も 有名ですが、やはり「午後のこ〜だ 」でしょう。開発は止まっているようですが、MMX / SSE などに対応してい ますし、なによりもすべて日本語ですから『お勧め』です。と言っても、午後 のこ〜だしか使ったことがないので、ほかにもっと良いものがあるかもしれま せん。その時は...教えて下さい(笑) ちなみに午後のこ〜だにはベンチマーク テストがついており、自分の PC の性能が知りたいときに便利です(本当か? )。ちなみに私が今使っている PC のベンチマークの結果は以下の通り。
--- GogoBench 3.11a (Nov 27 2002) --- [DLL] ver. 3.11 (Jan 29 2004) [O S] Microsoft Windows 2000 SP4 [CPU] Intel Pentium 3/Celeron (Coppermine) / 747.2 MHz GenuineIntel ID : 0/0/6/8/3 SPEC : 0x0383F9FF [速度] 9.46倍速 [設定] Q=0 FPU SSE MMX
次は Ogg Vorbis。MP3 と違い特 許問題もなく、また同じ圧縮率なら MP3 に比べ音質がよいそうです。実は使 ったことないんでよくわかりません。エンコーダは Ogg Vorbis の webpage からダウンロードできるようですが、GUI 版はないような気がします。探せ ばあるのだろうか?それから次は FLAC。可逆圧縮*らしい*ということしか知りません。そんなわけで次が Windows Media Audio。MS 社製の技術で、多くのポータブルプレイヤで サポートされているようです。知らなかったのですが、Windows Media Player には Mac 用や Solaris 用なんてあるんですね。で、WMA には著作権管理機 能があるというのが売りのようですが、まあユーザにはあまり関係ないですね ( 違法なことができないという意味では関係あるかもしれませんが )。エン コーダは MS の webpage からダウンロードすることができますが、setup す る前に DirectX を install しておく必要があるようです。後は...そうそう RealAudio というのもありますね 。音声圧縮技術としては先発の部類にはいり、主にストリーミングに利用され ている気がします。エンコーダは Helix Producer Basic でできるんじゃないかと思います。聞くことはあっ てもエンコードすることはないですから、よく知らないんですよね。で、 これら以外にも AAC ( Advanced Audio Coding ) やら Monkey's Audio といったもの があるらしいんですが、更に全く知らないので省略。以上、音声圧縮技術につ いてでした。
さて、どーも今一つやる気がわかないので、この間の試験の話。 まあ受けるからには合格したいわけで、一応参考書やら過去問集などで地道に 勉強していたわけです。で、その過去問集の問題で参考書を見ても解法がわか らないものがいくつかあり、かといって新たに参考書を買う金もないわけで困 っていました。しょうがないので図書館にいって調べたりして、まあそれでわ かれば良いのですが、やっぱりわからないものもいくつかあるわけです。ここ はやっぱりこれでしょう、というわけでぐ ぐってみたのですが、意外と言うか「これだっ」というページにあたらな いんですよね。検索の仕方が悪いのか、マニアックすぎるのか、それとも思っ たほど「いそたーねっと」もたいした事がないということか。そんなわけでそ ういう情報を一つ、お勉強メモから。迷える子羊を救えるかな?
影像周波数 ( image frequency ) : スーパヘテロダイン受信機に おいて、妨害となる周波数のこと。受信周波数を fr、 局部発信周波数を fl、中間周波数を fm とし、 fr = fl - fm であるとき、 fi = fl + fm となる周波数 fi をいう。
さてと、そんなわけで VB や WSH などから DB にアクセスする方法である。 いろいろ調べてみたのだが、さっぱり要領を得ない。とりあえずアクセス方法 として OLE DB やら ODBC ( Open Database Connectivity )、DAO ( Data Access Objects )、 ADO ( ActiveX Data Objects ) などがあるらしいのだが、 正直何がどうであれなのかさっぱりわからない。こういう話をすると CORBA ( Common Object Request Broker Architecture ) が出てきそうだが、さらにさ っぱりわからないので今回は無視。それととりあえず DAO よりも ADO の方が お薦めっぽい。ODBC はちょっと設定がいるみたいなので ( Win2k なら[ コントロール パネル] → [管理ツール] → [データ ソース(ODBC)] )、ちょ っと試すぶんには面倒そう。そんなわけで DAO について。何故 ADO じゃない かというと、何故か手元に日本語 DAO のヘルプがあって、これまで DB への アクセスには DAO しか使ってこなかったんだもん。急に ADO とか ODBC とか 言われてもわかんねーよ。で、このヘルプによると DAO は Jet ワークスペー スと ODBCDirect ワークスペースという二つのワークスペース ( データベー ス環境 ) をサポートしているそうだ。ワークスペースといわれてもいまいち ピンとこないのだが、とりあえず ODBCDirect は ODBC 経由で DB にアクセス する方法であり、先に述べた理由により却下とする。で、今回は Jet ワーク スペースを利用してみる。なんせ Jet ワークスペースは mdb ファイル ( MS-Access 形式の DB ファイル ) に直接アクセス可能のようだし、簡単に試 すことができそうだ。なお Jet ワークスペースでは極端な話、mdb ファイル にしかアクセスできそうにないのだが、一般人で Oracle とか持っている人は いないだろうからそれで十分である。そんなわけで WSH のサンプルプログラ ム。一応簡単にテストはしたが、参考にする場合にはとーぜん要注意である。
Set oDAO = WScript.CreateObject( "DAO.DBEngine.36" ) Set oDB = oDAO.OpenDatabase( "C:\temp\test.mdb" ) Set rRS = oDB.OpenRecordset( "SELECT * FROM table1 WHERE Date=#2004/01/12#" ) If rRS.EOF = False Then rRS.Edit Else rRS.AddNew rRS.Fields( "Date" ).Value = "2004/01/12" End If rRS.Fields( "number" ).Value = 100 rRS.Update rRS.Close oDB.Close
一行目の「DAO.DBEngine.36」の部分は、「DAO.DBEngine.35」かもしれな いし「DAO.DBEngine.37」かもしれない。これは環境によって変わるので各自 で調べてください。二行目の「C:\temp\test.mdb」は DB ファイルへのパス。 ファイルはあらかじめ MS-Access で作成しておいてください。三行目は SQL 文でレコードの検索。詳しくは SQL の本をみてもらうわけですが、とりあ えず SQL 文は INSERT 文 / SELECT 文 / UPDATE 文だけ覚えておいてくださ い。それで十分です ( ほんとか? ) 四行目以降は条件に合致するレコード がある場合にはレコードの更新、ない場合にはレコードを追加して作業終了 という流れ。んーまあざっとした説明はこんな感じかな。もうすこし詳しく は次回以降ということで。しかし実際、最初に書いたとおりあんまり良くわ かっているわけじゃないので、説明したくでもうまくできないんだよねぇ...