Macintosh Developer Online (MDOnline)


2001年6月5日発行号 - Javaで音声合成や認識



読者の田村さんより情報をいただいたのですが、CarbonLib 1.3.1によるアプリケーションの動作の不具合があるみたいです。他の方はいかがでしょうか。1つはARENA Internet Mailerでメモリがいっぱいになったというメッセージが出てなにもできないようになることだそうです。それから、「言語解析ライブラリが見つからない」というエラーが出るマシンもあるそうです。もし、なにか情報があったら教えてください。
今日のニュースに書いた、スピーチや音声認識のJavaフレームワークは、実はWWDCのあるセッションで紹介されていたものです。というか、そのフレームワークの紹介がセッションの内容でした。そうしたフレームワークをどうやって作るのかみたいな話があるのかと思ったら、そうではなかったのですが、いずれにしても、Pure Java環境はそちらはそちらでアップデートがどんどんとなされるみたいです。ただ、私のマシンにインストールすると、ReadMeに記載の通りにインストールされませんでした。実は、WebObjects 5をインストールすると、Applicationsにファイルをコピーできなくなるなど、いろいろ中をいじってしまうのでその影響かもしれません。普段使いのマシンにWebObjectsを入れない方がいいのかもしれません。普段からWebObjectsを使っているのならまだしも、そうでもないので、やっぱりWOは別のマシンを手当しておいた方が問題はないのかもしれません。また、システムを1からインストールしなおさないといけないかなとも考えています。やれやれ…。
(新居雅行 msyk@mdonline.jp


小池邦人のプログラミング日記》2001/6/4<WWDC 2001のセッションを振り返る>

今回は、5/21から5/25まで、アメリカのサンホセ市で開催されたApple社のWWDC 2001(Worldwide Developer Conference)でのセッションの印象について、簡単にまとめてみたいと思います。

今回のWWDCは、開催されたセッションの数が異常に多かったのが印象的でした。コンベンションセンターだけでは部屋が足らず、隣のシビックセンター(市民ホールのような施設)でも連日セッションが行われていました。また、例年ならば最終日の午後にはセッションが入らないスケジュールだったのですが、今年は最終日までフィードバックセッション(開発者とAppleの技術者が質疑応答を行う)等がぎっしりつまっていました。このスケジュールですと、一回もさぼらず(笑)毎日フルに聴講したとしても、全体の1/7から1/8のセッションしか聞くことができません。私は、Carbon Frameworkや2D Imaging関連のセッションを中心に聴講していたのですが、他にも聞きたいセッションがいくつかあり、かなり悔いが残りました。もし、Macintoshに関してより多くの情報を収集しなければいけない企業であれば、1人の参加では不十分で、複数のメンバーを参加させるべきでしょう。各人にターゲットとなるトピックスを分散させて、後で情報を交換するといった工夫が必要となります。

個々に見てみると、Mac OS Xで不確定要素が多い分野に関するセッションは、いつも満員だったようです。Mac OS Xのネットワーク、プリントアウト、I/Oなどのハードウェアにからんだセッションなどがその代表です。聞いた話では、受講者が部屋に入りきれなかったケースもあったそうです。それから、JavaとWebObjectsに関するセッションは、数も内容も大変充実していました。現実に、今回のWWDCには、これらのセッションを聞くためだけに参加しているデベロッパも数多くいたようです。中には「WebObjectsで単独アプリケーションを開発しよう」といったセッションもあり、テクノロジー的に勢いを感じました。逆に、QuickTimeやOpenGLについては技術的に成熟した感があり、それほど多くのセッションは用意されていませんでした。OpenGLセッションなどは、予定時間よりもかなり早く終了することが多々あったようです。私が参加したQuickTime関連のセッションは「QuickTime Overview」ひとつでした。QuickTimeは数年前までは花形セッションだったのですが、これはこれで単独カンファレンスが開催されるようになったことも影響しているかもしれません? それから、Mac OS 9関係のセッションはたったひとつだけでした(涙)。私は、あまり期待せずにこれを聴講したのですが、何を隠そう、現実的には一番収穫があったセッションとなってしまいました(笑)。

注目のCocoa Frameworkに関するセッションですが、たった3つしか用意されていないことが目を引きました。基調講演でも、「Cocoaを使えば、こんなに簡単にアプリケーションが開発できる」と言ったデモを行っていたのですが、その割にはセッションに力がこもっていないと言う印象です。Mac OS XではCocoaは確立された技術であり不確定要素は少ないと言う認識があるのか? それとも、現実的には、今までのMac OS 9アプリをCarbon化しているデベロッパが多いことから、まずはそちらに焦点を当てたのか?現状をどう見るかは人それぞれでしょう。確かに、私などもCocoaを心ゆくまで堪能してみたいのですが、Carbonの変化を追いかけるだけで手一杯で、そこまでゆとりが無いのが現実です。Carbon化によるMac OS 9からMac OS Xへの移行が一段落しているだろう来年は、Cocoaに関するセッションがWWDCの主役を張っていかもしれません。

続いて、私が集中的に参加したCarbon Frameworkに関するセッションの印象です。こちらはCocoaと違い、数も内容も充実していました。幾つかの新しいトピックスの発表もあり、いつになく集中して聞くことができました。まだ開発途中の技術なのですから、デベロッパーにちゃんと説明すべき話しが山ほどあるわけです。しかし、Carbonに関するセッションを聞けば聞くほど、Mac OS 9とMac OS X共通ソースコードでアプリを開発するのは止めた方が良いと思えてきたのが辛かったです(涙)。Appleからの主メッセージは「既存のアプリケーションをCarbon化してMac OS X Nativeにしろ!」なのですが、それに加え「Mac OS X向けにオプティマイズしろ」という強い主張も感じました。具体的には「Carbon Event Modelを採用しろ」「Sheet Windowを使え」「MLTEを使え」「Session Printに対応しろ」などなどです。こう言われると、こちらとしても「だったらMac OS Xをもっとオプティマイズしろ」と反論したくなるのですが(笑)Apple側もそれは良く理解しているようで、基調講演では「パフォーマンスの改善をMac OS X開発の最優先事項としている」と、Jobsも主張していました。まあ、気長に待つことにしましょう。
(続く)

関連リンク:オッティモ
カテゴリ:Carbon/CF, 小池邦人のプログラミング日記


小池邦人のプログラミング日記》2001/6/4<WWDC 2001のセッションを振り返る>(続き)

私は、AppleがCarbonとCocoaアプリケーションの「差異」をどう吸収するのかを、最も注目していました。例えば、ドラッグ&ドロップの仕組み、AppleScriptやApple Eventへの対応、フォントパネルやカラーピッカーなどの標準ダイアログ、クリエータとファイルタイプの問題、そしてメニューやコントロールなどのユーザインターフェースの違いなどなど、解決しなくてはいけない多くの問題があります。これらの問題については、Apple側も良く認識しているようで(当然だよなぁ)、CarbonとCocoaのAPIの差異を極力なくす方向で努力していると主張していました。それから、ようやくCarbonアプリからQuartzを使用する方法が明らかになりました。Appleの説明では、Quartzとはマーケッティング上の呼び名で、APIから見るとCore Graphicsと呼ぶのが正しいようです。残念ながら、CFMベースのCarbonアプリケーションからはCore Graphics APIを利用することはできません(裏技では可能なり)。しかし、もうすぐMetroWorks CodeWarriorでもMarch-Oベースのアプリが開発できるようになりますから、Core GraphicsがMac OS X Carbonアプリで日常的に利用される日も、すぐそこまで来ていると思われます。

セッションに関するTipsですが、関連するトピックスによっては、セッションで説明される内容より、終了後に行われるQ&Aの方が重要な場合があります。「僕の疑問はみんなの疑問」という事でしょうか(笑)。来年WWDCへの参加を予定されている方は、「セッションが終わってもQ&Aを聞き逃さない」と言う注意事項を、心の片隅にしまっておいてください。また、セッションで話された内容は、守秘義務のため公表してはいけない事になっています。しかし、Carbonについての大部分は、Universal Interfacesのヘッダーファイルに記載されている内容でして(笑)これに守秘義務を課す必要があるのか大いに疑問です。最後に、今回のCarbonのセッションに関連して、Appleのサイトにアップされた最新ドキュメントをいくつか紹介しておきます。

◇WWDC 2001の各セッションで紹介された参照URL集
 http://developer.apple.com/events/urls.html

◇Carbon Event Modelに関する最新のドキュメント
 http://developer.apple.com/techpubs/macosx/Carbon/oss/CarbonEventManager/carboneventmanager.html

◇Carbonアプリケーションのパフォーマンスチューニングについてのドキュメント
 http://developer.apple.com/techpubs/macosx/SystemOverview/Performance/Performance.pdf

◇Quartz 2D(Core Graphics API)に関する最新ドキュメント
 http://developer.apple.com/techpubs/macosx/CoreTechnologies/graphics/Quartz2D/quartz2d.html

◇MLTE(Multilingual Text Engine)に関する最新ドキュメント
 http://developer.apple.com/techpubs/macosx/Carbon/text/MultilingualTextEngine/multilingualtextengine.html

◇CarbonアプリからInterface Builderで作成したオブジェクトを使用する方法
 http://developer.apple.com/techpubs/macosx/Carbon/HumanInterfaceToolbox/InterfaceBuilderServices/interfacebuilderserv.html

◇Apple Helpに関する最新ドキュメント
 http://developer.apple.com/techpubs/macosx/Carbon/HumanInterfaceToolbox/AppleHelp/applehelp.html

今回のWWDCでは、Metrowerks CodeWarrior 7 Early Access(開発リリース)が参加者すべてにお土産として配布されました。そんなわけで、次回はもう一度だけNavigation Service 3.0の話しを中断し、Metrowerks社が単独で行ったセッションの内容と、CodeWarrior 7 Early Accessをで自作アプリケーションをMach-Oベースとしてコンパイル&リンクしてみた経験を、お話をしたいと思います。
[小池邦人/オッティモ]

カテゴリ:


Javaプログラムから音声合成や認識、スペルチェックを行うフレームワークを公開

Sample Codesに新たに公開されたプログラムは、サンプルというよりも、システムの機能を拡張するものだ。Javaのカテゴリで「JavaSpeechFramework」「JavaSpellingFramework」として公開されているが、文字通り、Mac OS Xに組み込むフレームワークとして提供されるものである。また、そのフレームワークを利用したサンプルプログラムもある。JavaSpeechFrameworkは、Mac OS Xが持つ音声合成、あるいは音声認識の機能を、Javaのプログラムから利用できるフレームワークだ。JavaSpellingFrameworkも同様に、Mac OS Xに組み込まれているスペルチェック機能をJavaのプログラムで利用できるフレームワークである。つまり、Mac OS Xのネイティブ機能をPure JavaのプログラムあるいはCocoa-Javaのプログラムから手軽に利用できるようにするフレームワークだ。もちろん、Mac OS Xでないと機能しないものではあるが、Javaの適用範囲は広がる可能性も秘めている。また、Mac OS 8/9環境でも利用できない。フレームワークや、JNIのネイティブライブラリ、あるいはサンプルコードやドキュメントがセットになっている。インストールされるディレクトリ名から、実験段階という状況が読み取れるが、まずはデベロッパーの反応を見るということでの公開であるとも考えられる。さらに、JavaBeans化しやすいようなフレームワーク化を行っている。

◇JavaSpeechFramework
 http://developer.apple.com/samplecode/Sample_Code/Java/JavaSpeechFramework.htm

◇JavaSpellingFramework
 http://developer.apple.com/samplecode/Sample_Code/Java/JavaSpellingFramework.htm

カテゴリ:Mac OS X, Java


TIL》Mac OS X Server 10.0向けのMySQLの配布を開始

Mac OS X Server 10.0.3向けのデータベースエンジンMySQLの配布が開始された。MySQL 3.23.32をもとにビルドされたバイナリが、tarファイル形式で配布されている。解凍するとpkgファイルが出てくるので、インストーラでのインストールになる。英語版のみが配布されており、以下の文書を見る限りは他の言語向けの枠が用意されていないことから、英語版のみの配布になると思われる。なお、配布方法は、ソフトウエア・アップデートではなく、ダウンロードしてインストールする形式に変更された模様だ。

関連リンク:MySQL: MySQL Software for Mac OS X Server 10.0.3
カテゴリ:Mac OS X Server


Mac OS Xネイティブなデータベース管理ユーティリティ

Mac OS X 10.0向けのデータベース管理ユーティリティ「SQLGrinder」のPreview Release 1が公開された。2001年7月1日までの期限となっている。正式版はシェアウエアとして公開される予定だ。SQLエディタではSQLによるクエリ結果を表示することができる。また、スキーマブラウザにより、データベースの構成がFinderのコラム表示のように示すことができる。OpenBase、FrontBaseへの接続機能は組み込まれているが、MySQL、Oracleなどその他のデータベースはJDBCドライバを組み込むことで、利用できる。

関連リンク:SQLGrinder
カテゴリ:データベース


CarbonLib 1.4a3 SDKがリリース

CarbonLib 1.4a3 SDKがリリースされている。やはり、ADCメンバーのみへの公開だけだ。CarbonLibは、Mac OS 8.6以降のシステムで利用できるフレームワークで、Mac OS Xとの互換性の高いアプリケーション稼働環境である。

関連リンク:Carbon
カテゴリ:Carbon/CF


TIL》対応言語が増えたMac OS X 10.0のCDに関する情報

Mac OS X 10.0のCDには、2種類ある。2001/3/24にリリースされた、パートナンバーが「1Z691-2974-A」のものがまず1つ。そして、2001年6月にリリースされたパートナンバーが「2Z691-3064」のものである。後者のものは、対応言語として、Swedish、Norwegian、Finnish、Danish、Brazilian-Portuguese、Korean、Chinese (Traditional)、Chinese (Simplified)となっている。これらの言語を使う地域で配布されているため、その他の言語の地域では入手はできないとしている。

関連リンク:Mac OS X 10.0: (2Z691-3064) CD Installation Information
カテゴリ:Mac OS X