JPH03163623A - 音声制御コンピュータ・インターフェース - Google Patents
音声制御コンピュータ・インターフェースInfo
- Publication number
- JPH03163623A JPH03163623A JP2166537A JP16653790A JPH03163623A JP H03163623 A JPH03163623 A JP H03163623A JP 2166537 A JP2166537 A JP 2166537A JP 16653790 A JP16653790 A JP 16653790A JP H03163623 A JPH03163623 A JP H03163623A
- Authority
- JP
- Japan
- Prior art keywords
- voice
- mouse
- command
- language
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009471 action Effects 0.000 claims abstract description 77
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 230000008449 language Effects 0.000 claims description 143
- 238000000034 method Methods 0.000 claims description 68
- 230000004044 response Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 241000699666 Mus <mouse, genus> Species 0.000 description 179
- 230000008569 process Effects 0.000 description 33
- 238000012545 processing Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 29
- 238000004519 manufacturing process Methods 0.000 description 27
- 230000003993 interaction Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 241000219122 Cucurbita Species 0.000 description 2
- 235000009852 Cucurbita pepo Nutrition 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000003292 glue Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 206010011732 Cyst Diseases 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 241000219793 Trifolium Species 0.000 description 1
- 238000001467 acupuncture Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 208000031513 cyst Diseases 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000000720 eyelash Anatomy 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000011226 hei shi Nutrition 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の技術分野
この発明は音声制御コンピュータインターフェースに関
する。
する。
発明の背景
置は例えばテキストタイプのユーザーインターフェース
(例えばIBMパーソナルコンピュータのディスクオペ
レーティングシステム(DOS)のテキストタイプイン
ターフェース)の制御に使用されてきた。
(例えばIBMパーソナルコンピュータのディスクオペ
レーティングシステム(DOS)のテキストタイプイン
ターフェース)の制御に使用されてきた。
更に音声制I1はグラフィックのユーザーインターフェ
ース(例えばアイコン,ポップアップウイントウ,マウ
スを含ムアップルマッキントツシュコンピューターで使
用されるグラフィックインター7エース)にも応用され
た。これらの音声制御装置では音声コマンドを使ってキ
ーボードのキーストロークを生成する。
ース(例えばアイコン,ポップアップウイントウ,マウ
スを含ムアップルマッキントツシュコンピューターで使
用されるグラフィックインター7エース)にも応用され
た。これらの音声制御装置では音声コマンドを使ってキ
ーボードのキーストロークを生成する。
発明の概要
この発明の一つの側面によれは、操作されることによっ
てコンピュータの表示装置上のカーソルの動きを制御し
、表示装置上のカーソルのは置に関連づけられた所望の
アクションを指示するタイプのポインティングデバイス
の機能を音声に代用させる装置であってポインティング
デバイスからの制御信号に応答してコンピューターのオ
ペレーティングシステムがカーソル馨動かし.所望σ)
アクションを支援し、更にコンピューターが英数字千一
ボードを有し.オペレーティングシステムがキーボード
によって特定される所定のフォーマットに従ってキーボ
ードからの制御信号に別途応答する装置において,発声
された音声を認識する音声認識手段と.発声された音声
をキーボードによって特定される所定のフォーマットで
表わされる制御信号に一旦変換することなくオペレーテ
ィングシステムによって支援される所望のアクションχ
直接生成する制御信号に変換する解読手段とを含む装置
が提供される。
てコンピュータの表示装置上のカーソルの動きを制御し
、表示装置上のカーソルのは置に関連づけられた所望の
アクションを指示するタイプのポインティングデバイス
の機能を音声に代用させる装置であってポインティング
デバイスからの制御信号に応答してコンピューターのオ
ペレーティングシステムがカーソル馨動かし.所望σ)
アクションを支援し、更にコンピューターが英数字千一
ボードを有し.オペレーティングシステムがキーボード
によって特定される所定のフォーマットに従ってキーボ
ードからの制御信号に別途応答する装置において,発声
された音声を認識する音声認識手段と.発声された音声
をキーボードによって特定される所定のフォーマットで
表わされる制御信号に一旦変換することなくオペレーテ
ィングシステムによって支援される所望のアクションχ
直接生成する制御信号に変換する解読手段とを含む装置
が提供される。
更にこの発明のもう一つの側面によれば,発声された音
声χあらかじめ定められたコマンド言語で表現サれ.コ
ンピューターのオペレーティングシステムによって使用
されるコマンドに変換する方法において.発声されたあ
る種の音声は前記オペレーティングシステムがとるアク
ションに対応丁るコマンドに変換し.発声された別の種
の音声はfm記オペレーティングシステムの下で実行さ
れるアプリケーションプログラムにおいて処理されるテ
キストの一部として使用される関連テキストストリング
を運ぶコマンドに変換する方法が提供される。
声χあらかじめ定められたコマンド言語で表現サれ.コ
ンピューターのオペレーティングシステムによって使用
されるコマンドに変換する方法において.発声されたあ
る種の音声は前記オペレーティングシステムがとるアク
ションに対応丁るコマンドに変換し.発声された別の種
の音声はfm記オペレーティングシステムの下で実行さ
れるアプリケーションプログラムにおいて処理されるテ
キストの一部として使用される関連テキストストリング
を運ぶコマンドに変換する方法が提供される。
更にこの発明のもう一つの側面によれば発声された音声
からコマンドへの変換を支援するだめのテーブルを生成
丁る方法であって前記コマンドはコンピューターのオペ
レーティングシステムの制御に使用されて,オペレーテ
ィングシステムの下で実行され,メニューとコントロー
ルボタンを含むアプリケーションプログラムにおいて所
望のアクションを達戊する方法において,前記アプリケ
−ションプログラムの命令シーケンスを構文解釈してメ
エユーのエントリーとコントロールボタンwk別し,前
記テーブル内に前記アプリケーションプログラムでみつ
けられるメニューのエントリーとコントロールボタン毎
にエントリーを含ませ,それぞれのエントリーに前記メ
−Sユーのエントリー又はコントロールボタンに対応す
る制御コマンドを含ませる方法が提供される。
からコマンドへの変換を支援するだめのテーブルを生成
丁る方法であって前記コマンドはコンピューターのオペ
レーティングシステムの制御に使用されて,オペレーテ
ィングシステムの下で実行され,メニューとコントロー
ルボタンを含むアプリケーションプログラムにおいて所
望のアクションを達戊する方法において,前記アプリケ
−ションプログラムの命令シーケンスを構文解釈してメ
エユーのエントリーとコントロールボタンwk別し,前
記テーブル内に前記アプリケーションプログラムでみつ
けられるメニューのエントリーとコントロールボタン毎
にエントリーを含ませ,それぞれのエントリーに前記メ
−Sユーのエントリー又はコントロールボタンに対応す
る制御コマンドを含ませる方法が提供される。
この発明のもう一つの特徴によればユーザーが厳密に定
義された栴文を有する正式言語でインスタンスを生戒で
きるようにした方法において、自然言語で表現され,前
記構文に一致しないエントリーのリスト聖グラフィック
表示し、ユーザーに前記リストの中からエントリーを指
示させ.前記指示に応答して前記リストの特定されたエ
ントリーに対応するインスタンス紮自動的に生成する方
法が提供される。
義された栴文を有する正式言語でインスタンスを生戒で
きるようにした方法において、自然言語で表現され,前
記構文に一致しないエントリーのリスト聖グラフィック
表示し、ユーザーに前記リストの中からエントリーを指
示させ.前記指示に応答して前記リストの特定されたエ
ントリーに対応するインスタンス紮自動的に生成する方
法が提供される。
この発明によればユーザーは゛コンピューターのグラフ
ィックインターフェースを容易に制御するコトができる
。オペレーティングシステムがコマンドによってとるこ
とのできるどのようなアクションでも音声によってコマ
ンドすることができる。
ィックインターフェースを容易に制御するコトができる
。オペレーティングシステムがコマンドによってとるこ
とのできるどのようなアクションでも音声によってコマ
ンドすることができる。
コマンドにはマウスやその他の入力によって通常入力さ
れるコマンドの他、キーボードによって通常入力される
コマンドを含み得る。ユーザーは音声をオペレーティン
グシステムがとるアクションに対するコマンドに対応す
る音声とアプリケーションプログラムで使用されるテキ
ストストリングに対応する音声との間で自由に切り替え
ができ,その切り替えがなされたことを特に示す必要は
ない。どのアプリケーションでもアプリケーションを制
御するメニューと制御ボタンについてアプリケーション
の命令シーケンスを自動的に構文解析することにより,
音声インターフェースに応答するものにできる。その他
の特徴.利点は実施例の詳細な説明と特許請求の範囲か
ら明らかである。
れるコマンドの他、キーボードによって通常入力される
コマンドを含み得る。ユーザーは音声をオペレーティン
グシステムがとるアクションに対するコマンドに対応す
る音声とアプリケーションプログラムで使用されるテキ
ストストリングに対応する音声との間で自由に切り替え
ができ,その切り替えがなされたことを特に示す必要は
ない。どのアプリケーションでもアプリケーションを制
御するメニューと制御ボタンについてアプリケーション
の命令シーケンスを自動的に構文解析することにより,
音声インターフェースに応答するものにできる。その他
の特徴.利点は実施例の詳細な説明と特許請求の範囲か
ら明らかである。
実施例
第1図においてアップルマッキントッシュコンピュータ
ー100オペレーティングシステムであるマヴキンドッ
シュオペレーティングシステム132はマウス134と
キーボード136から受け取ったイベントを処理し.表
示装置138上にアイコンウインドウメニュー等を表示
することにより,グラフィックインターアクティブユー
ザーインターフェースを提供する。更にオペレーティン
グシステム132はマツクライト(MaC wri t
e!)139のようなアプリケーションプログラム,カ
リ”P z L’一ター(Calculator) 1
3 7のようなデスクトップユーティリティ,その他
種々のプログラムが実行される環境を与える。
ー100オペレーティングシステムであるマヴキンドッ
シュオペレーティングシステム132はマウス134と
キーボード136から受け取ったイベントを処理し.表
示装置138上にアイコンウインドウメニュー等を表示
することにより,グラフィックインターアクティブユー
ザーインターフェースを提供する。更にオペレーティン
グシステム132はマツクライト(MaC wri t
e!)139のようなアプリケーションプログラム,カ
リ”P z L’一ター(Calculator) 1
3 7のようなデスクトップユーティリティ,その他
種々のプログラムが実行される環境を与える。
更にオペレーティングシステム132は音声ナビゲータ
ー音声制御コンビエーターインターフェース102から
のイベントを受け.音声によるコンビ1−ター制御を可
能にする。この目的のためユーザーからの音声はマイク
ロフォン114に入刀され音声ナビゲーターボックス1
1を介してコンビ.−タ−iO口SCS I ( Sm
all GomputorSystems Inter
face )ボートに送られる。音声ナビゲーターボヴ
クス112はマイクロフォン114からのアナログオー
ディオ信号聖デジタル化し,処理したデジタルオーディ
オ信号をマッキント,シ,.SCSIボートに送る。音
声ナビゲーターボックス112はオーディオ信号をデジ
タル化するためのアナログ変換5(A/D),デジタル
サ/プルを圧縮するためのDSP(デジタル信号処理)
、デジタルサンプルをscsiのプロトコルに合わせる
プロトコルインターフェースハードウェアを含む。
ー音声制御コンビエーターインターフェース102から
のイベントを受け.音声によるコンビ1−ター制御を可
能にする。この目的のためユーザーからの音声はマイク
ロフォン114に入刀され音声ナビゲーターボックス1
1を介してコンビ.−タ−iO口SCS I ( Sm
all GomputorSystems Inter
face )ボートに送られる。音声ナビゲーターボヴ
クス112はマイクロフォン114からのアナログオー
ディオ信号聖デジタル化し,処理したデジタルオーディ
オ信号をマッキント,シ,.SCSIボートに送る。音
声ナビゲーターボックス112はオーディオ信号をデジ
タル化するためのアナログ変換5(A/D),デジタル
サ/プルを圧縮するためのDSP(デジタル信号処理)
、デジタルサンプルをscsiのプロトコルに合わせる
プロトコルインターフェースハードウェアを含む。
音声認識ソフトウエア120(マサチューセッツ州ニュ
ートンドラゴンシステムから入手可能)は,マツキント
ッシュオペレーティングシステムの下で動作し、音声制
御ドライバー128(これもマツキントヅシュオペレー
ティングシステムの下で動作する。)からの内部コマン
ド123によって制御される。音声認識ソフトウェア1
20を実現するためのアルゴリズム例がベーカーらの米
国特許第4,783.803号に示されており,本特許
を本書の参考文献と丁る。音声認識ソフトウェア120
は入力される圧縮デジタルオーディオ信号’Y処理し.
ユーザーから発生されたそれぞれの音声をあらかじめ記
憶した音声マクロと比較する。
ートンドラゴンシステムから入手可能)は,マツキント
ッシュオペレーティングシステムの下で動作し、音声制
御ドライバー128(これもマツキントヅシュオペレー
ティングシステムの下で動作する。)からの内部コマン
ド123によって制御される。音声認識ソフトウェア1
20を実現するためのアルゴリズム例がベーカーらの米
国特許第4,783.803号に示されており,本特許
を本書の参考文献と丁る。音声認識ソフトウェア120
は入力される圧縮デジタルオーディオ信号’Y処理し.
ユーザーから発生されたそれぞれの音声をあらかじめ記
憶した音声マクロと比較する。
発生した音声があらかじめ記憶した音声マクロと一致す
ることにより音声が認識され、認識された音声に対応す
るコマンドストリング(コマンド列)121がテキスト
バヴファ−126に送り出される。音声認識ソフトウェ
アから送り出されたコマンドストリング121はマツキ
ントッシュオペレーティングシステムに渡すべきコマン
ド(例えばなされるべきメニューの選択又は表示される
べきテキスト),あるいは音声制御ドライバーから発せ
られる内部コマンド125を表わす。
ることにより音声が認識され、認識された音声に対応す
るコマンドストリング(コマンド列)121がテキスト
バヴファ−126に送り出される。音声認識ソフトウェ
アから送り出されたコマンドストリング121はマツキ
ントッシュオペレーティングシステムに渡すべきコマン
ド(例えばなされるべきメニューの選択又は表示される
べきテキスト),あるいは音声制御ドライバーから発せ
られる内部コマンド125を表わす。
認識の際,音声認識ンフトウエア120は音声の入力サ
ンプルを音声ファイル122にあるマクロと比較する(
本システムではユーザーは発声を短く区切って入力する
ことを要求しており,各発声の終了をシステムが認識で
きろようにしている。)音声ファイルマクロは後述する
学習のプロセスで生成される。一致が見つかると(音声
認識ソフトウツア12口の認識アルゴリズムによりジャ
ッジされる),ワードリスト124(これは音声ファイ
ル122に直接関連づけられている。)から音声制御コ
マンドストリング配取り出し,テキストバッファ−12
6に送る。テキストバツファ一126のコマンドストリ
ングは音声!l4御ドライノク128へ送られ、このド
ライバー128内の音声制御解読器130がストリング
に応答する。コマンドストリング121はある時には内
部コマンド123例えば音声認識ソフトウエアに新しい
音声ファエルマクロ1学習”させるためのコマンドある
いは認識アルゴリズムの感度を調整するためのコマンド
を表わす。この場合音声制御解読器( Voice C
ontrol. Interpreter) 1 3
0は適当な内部コマンド123を音声認識ソフトウエア
120に送る。その他の場合,コマンドストリングはオ
ペレーティングシステムの操作例えばマウスの移動を表
わす。この場合音声制gA)解読米13口はマツキンド
ヴ7ユオペレーティングシステム1ろOと協同して適当
なアクションを生成する。
ンプルを音声ファイル122にあるマクロと比較する(
本システムではユーザーは発声を短く区切って入力する
ことを要求しており,各発声の終了をシステムが認識で
きろようにしている。)音声ファイルマクロは後述する
学習のプロセスで生成される。一致が見つかると(音声
認識ソフトウツア12口の認識アルゴリズムによりジャ
ッジされる),ワードリスト124(これは音声ファイ
ル122に直接関連づけられている。)から音声制御コ
マンドストリング配取り出し,テキストバッファ−12
6に送る。テキストバツファ一126のコマンドストリ
ングは音声!l4御ドライノク128へ送られ、このド
ライバー128内の音声制御解読器130がストリング
に応答する。コマンドストリング121はある時には内
部コマンド123例えば音声認識ソフトウエアに新しい
音声ファエルマクロ1学習”させるためのコマンドある
いは認識アルゴリズムの感度を調整するためのコマンド
を表わす。この場合音声制御解読器( Voice C
ontrol. Interpreter) 1 3
0は適当な内部コマンド123を音声認識ソフトウエア
120に送る。その他の場合,コマンドストリングはオ
ペレーティングシステムの操作例えばマウスの移動を表
わす。この場合音声制gA)解読米13口はマツキンド
ヴ7ユオペレーティングシステム1ろOと協同して適当
なアクションを生成する。
それぞれのアプリケーションあるいはデスクトップアク
セサリーはワードリスト124及び対応する音声ファイ
ル122に関連づけられろ。これらはアプリケーション
あるいはデスクトップアクセサリーケオープンした時に
音声認識ソフトウエアによりとりこまれろ。
セサリーはワードリスト124及び対応する音声ファイ
ル122に関連づけられろ。これらはアプリケーション
あるいはデスクトップアクセサリーケオープンした時に
音声認識ソフトウエアによりとりこまれろ。
音声ファイルは学習モードにある音声認識ソフトウェア
120が音声制御ドライバー128からの内部コマンド
の制御のもとで生成する。
120が音声制御ドライバー128からの内部コマンド
の制御のもとで生成する。
ワードリストは言語作或( Language Mak
er )デスクトップアクセサリー14口が生戒丁る。
er )デスクトップアクセサリー14口が生戒丁る。
言語作或器14口は音声名とそれに関連する音声制鉤コ
マンドストリングの1言語′を生威し,その言語χワー
ドリストに変換する。音声制御コマン}”ス}lJング
jtThJえば”ES(E” ”TEXT’’ @M
F,NU ( font . 2 ) ’であり、音声
制御コマンドセットに含まれる。音声制御コマンドセン
トの構文(シンタックス)は表Aに示されており,これ
については後で説明する。
マンドストリングの1言語′を生威し,その言語χワー
ドリストに変換する。音声制御コマン}”ス}lJング
jtThJえば”ES(E” ”TEXT’’ @M
F,NU ( font . 2 ) ’であり、音声
制御コマンドセットに含まれる。音声制御コマンドセン
トの構文(シンタックス)は表Aに示されており,これ
については後で説明する。
音声制[有]及び言語作或ソフトウェアは約3万行リコ
ードを含み,犬部分はC言語で書かれており,残りはア
センブリー言語で書かれている。音声制御と言語作戒ソ
フトウエアとをアペンディックスCとしてマイクロフィ
ッシュに示丁。この音声制御ノフトウェアは71キント
ヴシュプラス (Macintosh Plus )
カソノ後(Dモfk上−C,−if/yし最低1メガ
バイトのRAM (ハイバーカード(Hyper Ca
rd)かその他の大きなアプリケーションでは2メガバ
イト)とハードディスク及びマツキントッシュオペレー
ティングシステムバージョン6.01かその後のバージ
ョンのものとともに使用される。
ードを含み,犬部分はC言語で書かれており,残りはア
センブリー言語で書かれている。音声制御と言語作戒ソ
フトウエアとをアペンディックスCとしてマイクロフィ
ッシュに示丁。この音声制御ノフトウェアは71キント
ヴシュプラス (Macintosh Plus )
カソノ後(Dモfk上−C,−if/yし最低1メガ
バイトのRAM (ハイバーカード(Hyper Ca
rd)かその他の大きなアプリケーションでは2メガバ
イト)とハードディスク及びマツキントッシュオペレー
ティングシステムバージョン6.01かその後のバージ
ョンのものとともに使用される。
音声制御解読器130とオペレーティングシステムとの
やり取りを理解丁7)ためにまずマツキントヴシュオペ
レーティングシステム1 3 2 カ1イベント駆動型
”であることに注目されたい。オペレーティングシステ
ムはイベントキュ(図示せず)Y保持し,マウス134
やキーボード136のような入力装置がこのキュー(待
ち行列)にイベントを゜記人( post) ” L,
.これに対してオペレーティングシステムが例えば適
当なテキストエントリーを生成したり,マウスの移動を
行なう。ついでオペレーティングシステム132は例え
ばマツキントッシュアプリケーション(例えばマヅクラ
イト169やデスクトップアクセサリー例えばカリキュ
レータ−137)に対し、−v−ユー上のイベント(あ
る場合)を示すメッセージを渡す。ある動作モードでは
音声制御解読器132も同様にオペレーティングシステ
ムのイベントキューにイベントを記入することにより,
オペレーティングシステム(及び同時にランしているア
プリケーションやデスクトップアクセサリー)聖制御す
る。音声制御解読器によって記入されるイベントは代表
的にはマウスの動作かキーボードのキーストロークある
いはその両方に音声コマンドの種類に応じて対応する。
やり取りを理解丁7)ためにまずマツキントヴシュオペ
レーティングシステム1 3 2 カ1イベント駆動型
”であることに注目されたい。オペレーティングシステ
ムはイベントキュ(図示せず)Y保持し,マウス134
やキーボード136のような入力装置がこのキュー(待
ち行列)にイベントを゜記人( post) ” L,
.これに対してオペレーティングシステムが例えば適
当なテキストエントリーを生成したり,マウスの移動を
行なう。ついでオペレーティングシステム132は例え
ばマツキントッシュアプリケーション(例えばマヅクラ
イト169やデスクトップアクセサリー例えばカリキュ
レータ−137)に対し、−v−ユー上のイベント(あ
る場合)を示すメッセージを渡す。ある動作モードでは
音声制御解読器132も同様にオペレーティングシステ
ムのイベントキューにイベントを記入することにより,
オペレーティングシステム(及び同時にランしているア
プリケーションやデスクトップアクセサリー)聖制御す
る。音声制御解読器によって記入されるイベントは代表
的にはマウスの動作かキーボードのキーストロークある
いはその両方に音声コマンドの種類に応じて対応する。
従って音声ナビゲータ装置102は付加的なユーザーイ
ンターフェースを提供するものである。場合によっては
音声イベントは表示されるべきテキストストリ/グある
いはアプリケーションプログラムによって処理されるテ
キストに含まれるテキストストリングを構或する。
ンターフェースを提供するものである。場合によっては
音声イベントは表示されるべきテキストストリ/グある
いはアプリケーションプログラムによって処理されるテ
キストに含まれるテキストストリングを構或する。
音声ナビゲーター装置の動作中の任意の時点で音声認識
ソフトウェア102を教育して特定のユーザーの音声の
認識を学ばせ,各音声にテキストストリングを関連づけ
させることができろ。このモードでは音声認識ソフトウ
ェア120はユーザーに対し認識されるべき音声の名@
(例えば“ファイル”ページタウン″)のメニューχ表
示する。これらの名前とそれに対応する音声制御コマン
ドストリング(適当なアクシ冒ンfI:3Aわす。)が
現在のワードリスト124に現われる。ユーザーは関心
のある音声名を指定し,ついでその音声名に対応する音
声を発声する。例えば音声名が1ファイル”である時ユ
ーザーは1ファイル”あるいは“ファイルして下さい”
と言う。音声ナピゲーターボックス122からこのよう
な音声に対応するデジタルサンプルが音声認識ソフトウ
ェア120に送られ,これに対して音声認識ソフトウェ
アはその音声浅表わ丁1マクロ”を生成丁る。
ソフトウェア102を教育して特定のユーザーの音声の
認識を学ばせ,各音声にテキストストリングを関連づけ
させることができろ。このモードでは音声認識ソフトウ
ェア120はユーザーに対し認識されるべき音声の名@
(例えば“ファイル”ページタウン″)のメニューχ表
示する。これらの名前とそれに対応する音声制御コマン
ドストリング(適当なアクシ冒ンfI:3Aわす。)が
現在のワードリスト124に現われる。ユーザーは関心
のある音声名を指定し,ついでその音声名に対応する音
声を発声する。例えば音声名が1ファイル”である時ユ
ーザーは1ファイル”あるいは“ファイルして下さい”
と言う。音声ナピゲーターボックス122からこのよう
な音声に対応するデジタルサンプルが音声認識ソフトウ
ェア120に送られ,これに対して音声認識ソフトウェ
アはその音声浅表わ丁1マクロ”を生成丁る。
このマクロは音声ファイル120に記憶され,その後ワ
ードリスト124内の音声名に関連づけられる。通常発
声は2回以上繰り返され,特定の話者の音声の変動を考
慮したマクロが作られる。
ードリスト124内の音声名に関連づけられる。通常発
声は2回以上繰り返され,特定の話者の音声の変動を考
慮したマクロが作られる。
発声される音声の意味は音声名に対応する必要はなく,
又音声名のテキストはワードリストに記憶される音声制
御コマンドストリングに対応丁る必要はない。例えばオ
ペレーティングシステムにファイルを保存させるコマン
ドストリングに対する音声名として”ファイル保存”を
使用したとする。この場合これに関連づけられるコマン
ドストリングは” @MENU(f″ile,2)”で
あリエ、コノ音声名に対してユーザーが示す音声は゜残
せ(i mmor tal i Ze ) ”でありえ
る。音声認識ソフトウェアと音声制御によりこのような
音声,名前コマンド及びコマンドストリングは音声ファ
イルとワドリスト124内において適当に関連づけられ
る。
又音声名のテキストはワードリストに記憶される音声制
御コマンドストリングに対応丁る必要はない。例えばオ
ペレーティングシステムにファイルを保存させるコマン
ドストリングに対する音声名として”ファイル保存”を
使用したとする。この場合これに関連づけられるコマン
ドストリングは” @MENU(f″ile,2)”で
あリエ、コノ音声名に対してユーザーが示す音声は゜残
せ(i mmor tal i Ze ) ”でありえ
る。音声認識ソフトウェアと音声制御によりこのような
音声,名前コマンド及びコマンドストリングは音声ファ
イルとワドリスト124内において適当に関連づけられ
る。
第2A図において音声ナビゲータの使用するワードリス
ト124はオペレーティングシステムの下で動作する言
語作戒デスクアクセサリー140にまり生威される。各
ワードリスト124は階層構造をとる。すなわちリスト
内のある種の音声名は他の音声名のサブリストにリンク
する。階層構造の現在の使用レベルにある音声名のリス
トのみが認識可能である。(本実施例では階層構造の各
レベルの音声名の数は千程度までもてる。)音声制御の
動作において゜ファイル“のような音声によりスクリー
ン上にファイルのメニューが呼び出されそれより低い階
層構造レベルの音声名の後続リストにリンクする。例え
ばファイルのメニューはそれぞれの音声に関連づけられ
る“保存”゜オープン”や1として保存(save a
s) ”のような後続コマンドをリストアップ丁ること
かできる。
ト124はオペレーティングシステムの下で動作する言
語作戒デスクアクセサリー140にまり生威される。各
ワードリスト124は階層構造をとる。すなわちリスト
内のある種の音声名は他の音声名のサブリストにリンク
する。階層構造の現在の使用レベルにある音声名のリス
トのみが認識可能である。(本実施例では階層構造の各
レベルの音声名の数は千程度までもてる。)音声制御の
動作において゜ファイル“のような音声によりスクリー
ン上にファイルのメニューが呼び出されそれより低い階
層構造レベルの音声名の後続リストにリンクする。例え
ばファイルのメニューはそれぞれの音声に関連づけられ
る“保存”゜オープン”や1として保存(save a
s) ”のような後続コマンドをリストアップ丁ること
かできる。
言語作成によりユーザーは音声名と関連するコマンドス
トリングの階層的言語聖生成でき言語の階層性を再構或
でき,更に新しい音声語を追加することができる。言語
がユーザーの希望する形になると言語はワードリスト1
24に変換される。
トリングの階層的言語聖生成でき言語の階層性を再構或
でき,更に新しい音声語を追加することができる。言語
がユーザーの希望する形になると言語はワードリスト1
24に変換される。
音声名とコマンドストリングの階層構造は調整できるの
で音声ナピグーター装置の使用者はアプリケーションに
プリセットされたメニューの階層構造には制約されない
。例えばユーザーは“保存゜ノコマンドを音声階N構造
。)トップレベル[移7ことによりファイルのメニュー
wWひ出さなく1も直接ファイルヶ保存丁ることかでき
る。更に:ーザーは例えば新しい音声名1サヨナラ″馨
作=てファイルを保存してただちに手続き馨終らせここ
ともできろ。
で音声ナピグーター装置の使用者はアプリケーションに
プリセットされたメニューの階層構造には制約されない
。例えばユーザーは“保存゜ノコマンドを音声階N構造
。)トップレベル[移7ことによりファイルのメニュー
wWひ出さなく1も直接ファイルヶ保存丁ることかでき
る。更に:ーザーは例えば新しい音声名1サヨナラ″馨
作=てファイルを保存してただちに手続き馨終らせここ
ともできろ。
言語作或140の生11i12する各言語には音声及乙
音声名に関連づけられるアクション(例えば所5の泣置
でのマウスのクリック、スクリーン上で(テキストのタ
イプ)聖表わすコマンドストリン多も含む。音声ナビゲ
ーター装置の学習をわかりぺ丁く丁るためユーザーは音
声と音声語にユーザーが国連つけたいと思うアクション
を記述するコマンドストリング會特定丁る必要はない。
音声名に関連づけられるアクション(例えば所5の泣置
でのマウスのクリック、スクリーン上で(テキストのタ
イプ)聖表わすコマンドストリン多も含む。音声ナビゲ
ーター装置の学習をわかりぺ丁く丁るためユーザーは音
声と音声語にユーザーが国連つけたいと思うアクション
を記述するコマンドストリング會特定丁る必要はない。
事実ユーザーは言語作或の言語で記憶されるコマンドス
トリングやその結果としてのワードリスト124を知る
必要がなく、それを見ることもない。
トリングやその結果としてのワードリスト124を知る
必要がなく、それを見ることもない。
5記録“モードにおいて一連のアクション’a=f声名
に関連づけるためにユーザーは単に所望のアクション(
例えばキーボードでテキストをタイプイ/するかマウス
χ所定のメニューにクリヴクすること。)を行なうだけ
でよい。実行されたアクションは適当なコマンドストリ
ングに変換されユーザーが記録モード馨オフに戻した時
点でコマンドストリングは選択した音声名に関連づけら
れる。
に関連づけるためにユーザーは単に所望のアクション(
例えばキーボードでテキストをタイプイ/するかマウス
χ所定のメニューにクリヴクすること。)を行なうだけ
でよい。実行されたアクションは適当なコマンドストリ
ングに変換されユーザーが記録モード馨オフに戻した時
点でコマンドストリングは選択した音声名に関連づけら
れる。
百語作或馨使用中ユーザーは音声名馨入力するf.Jt
)/lC#−−ホード142から音戸名ケタィプインし
てデフォルトテキスト作或手続き146(クリップボー
ド上のテキストファイルナ栴文解析するための手続きで
あり,そこではテキストファイル内のそれぞれのワード
に対して一つの音声名が作威され、すべての音声名は同
じ階層レベルからスタートする。)を使用するかあるい
はデフォルトメニュー作或手続き(アプリケーションの
実行可能なコード144ケ解析してアプリケーションの
メニュー内のコマンド名に等しい音声名のセットを生#
:する手続きであり、そこでは名前の初期階層構造はア
プリケーションのメニューの階層構造と等しくなる)を
使用することにより言語4作或することができる。
)/lC#−−ホード142から音戸名ケタィプインし
てデフォルトテキスト作或手続き146(クリップボー
ド上のテキストファイルナ栴文解析するための手続きで
あり,そこではテキストファイル内のそれぞれのワード
に対して一つの音声名が作威され、すべての音声名は同
じ階層レベルからスタートする。)を使用するかあるい
はデフォルトメニュー作或手続き(アプリケーションの
実行可能なコード144ケ解析してアプリケーションの
メニュー内のコマンド名に等しい音声名のセットを生#
:する手続きであり、そこでは名前の初期階層構造はア
プリケーションのメニューの階層構造と等しくなる)を
使用することにより言語4作或することができる。
音声名1:r:キーボードからタイブイン丁るかテキス
トファイル馨構文解析−fることによって生成すると音
声名は当初キーストロークに関連づけられ,キーボード
からタイプインした時に名前ケ生成する。したがって名
前“text”はまずキーストロークT−E−X−TV
C関連づけられる。名前tアプリケーションに対して実
行可能なコード144を購文解析丁ることによって生成
した場合は名前は初めにアプリケーションの対応jるメ
ニューコマンドケ実行するコマンドストリングに四連づ
げられる。このような初期コマンドストリングは変更し
たいと思う音声名馨選択し言語作g2記録モードにおく
だけで容易に変更することができる。
トファイル馨構文解析−fることによって生成すると音
声名は当初キーストロークに関連づけられ,キーボード
からタイプインした時に名前ケ生成する。したがって名
前“text”はまずキーストロークT−E−X−TV
C関連づけられる。名前tアプリケーションに対して実
行可能なコード144を購文解析丁ることによって生成
した場合は名前は初めにアプリケーションの対応jるメ
ニューコマンドケ実行するコマンドストリングに四連づ
げられる。このような初期コマンドストリングは変更し
たいと思う音声名馨選択し言語作g2記録モードにおく
だけで容易に変更することができる。
言語作或の出力は言語ファイル148である。
このファイルには音声名とそれに対応するコマンドスト
リングが含まれる。言語ファイル148は7オーマット
化されて音声コンパイラー15口(ドラゴンシステムか
ら入力可能)に入刀され,音声コンパイラー150によ
り言語ファイルは音声認識ソフトウエアが使用するワー
ドリスト124に変換される(言語ファイルの構文は本
書の参考文献として音声ナビゲーター開発者レファラン
スマニュアルに示されている)。
リングが含まれる。言語ファイル148は7オーマット
化されて音声コンパイラー15口(ドラゴンシステムか
ら入力可能)に入刀され,音声コンパイラー150によ
り言語ファイルは音声認識ソフトウエアが使用するワー
ドリスト124に変換される(言語ファイルの構文は本
書の参考文献として音声ナビゲーター開発者レファラン
スマニュアルに示されている)。
第2B図に示すように学習した音戸σ)それぞれのマク
ロ147は音声ファイル122に記憶される。対応する
音声名149とコマンドストリング151は互いに関連
づけられかつ音声に関連づけられワードリスト124に
記憶される。ワードリスト124は言語作5!14口に
より生成され修正サレル。音声ファイル122は学習モ
ードノ時音声制御ドライバー128の制御のもとに音声
認識ソフトウェア120により生成され修正される。
ロ147は音声ファイル122に記憶される。対応する
音声名149とコマンドストリング151は互いに関連
づけられかつ音声に関連づけられワードリスト124に
記憶される。ワードリスト124は言語作5!14口に
より生成され修正サレル。音声ファイル122は学習モ
ードノ時音声制御ドライバー128の制御のもとに音声
認識ソフトウェア120により生成され修正される。
第3図に示す音声ナビゲーター装置102において音声
ナビゲーターハードウエアボックス152には、マイク
ロフォンからのアナログ信号を処理のためにデジタル信
号に変換するアナログデジタル(A/D)変換器154
.デジタル化した信号娶フィルタリングし.圧縮丁るD
SP部156、マッ−?ン}ッシュと通信f7:,f一
めのSDSTマ家一ジャ158及びマイクロフォンを制
御するためのマイクロフォン制御部160が含!tLる
。
ナビゲーターハードウエアボックス152には、マイク
ロフォンからのアナログ信号を処理のためにデジタル信
号に変換するアナログデジタル(A/D)変換器154
.デジタル化した信号娶フィルタリングし.圧縮丁るD
SP部156、マッ−?ン}ッシュと通信f7:,f一
めのSDSTマ家一ジャ158及びマイクロフォンを制
御するためのマイクロフォン制御部160が含!tLる
。
更に音声ナビゲータ装置は発声検出ルーテン164とコ
マンド実行ルーチン166ft含む音声認識ソフトウエ
アドライバー120を含む。発声の検出164のために
音声ドライバーは音声ナビゲータ一のハードウェアを周
期的にポーリングし(168)音声が音声ナビゲーター
ボックス152に入力されたかどうかをマイクロフォン
からの信号の振幅にもとすいて判定する。発声が検出さ
れると(170)音声ドライノくーは符号化したデジタ
ルサンプル(トークン)の音声バツファーを生成し,コ
マンド実行ドライバー166に使用させる。
マンド実行ルーチン166ft含む音声認識ソフトウエ
アドライバー120を含む。発声の検出164のために
音声ドライバーは音声ナビゲータ一のハードウェアを周
期的にポーリングし(168)音声が音声ナビゲーター
ボックス152に入力されたかどうかをマイクロフォン
からの信号の振幅にもとすいて判定する。発声が検出さ
れると(170)音声ドライノくーは符号化したデジタ
ルサンプル(トークン)の音声バツファーを生成し,コ
マンド実行ドライバー166に使用させる。
音声制御ドライバー128からのコ1ンドに応答してC
166)音声認識ドライノくーは検出音声(トークン)
/ターミナル変換174により新しい音声χ学ぶことが
できる。トークンは音声のマクロに変換されターぐナル
として音声ファイル122(第1図)内に記憶される。
166)音声認識ドライノくーは検出音声(トークン)
/ターミナル変換174により新しい音声χ学ぶことが
できる。トークンは音声のマクロに変換されターぐナル
として音声ファイル122(第1図)内に記憶される。
音声認識パターンマッチング172も音声ドライバーか
らのコマンドによって動作する。認識中記憶した入力デ
ジタルサンプルのトーク/は認識階層構造の現在レベル
にある音声のマクロと比較される。一致が見つかるとタ
ーミナル/出力変換176が実行され,ワードリスト1
24(第1図)から認識した音声に一連づげられたコマ
ンドストリングが選択される。更に状態管理178(例
えば感度制御の変更)も音声ドライバーからのコマンド
によって動作する。
らのコマンドによって動作する。認識中記憶した入力デ
ジタルサンプルのトーク/は認識階層構造の現在レベル
にある音声のマクロと比較される。一致が見つかるとタ
ーミナル/出力変換176が実行され,ワードリスト1
24(第1図)から認識した音声に一連づげられたコマ
ンドストリングが選択される。更に状態管理178(例
えば感度制御の変更)も音声ドライバーからのコマンド
によって動作する。
音声制御ドライバー128は制御コマンドを介して音声
ドライバー120に対するインターフェース182、イ
ベント記入とオペレーティングシステムのフックを介し
てマツキントツシュオペレーティングシステム132(
第1図)に対するインターフェース184.及び表示メ
ニューとプロンプトを介してユーザーに対するインター
フェース186を構戚する。
ドライバー120に対するインターフェース182、イ
ベント記入とオペレーティングシステムのフックを介し
てマツキントツシュオペレーティングシステム132(
第1図)に対するインターフェース184.及び表示メ
ニューとプロンプトを介してユーザーに対するインター
フェース186を構戚する。
ドライバーに対するインターフェース182により音声
制御は音声ドライバーコマンド機能166にアクセスす
ることができる。またこのインターフェースにより音声
制御は音声認識装置の状態の監視(188)、例えばマ
ッキン} y ″a K渡丁音声キ1−の′4ツフ−r
170の音声}−ク7fztチェックすることがで
きる。発声がありプロセッサーの時間を使用できる時音
声制御はsdi−認識190のコマンドを発行して音声
ドライバーの認識パターンマッテングルーテン172を
呼び出す。
制御は音声ドライバーコマンド機能166にアクセスす
ることができる。またこのインターフェースにより音声
制御は音声認識装置の状態の監視(188)、例えばマ
ッキン} y ″a K渡丁音声キ1−の′4ツフ−r
170の音声}−ク7fztチェックすることがで
きる。発声がありプロセッサーの時間を使用できる時音
声制御はsdi−認識190のコマンドを発行して音声
ドライバーの認識パターンマッテングルーテン172を
呼び出す。
更にドライバーに対するインターフェースはsdi−出
刀192のコマンドを発行して音声ドライバーにあるタ
ーミナル/出力変換ルーチン176馨制御し,これによ
り認識された音声を音声制御が使用するコマンドストリ
ングに変換する。コマンドストリングはオペレーティン
グシステムに知らせるべきマウスやキーストロークのイ
ベントを示すかあるいは音声制御自身に対丁るコマンド
(例えば音声制御のイネープル又はディスエーブル)を
表わ丁。
刀192のコマンドを発行して音声ドライバーにあるタ
ーミナル/出力変換ルーチン176馨制御し,これによ
り認識された音声を音声制御が使用するコマンドストリ
ングに変換する。コマンドストリングはオペレーティン
グシステムに知らせるべきマウスやキーストロークのイ
ベントを示すかあるいは音声制御自身に対丁るコマンド
(例えば音声制御のイネープル又はディスエーブル)を
表わ丁。
ユーザー〇万から見れば音声制御は感度等の内部パラメ
ーターと新しい音声学習コマンド等の内部コマンドを持
つマツキントッシュのドライバーにすぎない。ユーザー
が音声制御の処理とみる処理は実際には機能に依存して
音声制御か音声ドライバーによって実行される。例えば
音声学習手続きは音声制御の制御のもとに音声ドライノ
くーによって実行される。
ーターと新しい音声学習コマンド等の内部コマンドを持
つマツキントッシュのドライバーにすぎない。ユーザー
が音声制御の処理とみる処理は実際には機能に依存して
音声制御か音声ドライバーによって実行される。例えば
音声学習手続きは音声制御の制御のもとに音声ドライノ
くーによって実行される。
マツキントッシュオペレーティングシステムに対するイ
ンターフェース184Kより音声制御は適宜オペレーテ
ィングシステムを操作する(例えばイベントの記入やイ
ベントキューの変更により)ことができる。マクロ解読
器(Macro InterPre一ter)194は
音声ドライバーからテキストノくツファーを介して送ら
れてきたコマンドストリングを取り出し,それを解読し
てとるべきアクションを決定する。これらのコマンドは
表示装置上に表示すべきテキストストリングや実行すべ
きマウスの移動やメニューの選択を表わす。
ンターフェース184Kより音声制御は適宜オペレーテ
ィングシステムを操作する(例えばイベントの記入やイ
ベントキューの変更により)ことができる。マクロ解読
器(Macro InterPre一ter)194は
音声ドライバーからテキストノくツファーを介して送ら
れてきたコマンドストリングを取り出し,それを解読し
てとるべきアクションを決定する。これらのコマンドは
表示装置上に表示すべきテキストストリングや実行すべ
きマウスの移動やメニューの選択を表わす。
コマンドストリングの解読を行なう際音声制御はマツキ
ントッシュのイベント−?ユーを操作しなげればならた
い。このタスクはOSイベント管理196によって実行
される。上述したように音声イベントによって通常はキ
ーボートやマウスに1測連ツケられるイベント馨シミュ
レートすることができる。マウスイベントはマウスハン
ドラー198により取り扱われる。マウスイベントはO
Sイベント管理196によって実行される通常のイベン
ト記入ルーチンの外部においてオペレーティングシステ
ムの操作を要求することがあるため別のレベルでのハン
ドリングを必要とする。
ントッシュのイベント−?ユーを操作しなげればならた
い。このタスクはOSイベント管理196によって実行
される。上述したように音声イベントによって通常はキ
ーボートやマウスに1測連ツケられるイベント馨シミュ
レートすることができる。マウスイベントはマウスハン
ドラー198により取り扱われる。マウスイベントはO
Sイベント管理196によって実行される通常のイベン
ト記入ルーチンの外部においてオペレーティングシステ
ムの操作を要求することがあるため別のレベルでのハン
ドリングを必要とする。
マツキントッシュオペレーティングシステム162に対
するメインインター7エースはイベントにもとすくもの
であり、音声認識されてマヴキントッシュに渡される大
部分のコマンドで使用される。しかしオペレーティング
システムの状態に対するその他の”フック”があり、こ
れらはマウスの位置決めやマウスの動き等の制御バラメ
ーターに使用される。例えば後述するようにマウスのボ
タン馨下げろ(ダウンさせる)コマンドはイベントを発
生丁るがマウスのボタンを下げた状態に保ち,マウス聖
メニュー上で移動する操作にはオペレーティングシステ
ムのフックを必要とする。
するメインインター7エースはイベントにもとすくもの
であり、音声認識されてマヴキントッシュに渡される大
部分のコマンドで使用される。しかしオペレーティング
システムの状態に対するその他の”フック”があり、こ
れらはマウスの位置決めやマウスの動き等の制御バラメ
ーターに使用される。例えば後述するようにマウスのボ
タン馨下げろ(ダウンさせる)コマンドはイベントを発
生丁るがマウスのボタンを下げた状態に保ち,マウス聖
メニュー上で移動する操作にはオペレーティングシステ
ムのフックを必要とする。
参考として表Bに音声ナビゲーターの使用するオペレー
ティングシステムのフックを例示してある。
ティングシステムのフックを例示してある。
オペレーティングシステムのフックはトラップフィルタ
ー200によって実現される。トラップフィルター20
0は音声制御が使用するフィルターであり,これにより
マツ千ントッシュオペレーティングシステムはOSイベ
ントVil96,!−マウスハンドラー198が実行す
る制御を受けつげる。
ー200によって実現される。トラップフィルター20
0は音声制御が使用するフィルターであり,これにより
マツ千ントッシュオペレーティングシステムはOSイベ
ントVil96,!−マウスハンドラー198が実行す
る制御を受けつげる。
マツキントヴシュオペレーティングシステムのトラップ
はマツキントッシュのリードオンリーメモリー(ROM
)におかれ,システム4制#するためのハイレベルコマ
ンド馨実現する。ハイレベルコマンドの例としてスクリ
ーンにストリングを書くコマンド,ウインドウのズーミ
ング、ウィンンドウ娶スクリーンの正面と背面に移動さ
せるコマンド,マウスボタンの状態をポーリングするコ
マンドがあげられる。音声制御ドライバーがマツキント
ッシュオペレーティングシステムと正しくインターフェ
ースするためにはこのようなオペレ一ティングシステム
のトラップ馨制御して適当なイヘント’¥発生させなげ
ればならない。
はマツキントッシュのリードオンリーメモリー(ROM
)におかれ,システム4制#するためのハイレベルコマ
ンド馨実現する。ハイレベルコマンドの例としてスクリ
ーンにストリングを書くコマンド,ウインドウのズーミ
ング、ウィンンドウ娶スクリーンの正面と背面に移動さ
せるコマンド,マウスボタンの状態をポーリングするコ
マンドがあげられる。音声制御ドライバーがマツキント
ッシュオペレーティングシステムと正しくインターフェ
ースするためにはこのようなオペレ一ティングシステム
のトラップ馨制御して適当なイヘント’¥発生させなげ
ればならない。
例えばメニューイベントヲ発生させるため音声制御はメ
ニュー選択トラップを1とらえる(sei−28)″(
丁なわちオペレーティングシステムからトラップ制御髪
とる。)。いったん音声制御かトラ7フ゜をとらえると
メニュー選択のためσファフ゜リケーション要求が音声
制のに渡される。このようにして音声制御は適宜オペレ
ーションシステムの出力をプログラムに合わせて修正す
ることができ.それによってシステムの動作ケ所望に制
御することができる。
ニュー選択トラップを1とらえる(sei−28)″(
丁なわちオペレーティングシステムからトラップ制御髪
とる。)。いったん音声制御かトラ7フ゜をとらえると
メニュー選択のためσファフ゜リケーション要求が音声
制のに渡される。このようにして音声制御は適宜オペレ
ーションシステムの出力をプログラムに合わせて修正す
ることができ.それによってシステムの動作ケ所望に制
御することができる。
ユーザーに対するインターフェース186はユーザーに
音声制御の動作馨制のさせる。プロンプト2口2はマヴ
キントッシュのスクリーン上に認識された音声の名前を
表示してユーザーに正しい声発が認猷されたかどうかχ
問い合わせることができる。オンライントレーニング2
口4によりユーザーはマツキントッシュχ使用中の好き
な時に現在使用中のワードリスト124の音声名をアク
セスすることができる。ユーザーはどの音声名が丁でに
学習済みかどうかを知ることができオンラインの形態で
音声名を再学習させることができる。
音声制御の動作馨制のさせる。プロンプト2口2はマヴ
キントッシュのスクリーン上に認識された音声の名前を
表示してユーザーに正しい声発が認猷されたかどうかχ
問い合わせることができる。オンライントレーニング2
口4によりユーザーはマツキントッシュχ使用中の好き
な時に現在使用中のワードリスト124の音声名をアク
セスすることができる。ユーザーはどの音声名が丁でに
学習済みかどうかを知ることができオンラインの形態で
音声名を再学習させることができる。
(これらの機能は上述したように音声制御が音声ドライ
バーインターフェースを使用すること馨必要とする。)
ユーザーオプション206により,種々の音声制御設定
の選択例えば音声認識装置の確カサノレベル(コンフィ
デンスレベル丁なわち音声が認識されたと決定するのに
要する確かさのレベル)の選択が可能である。こ0).
Kうなパラメーターに対する最適値は使用するマイクロ
フォンやユーザーの発生する音声に依存する。
バーインターフェースを使用すること馨必要とする。)
ユーザーオプション206により,種々の音声制御設定
の選択例えば音声認識装置の確カサノレベル(コンフィ
デンスレベル丁なわち音声が認識されたと決定するのに
要する確かさのレベル)の選択が可能である。こ0).
Kうなパラメーターに対する最適値は使用するマイクロ
フォンやユーザーの発生する音声に依存する。
ユーザーに対するインターフェース186はマツキント
ッシュのイベントインターフェースを介しては動作しな
い。ユーザーインターフェース186は単に音声認識ソ
フトウェアを制御し音声制御ドライバーの状態を制御す
る再帰ループである。
ッシュのイベントインターフェースを介しては動作しな
い。ユーザーインターフェース186は単に音声認識ソ
フトウェアを制御し音声制御ドライバーの状態を制御す
る再帰ループである。
言語作成14口はアプリケーション分析210とイベン
ト記録212を含む。アプリケーション分析210は上
述したようにアプリケーションの実行可能なコードを構
文解析し,適当なデフォルト音声名とあらかじめプログ
ラムされたコマンドストリングと馨生戚する。アブリケ
ーション分析210にはメニューに対応するテキストス
トリングを見つげるために実行可能なコードをサーチ丁
るメニ3一抽出手続き214が含まれる。更にアプリケ
ーション分析210にはアプリケーションの各メニュー
の項目に対応するコマンドストリング馨生戒丁る制御識
別手続き216が含まれろ。
ト記録212を含む。アプリケーション分析210は上
述したようにアプリケーションの実行可能なコードを構
文解析し,適当なデフォルト音声名とあらかじめプログ
ラムされたコマンドストリングと馨生戚する。アブリケ
ーション分析210にはメニューに対応するテキストス
トリングを見つげるために実行可能なコードをサーチ丁
るメニ3一抽出手続き214が含まれる。更にアプリケ
ーション分析210にはアプリケーションの各メニュー
の項目に対応するコマンドストリング馨生戒丁る制御識
別手続き216が含まれろ。
イベント記録212はユーザーコマンドを記録し、音声
に対するコマンドストリングを生成するドライバーであ
る。これによりユーザーは上述したように容易にコマン
ドストリングな生成,編集することができ、る。
に対するコマンドストリングを生成するドライバーであ
る。これによりユーザーは上述したように容易にコマン
ドストリングな生成,編集することができ、る。
イベント記録に入力されるイベントの種類にはテキスト
エントリー218.マウスイベント220(例えばマウ
スをスクリーン上の特定の場所にクリック).特定のア
プリケーションを制御するために必要なスペシャルイベ
ント222及び音声制御ドライバーの動作に関係する音
声イベント224が含まれる。
エントリー218.マウスイベント220(例えばマウ
スをスクリーン上の特定の場所にクリック).特定のア
プリケーションを制御するために必要なスペシャルイベ
ント222及び音声制御ドライバーの動作に関係する音
声イベント224が含まれる。
言語作成
第4図に示丁言語作或のメインイベントループ230は
マヴキントッシュオペレーティングシステムの他のデス
クアクセサリーで使用されるメインイベントループと同
様の構造をもっている。
マヴキントッシュオペレーティングシステムの他のデス
クアクセサリーで使用されるメインイベントループと同
様の構造をもっている。
“アップルメニュー”からデスクアクセサリーが選択さ
れると1オープン”イベントがアクセサリーに送られる
。又.使用していたアプリケーションが終了したりユー
ザーがメニューを使ってアプリケーションを終了させた
場合には1クローズイベントがアクセサリーに送られる
。その他O場合アクセサリーには制御イベントが送られ
る。制御イベントのメッセージパラメーターはイベント
の種類を表わしている。第4図に示すように言語作成の
メインイベントループ260はイベントタイプの鍼別2
62から始まる。
れると1オープン”イベントがアクセサリーに送られる
。又.使用していたアプリケーションが終了したりユー
ザーがメニューを使ってアプリケーションを終了させた
場合には1クローズイベントがアクセサリーに送られる
。その他O場合アクセサリーには制御イベントが送られ
る。制御イベントのメッセージパラメーターはイベント
の種類を表わしている。第4図に示すように言語作成の
メインイベントループ260はイベントタイプの鍼別2
62から始まる。
イベントがオープンイベントの場合,言語作或は言語作
成が丁でにオーブンされているかどうか馨調べる。(2
34)言語作戚がすでにオープンされていれば現在の言
語(現在のワードリストにある音声名のリスト)ヲ表示
し(236)、言語作或ハオペレーティングシステムに
リターンする。
成が丁でにオーブンされているかどうか馨調べる。(2
34)言語作戚がすでにオープンされていれば現在の言
語(現在のワードリストにある音声名のリスト)ヲ表示
し(236)、言語作或ハオペレーティングシステムに
リターンする。
(237)言語作戚が開いてなければ初期化タ行なって
(238)オペレーティングシステムに戻る。
(238)オペレーティングシステムに戻る。
(239)
イベントがクローズイベントの場合,言語作戚は現在の
言語ケ言語ファイルとして保存するかどうかをユ=ザー
に問い合わせる(240)。ユーザーが言語作或に現在
の言語の保存を指示した場合には現在の言語はプロダク
ション書き込みモジュール(242)により言語ファイ
ルに変換され,言語作或は終了する(244)。現在の
言@馨保存しない場合,言語作或はそのまま終了する。
言語ケ言語ファイルとして保存するかどうかをユ=ザー
に問い合わせる(240)。ユーザーが言語作或に現在
の言語の保存を指示した場合には現在の言語はプロダク
ション書き込みモジュール(242)により言語ファイ
ルに変換され,言語作或は終了する(244)。現在の
言@馨保存しない場合,言語作或はそのまま終了する。
イベントが制御イベントの場合,246に示すように言
語作成がおかれていろモードに依存する形でイベントに
応答する。この理由は言語作或がイベント(ユーザーが
音声に割り当てようとするマウスの動き,マウスのクリ
ックやテキストエントリー)を記録するユーティリティ
馨もっており.言語作戚ウインドウχ作戚しないイベン
ト聖記録しなげればならないからである。しかし,記録
中でない時は言語作成は言語作戒ウインドウ内のイベン
トのみに応答すべきである。したがって言語作成はある
モードでは応答するイベントでも別のモードでは応答し
ない。
語作成がおかれていろモードに依存する形でイベントに
応答する。この理由は言語作或がイベント(ユーザーが
音声に割り当てようとするマウスの動き,マウスのクリ
ックやテキストエントリー)を記録するユーティリティ
馨もっており.言語作戚ウインドウχ作戚しないイベン
ト聖記録しなげればならないからである。しかし,記録
中でない時は言語作成は言語作戒ウインドウ内のイベン
トのみに応答すべきである。したがって言語作成はある
モードでは応答するイベントでも別のモードでは応答し
ない。
制御イベントは三つの分岐248,250.252のい
づれか1つを通る。すべてのメニューイベントはaCC
Menu分岐252を通る。(デスクアクセサリーメニ
ュー内で生じたメニューイベントのみが言語作或に渡さ
れる。)言語作成ウインドウに関するすべてのウインド
ウイベントはaccEvent分岐250を通る。言語
作或に受け取られるその他のイベントは言語作成以外の
デスクトップアクセサリーやアプリケーションに関する
イベントに対応するものであり,アクションを記録する
ためK accRun分岐248に通される。
づれか1つを通る。すべてのメニューイベントはaCC
Menu分岐252を通る。(デスクアクセサリーメニ
ュー内で生じたメニューイベントのみが言語作或に渡さ
れる。)言語作成ウインドウに関するすべてのウインド
ウイベントはaccEvent分岐250を通る。言語
作或に受け取られるその他のイベントは言語作成以外の
デスクトップアクセサリーやアプリケーションに関する
イベントに対応するものであり,アクションを記録する
ためK accRun分岐248に通される。
aCCRun分岐248ではイベントは記録され,選択
した音声名に関連づけられる。イベントの記録に先だっ
て言語作或は254で言語作或が記録モードかどうか馨
チェックする。記録2−ドでなげれば言語作或はそのま
まリターンする(256)。
した音声名に関連づけられる。イベントの記録に先だっ
て言語作或は254で言語作或が記録モードかどうか馨
チェックする。記録2−ドでなげれば言語作或はそのま
まリターンする(256)。
記録モードがオンの場合は258で言語作戒はどの記録
モードか宝テエツクする。
モードか宝テエツクする。
記録中言語作成はオペレーティングシステムiCマッキ
ントヴ−/:Lの所定時間( tick) (すなわち
1760秒毎に)言語作戊χ呼び出させる制御フラグ’
¥たてることによりオベンーティングシステムの制御を
獲得する。
ントヴ−/:Lの所定時間( tick) (すなわち
1760秒毎に)言語作戊χ呼び出させる制御フラグ’
¥たてることによりオベンーティングシステムの制御を
獲得する。
ユーザーが言語作或を対話モードに設定した場合、言語
作或は対話イベン}(fなわちユーザーがモーダル(
Modal )対話ボックス内に示されるアクションに
しか応答できないモーダル対話に関するイベント)ff
記録することができる。これχ達或するためにユーザー
は現在のアプリケーションにアクション(丁なわちマウ
スクリヴク,メ二ュー選択)馨行なって対話ボックス聖
スクリーン上に呼び出す。これによりユーザーは記録聖
初期化して対話ボックスに応答することができるように
なる。モーダル対話ボックスを作る場合に言語作戒が受
け取ったイベントはオペレーティ/グシステムにも渡さ
れる。しかしその他の場合はイベントはオペレーティン
グシステムには渡されない。
作或は対話イベン}(fなわちユーザーがモーダル(
Modal )対話ボックス内に示されるアクションに
しか応答できないモーダル対話に関するイベント)ff
記録することができる。これχ達或するためにユーザー
は現在のアプリケーションにアクション(丁なわちマウ
スクリヴク,メ二ュー選択)馨行なって対話ボックス聖
スクリーン上に呼び出す。これによりユーザーは記録聖
初期化して対話ボックスに応答することができるように
なる。モーダル対話ボックスを作る場合に言語作戒が受
け取ったイベントはオペレーティ/グシステムにも渡さ
れる。しかしその他の場合はイベントはオペレーティン
グシステムには渡されない。
言語作成のモーダル対話の記録は対話実行モジ瓢一ル2
60Kよって実行される。
60Kよって実行される。
モーダル対話イベントY記録していない時は言語作威は
1アクション”モードにおかれ、言語作戊はエディヴト
実行モジュール262K進−1r。
1アクション”モードにおかれ、言語作戊はエディヴト
実行モジュール262K進−1r。
aCCEvent分岐ではすべてのイベントはイベント
ハンドラーモジェール264に送られる。
ハンドラーモジェール264に送られる。
aCCMe nu 分岐ではデスクアクセサリーデスク
イベントが示すメニューが266でテエツクされる。イ
ベントが言語作或メニュー内で発生したイベントの場合
,そのイベントはメニュー処理モジュール268に渡さ
れる。他のイベントは無視される。(270) 第5図に示すようにエディット実行モジュール262は
,ループ272.274を実行する。アクション記録サ
ブモジュール272により記録される。
イベントが示すメニューが266でテエツクされる。イ
ベントが言語作或メニュー内で発生したイベントの場合
,そのイベントはメニュー処理モジュール268に渡さ
れる。他のイベントは無視される。(270) 第5図に示すようにエディット実行モジュール262は
,ループ272.274を実行する。アクション記録サ
ブモジュール272により記録される。
イベノトキューに記録すべきアクションが残っていろ場
合ループはアクション記録サフモジュールに戻る。イベ
ントキュー内に取り消しアクションが現われた場合(2
76).エデ,ト実行はメモリーにある現在の言語馨更
新することなくリターンする(277)。取り消しがた
くイベントが終了した場合にはエディット実行はメモリ
ーの言語會更新し,記録モードをオフにし(278)、
オペレーティングシステムに戻る(280)。
合ループはアクション記録サフモジュールに戻る。イベ
ントキュー内に取り消しアクションが現われた場合(2
76).エデ,ト実行はメモリーにある現在の言語馨更
新することなくリターンする(277)。取り消しがた
くイベントが終了した場合にはエディット実行はメモリ
ーの言語會更新し,記録モードをオフにし(278)、
オペレーティングシステムに戻る(280)。
第6図に示すようにアクション記録サブモジュール27
2では記録モードにおいてユーザーが行なったアクショ
ンが記録される。現在のアプリケーションがイベントキ
ュー上の次のイベントを要求した場合、そのイベントは
アクション記録でチェックされる。空( null )
でない各イベント(−fなわち各アク7ヨン)はアクシ
ョン記録で処理される。まず282でアクションの種類
がテエツクされる。アクションがメニュー馨選択してい
る場合(284)選択したメニューが記録される。アク
ションがマウスクリックの場合(286)ボタン?ルー
チン(第8図参照)がクリックがボタン(ボタンは正面
クイ/ドクのメニュー選択エリアにある)の内部で生じ
たかどうかを調べる。その場合ボタンは記録される(2
88)。クリックがボタ/内で生じていない場合はクリ
ックの場所が記録される(290)。
2では記録モードにおいてユーザーが行なったアクショ
ンが記録される。現在のアプリケーションがイベントキ
ュー上の次のイベントを要求した場合、そのイベントは
アクション記録でチェックされる。空( null )
でない各イベント(−fなわち各アク7ヨン)はアクシ
ョン記録で処理される。まず282でアクションの種類
がテエツクされる。アクションがメニュー馨選択してい
る場合(284)選択したメニューが記録される。アク
ションがマウスクリックの場合(286)ボタン?ルー
チン(第8図参照)がクリックがボタン(ボタンは正面
クイ/ドクのメニュー選択エリアにある)の内部で生じ
たかどうかを調べる。その場合ボタンは記録される(2
88)。クリックがボタ/内で生じていない場合はクリ
ックの場所が記録される(290)。
その他のアクションは特別のハンドラーによって記録さ
れる。これらのアクションとしてグループアクション2
92,マウスダウンアクション294.マウスアップア
クション296、ズームアクション298、拡大アクシ
ョン300.次ウインドウアクション302がある。
れる。これらのアクションとしてグループアクション2
92,マウスダウンアクション294.マウスアップア
クション296、ズームアクション298、拡大アクシ
ョン300.次ウインドウアクション302がある。
メニューのアクションの中には選択肢によりポップアッ
プメニ1−(メニュー取り出し)を作るものがある。こ
れらのアクションは適当なポップアップメ=.−Vポッ
プアップ(取り出す)ことによって処理され、これによ
りユーザーは所望の選択肢を選択することができる。移
動アクション3 0 4. 一時停止アクシゴンi6.
マクロールアクション308,テキストアクション31
0及び音声アクション612はそれぞれのメニューを取
り出し,アクション記録は314で(マウスを動か丁こ
とにより)ユーザーの選択したメニュー2チェックする
。メニューの選択がされていない場合はアクションは記
録されない(316)。されていれば選択肢が記録され
る(318)。
プメニ1−(メニュー取り出し)を作るものがある。こ
れらのアクションは適当なポップアップメ=.−Vポッ
プアップ(取り出す)ことによって処理され、これによ
りユーザーは所望の選択肢を選択することができる。移
動アクション3 0 4. 一時停止アクシゴンi6.
マクロールアクション308,テキストアクション31
0及び音声アクション612はそれぞれのメニューを取
り出し,アクション記録は314で(マウスを動か丁こ
とにより)ユーザーの選択したメニュー2チェックする
。メニューの選択がされていない場合はアクションは記
録されない(316)。されていれば選択肢が記録され
る(318)。
アプリケーションを開始( launch )させるア
クションもある。この場合320で選択したアプリケー
ションを判別する。アプリケーションが選択されていな
ければアクションは記録されず(322)選択されてい
れば選択されたアプリケーションが324で記録される
。
クションもある。この場合320で選択したアプリケー
ションを判別する。アプリケーションが選択されていな
ければアクションは記録されず(322)選択されてい
れば選択されたアプリケーションが324で記録される
。
第7図に示すように対話実行手続き260はマツキント
ヴシュコンピューターのモーダル対話の記録を行なう。
ヴシュコンピューターのモーダル対話の記録を行なう。
モーダル対話中ユーザーはモーダル対話ボックス内のア
クションにしか応答できない。これらのアクションに対
丁る応答を記録するため、対応実行は記録ステップの各
プロセスに対応する複数の段階をもっている。
クションにしか応答できない。これらのアクションに対
丁る応答を記録するため、対応実行は記録ステップの各
プロセスに対応する複数の段階をもっている。
ユーザーが対話記録を選択する最初の段階で対話実行は
選択肢として1記録( record ) ”と“取り
消し( cancel )”をもって言語作成対話ボッ
クス(第25図参照)をユーザーに提示する。ここでユ
ーザーは現在のアプリケーションと記録Tべき対話クリ
ックを行なうまでやりとりできる。この段階では対話実
行の呼び出しは丁べて対話選択326を通り,ここで最
初の言語作成対話ボックスが作られ,他のアクシッンは
無視してリターンする。(327) 第2の記録段階に進むためユーザーは言語作戒対話ボッ
クスの1記録”ポタンχクリックしてその後の対話の応
答を記録するように指示する。この段階では対話実行の
呼び出しは記録328を通り,ボタン?ルーテン330
で現在のアプリケーションの対話ボックス内のボタンが
選択されたかどうか聖テエックする。クリックがボタン
内で生じていればボタンを記録して(332)対話実行
はリターンする。(333)そうでなげればクリックの
位置を記録して(334)対話実行はリターンする(3
35)。
選択肢として1記録( record ) ”と“取り
消し( cancel )”をもって言語作成対話ボッ
クス(第25図参照)をユーザーに提示する。ここでユ
ーザーは現在のアプリケーションと記録Tべき対話クリ
ックを行なうまでやりとりできる。この段階では対話実
行の呼び出しは丁べて対話選択326を通り,ここで最
初の言語作成対話ボックスが作られ,他のアクシッンは
無視してリターンする。(327) 第2の記録段階に進むためユーザーは言語作戒対話ボッ
クスの1記録”ポタンχクリックしてその後の対話の応
答を記録するように指示する。この段階では対話実行の
呼び出しは記録328を通り,ボタン?ルーテン330
で現在のアプリケーションの対話ボックス内のボタンが
選択されたかどうか聖テエックする。クリックがボタン
内で生じていればボタンを記録して(332)対話実行
はリターンする。(333)そうでなげればクリックの
位置を記録して(334)対話実行はリターンする(3
35)。
すべてのクリックを記録した後,ユーサーハ言語作戒対
話ボックス内の1取り消し”ボタンをクリヅクする。こ
れにより記録の第三段階に入る。
話ボックス内の1取り消し”ボタンをクリヅクする。こ
れにより記録の第三段階に入る。
1取り消し”ボタンのクリックにより対話実行は取り消
し336に進み338でメモリーの現在の言語を更新し
,リターンする。(340)第8図に示すようにボタン
?手続き286はマウスクリックイベントがボタン上で
生じたかどうかを判定する。ボタン?はオペレーティン
グシステムから現在のウインドウ制御リスト342(現
在のウインドウのすべてのボタンの枠の位置情報を含む
マツキントッシュグローバル.付記Bを参照のこと。)
をもらい受けループ644から650でウインドウ制御
リストを解析する。各制御を350でフェッチし346
で制御の枠をうる。
し336に進み338でメモリーの現在の言語を更新し
,リターンする。(340)第8図に示すようにボタン
?手続き286はマウスクリックイベントがボタン上で
生じたかどうかを判定する。ボタン?はオペレーティン
グシステムから現在のウインドウ制御リスト342(現
在のウインドウのすべてのボタンの枠の位置情報を含む
マツキントッシュグローバル.付記Bを参照のこと。)
をもらい受けループ644から650でウインドウ制御
リストを解析する。各制御を350でフェッチし346
で制御の枠をうる。
548で枠を調べてクリックが枠内で生じたかどうかを
判別する。枠内で生じてなければ次の制御を350でフ
ェッテしてループを繰り返す。644でリストが終了の
時にはクリックがボタン上では生じていないのでノーを
返す.(352)クリックが枠内で生じている場合には
651で枠に名前がついているかどうかを調べそうであ
ればクリックがボタン上で生じているので654でイエ
ス浅返す。枠に名前がついていなければクリックはボタ
ン上で生じていないので356でノーを返す。
判別する。枠内で生じてなければ次の制御を350でフ
ェッテしてループを繰り返す。644でリストが終了の
時にはクリックがボタン上では生じていないのでノーを
返す.(352)クリックが枠内で生じている場合には
651で枠に名前がついているかどうかを調べそうであ
ればクリックがボタン上で生じているので654でイエ
ス浅返す。枠に名前がついていなければクリックはボタ
ン上で生じていないので356でノーを返す。
第9図に示すようにイベントハンドラーモジュ−k26
4は言語作戚表示ウインドウ内での通常のマツキントッ
シュイベントを取り扱う。言語作戒表示ウインドウは現
在の言語の音声名のリストを表示丁る。第9図に示すよ
うにイベントハンドラーは358でイベントがマウスイ
ベントかキーボートイベントかを判別し,その後,言語
作成ウインドウ上の適当なアクシ1ン馨実行する。
4は言語作戚表示ウインドウ内での通常のマツキントッ
シュイベントを取り扱う。言語作戒表示ウインドウは現
在の言語の音声名のリストを表示丁る。第9図に示すよ
うにイベントハンドラーは358でイベントがマウスイ
ベントかキーボートイベントかを判別し,その後,言語
作成ウインドウ上の適当なアクシ1ン馨実行する。
マウスイベントにはウインドウの移動360,ウインド
ウの拡大662,ウインドウのスクロール564.ウイ
ンドウ上でのクリック368(これにより音声名が選択
される),及びウインドウ上での移動370(これは音
声名をスクリーン上のある場所から別の場所に動かすこ
とでありこれによって言語階層構造におげろ音声の位置
が変わることかある。〕が含まれる。ウィンドウ内の音
声名上のダブルクリック366はアクションの記録のた
めにその音声名を選択し,エディット実行モジュール聖
起動させる。
ウの拡大662,ウインドウのスクロール564.ウイ
ンドウ上でのクリック368(これにより音声名が選択
される),及びウインドウ上での移動370(これは音
声名をスクリーン上のある場所から別の場所に動かすこ
とでありこれによって言語階層構造におげろ音声の位置
が変わることかある。〕が含まれる。ウィンドウ内の音
声名上のダブルクリック366はアクションの記録のた
めにその音声名を選択し,エディット実行モジュール聖
起動させる。
キーボードイベントにはカーソルダウン38口、カーソ
ルアップ382,カーソン右384,力一ソン左386
と共にいわゆる切り取り(cut)372、コピー37
4及びのりづげ( paste )376のルーテンが
含まれる。マウスでのダブルクリックと同様にキーボー
ドでのリターンキー押しにより現在の音声名が選択され
,その記録がエディット実行378により行なわれる。
ルアップ382,カーソン右384,力一ソン左386
と共にいわゆる切り取り(cut)372、コピー37
4及びのりづげ( paste )376のルーテンが
含まれる。マウスでのダブルクリックと同様にキーボー
ドでのリターンキー押しにより現在の音声名が選択され
,その記録がエディット実行378により行なわれる。
適当なコマンドハンドラーを呼び出した後イベントハン
ドラーはリターンする( 388)。イベントハンドラ
ーモジュールで実行される言語階層構造の変更はクロー
ズと保存操作の時にプロダクション書き込みモジュール
の生成する言語ファイルの階層構造に反映される。
ドラーはリターンする( 388)。イベントハンドラ
ーモジュールで実行される言語階層構造の変更はクロー
ズと保存操作の時にプロダクション書き込みモジュール
の生成する言語ファイルの階層構造に反映される。
第1口図においてメニュー処理モジュール268は言語
作成がサポートするすべてのメニュー選択の制御する。
作成がサポートするすべてのメニュー選択の制御する。
適当なサブモジュール(第11A図から第III図にお
いて詳述する)を呼び出した後メニュー処理はリターン
する(408)。
いて詳述する)を呼び出した後メニュー処理はリターン
する(408)。
第11A図に示すように新言語サブモジェール690は
,新言語を作或丁る。新言語サブモジ島一ルはまず41
0で言語作戒がオーブンになっているかどうかをチェッ
クする。オープンになっていれば412でユーザーに対
し,現在の言語を言語ファイルとして保存するかどうか
問い合わ・せる。
,新言語を作或丁る。新言語サブモジ島一ルはまず41
0で言語作戒がオーブンになっているかどうかをチェッ
クする。オープンになっていれば412でユーザーに対
し,現在の言語を言語ファイルとして保存するかどうか
問い合わ・せる。
保存する場合にはプロダクション書き込みモジュール4
14を呼び出して言語を保存する。次にグローバルワー
ド作戒416を呼び出して新しい言語418を作成する
。グローバルヮード作或416は自動的にいくつかのグ
ローバルな(すべて(7)言語に登場する)音声名とコ
マンドストリングを新言語に入力する。音声名とコマン
ドストリングによりユーザーは音声制御コマンドχ与え
ることができコマンドに例えば”使用できるワードを示
せ”とか1音声の選択肢を示せ”のような音声を対応づ
けることができる。(ユーザーは対応する音声ファイル
に関する音声マクロを学習させることができ又,いった
ん新言語浅保存した後では、既存の音声ファイルの写し
をとることができる。〕第11B図に示すオープンサブ
モジュール392は編集のために既存の言語配オープン
する。オープンサブモジュール392は420で言語作
或がオープンしているかどうかテエヴクする。オープン
していれば422でユーザーに対し、現在の言語を保存
するかどうか問い合せ、そうであればプロダクション書
き込み424を呼び出す。次いでオーブンはユーザーに
対し,選択した言語をオープンするかどうか問い合わせ
る<426)。取り消しの場合オープンはリターンする
(428)。そうでなげれば言語を430でロードし,
オーブンはリターンする。(432) 第110図に示す保存サブモジュール694はメモリー
の現在の言語馨言語ファイルとしてセーブする。保存は
ユーザーに対し、現在の言語を保存するかどうか問い合
わせる(434)。取り消し(保存しない)場合,保存
はリターンする(4ろ6)がそうでなければ保存はプロ
ダクション書き込み468fjr:呼び出して言語を音
声コンパイラー(第2図)が使用するのに適した状態マ
シーン制御ファイルに変更してリターンする(440)
。第11D図に示す新アクションサブモジュール396
はイベント記録を初期化して新しいシーケンスのアクシ
ョンの記録が開始されるようにする。新アクションはイ
ベント記録χ初期化するために442でユーザーに対し
,アクションウインドウを表示し,ユーザーの使用する
ツールパレットを用意してアクシ璽ンの記録を初期化す
る。そして新アクシNノはリターンする(444)。新
アクション開始後のアクションは直接にはオペレーティ
ングシステムに送られず,中間として言語作戚に通され
る。
14を呼び出して言語を保存する。次にグローバルワー
ド作戒416を呼び出して新しい言語418を作成する
。グローバルヮード作或416は自動的にいくつかのグ
ローバルな(すべて(7)言語に登場する)音声名とコ
マンドストリングを新言語に入力する。音声名とコマン
ドストリングによりユーザーは音声制御コマンドχ与え
ることができコマンドに例えば”使用できるワードを示
せ”とか1音声の選択肢を示せ”のような音声を対応づ
けることができる。(ユーザーは対応する音声ファイル
に関する音声マクロを学習させることができ又,いった
ん新言語浅保存した後では、既存の音声ファイルの写し
をとることができる。〕第11B図に示すオープンサブ
モジュール392は編集のために既存の言語配オープン
する。オープンサブモジュール392は420で言語作
或がオープンしているかどうかテエヴクする。オープン
していれば422でユーザーに対し、現在の言語を保存
するかどうか問い合せ、そうであればプロダクション書
き込み424を呼び出す。次いでオーブンはユーザーに
対し,選択した言語をオープンするかどうか問い合わせ
る<426)。取り消しの場合オープンはリターンする
(428)。そうでなげれば言語を430でロードし,
オーブンはリターンする。(432) 第110図に示す保存サブモジュール694はメモリー
の現在の言語馨言語ファイルとしてセーブする。保存は
ユーザーに対し、現在の言語を保存するかどうか問い合
わせる(434)。取り消し(保存しない)場合,保存
はリターンする(4ろ6)がそうでなければ保存はプロ
ダクション書き込み468fjr:呼び出して言語を音
声コンパイラー(第2図)が使用するのに適した状態マ
シーン制御ファイルに変更してリターンする(440)
。第11D図に示す新アクションサブモジュール396
はイベント記録を初期化して新しいシーケンスのアクシ
ョンの記録が開始されるようにする。新アクションはイ
ベント記録χ初期化するために442でユーザーに対し
,アクションウインドウを表示し,ユーザーの使用する
ツールパレットを用意してアクシ璽ンの記録を初期化す
る。そして新アクシNノはリターンする(444)。新
アクション開始後のアクションは直接にはオペレーティ
ングシステムに送られず,中間として言語作戚に通され
る。
第11E図に示す対話記録サブモジュール698は対話
実行モジュール聖介して対話ボックスに対丁る応答を記
録する。対話記録398はユーザーをモーダル対話にお
けるアクションの記録へ導く。
実行モジュール聖介して対話ボックスに対丁る応答を記
録する。対話記録398はユーザーをモーダル対話にお
けるアクションの記録へ導く。
そうでなげればユーザーは対話ボックスを呼び出丁アク
ションを行なえなくなる。対話記録は446で対話アク
ションウィンドウ(第25図参照)を表示して記録をオ
ンにし448でリターンする。
ションを行なえなくなる。対話記録は446で対話アク
ションウィンドウ(第25図参照)を表示して記録をオ
ンにし448でリターンする。
第11F図に示すデフォルトメニュー作或モジュール4
00はアプリケーションの実行可能なコードからデフォ
ルト音声名を抽出し(及びそれに関連するコマンドスト
リングを生戒丁る。)デフォルトメニュー作威400は
特定のアプリケーションに対する言語な作戒丁る際にユ
ーザーにより最初に選択されるものである。このサブモ
ジュールはアプリケーションの実行可能なコードを見て
,アプリケーションの各メニューコマンドに対する音声
名を生威し、音声名にそのメニューコマンドを選択する
コマンドストリングを関連づける。呼び出された際2デ
フォルトメニ瓢一作成は450でアプリケーションの実
行可能なコードからメニューハーヲ得.3A在のメニュ
ーを最初のメニュー(X=1)に初期化する。その後名
メニューを操り返し,処理する。すべてのメニューを処
理するとデフォルトメニュー作或はリターンする(45
4)。
00はアプリケーションの実行可能なコードからデフォ
ルト音声名を抽出し(及びそれに関連するコマンドスト
リングを生戒丁る。)デフォルトメニュー作威400は
特定のアプリケーションに対する言語な作戒丁る際にユ
ーザーにより最初に選択されるものである。このサブモ
ジュールはアプリケーションの実行可能なコードを見て
,アプリケーションの各メニューコマンドに対する音声
名を生威し、音声名にそのメニューコマンドを選択する
コマンドストリングを関連づける。呼び出された際2デ
フォルトメニ瓢一作成は450でアプリケーションの実
行可能なコードからメニューハーヲ得.3A在のメニュ
ーを最初のメニュー(X=1)に初期化する。その後名
メニューを操り返し,処理する。すべてのメニューを処
理するとデフォルトメニュー作或はリターンする(45
4)。
最初のループ452,456,458.460では現在
の(X番目の)メニューハンドルをローケートし,(4
56)メニューの解析を初期化し,現在のメニューの解
析が終わったかどうかをテエツクし(458).現在の
メニ瓢−を次のメニューに移して処理を繰り返す。第二
ルー1458.462.464では各メニューの名前を
見つけ(462).名前が階層構造かどうか(名前が更
に別のメニ瓢−を指しているかどうか)をチェックする
(464)。名前が階層になってkげればループを繰り
返す。階層になっていれば階層メニューを466で取り
出し,第3ループ470.472を実行する。第3ルー
プでは階層メニューの各項目の名前を取り出し. (4
72)すべての階層の項目の名前を取り出したかどうか
をチェック丁る( 4 70 )。
の(X番目の)メニューハンドルをローケートし,(4
56)メニューの解析を初期化し,現在のメニューの解
析が終わったかどうかをテエツクし(458).現在の
メニ瓢−を次のメニューに移して処理を繰り返す。第二
ルー1458.462.464では各メニューの名前を
見つけ(462).名前が階層構造かどうか(名前が更
に別のメニ瓢−を指しているかどうか)をチェックする
(464)。名前が階層になってkげればループを繰り
返す。階層になっていれば階層メニューを466で取り
出し,第3ループ470.472を実行する。第3ルー
プでは階層メニューの各項目の名前を取り出し. (4
72)すべての階層の項目の名前を取り出したかどうか
をチェック丁る( 4 70 )。
第11G図に示すデフォルトテキスト作成サブモジュー
ル402により.ユーザーはクリヴブボード上のテキス
トファイルを音声名のリストに変換することができる。
ル402により.ユーザーはクリヴブボード上のテキス
トファイルを音声名のリストに変換することができる。
デフォルトテキスト作成402はクリップボード上の各
固有ワードに対する音声名を生成して(474)からリ
ターンすル(476)。この音声名は音声名をタイプア
ウトするキーボードのエントリーに関連づけられる。例
えばビジネスレターをクリ,プボードからデフォルトテ
キストに写し取ることができる0次に音声をビジネスレ
ターで使用される共通ビジネス用語のそれぞれに関連づ
けることができる。10通程のビジネスレターを変換し
た後では、ビジネスレターのワードの大部分は音声セッ
トとして記憶されることとなる。
固有ワードに対する音声名を生成して(474)からリ
ターンすル(476)。この音声名は音声名をタイプア
ウトするキーボードのエントリーに関連づけられる。例
えばビジネスレターをクリ,プボードからデフォルトテ
キストに写し取ることができる0次に音声をビジネスレ
ターで使用される共通ビジネス用語のそれぞれに関連づ
けることができる。10通程のビジネスレターを変換し
た後では、ビジネスレターのワードの大部分は音声セッ
トとして記憶されることとなる。
第11H図に示すグループアルファべ,トづげサプモジ
ュール404によりユーザーは言語で使用する音声名に
アルファベットヲつげることができる(アルファペット
順に並べることができる)。
ュール404によりユーザーは言語で使用する音声名に
アルファベットヲつげることができる(アルファペット
順に並べることができる)。
言語作戒ウインドウ内において(マウス浅一連の音声名
上に動かすことによって作られる)選択した音声名のグ
ループはアルファベットの順序がつけられ(478).
Lかる後グループアルファベットづげはリターンする(
480)。
上に動かすことによって作られる)選択した音声名のグ
ループはアルファベットの順序がつけられ(478).
Lかる後グループアルファベットづげはリターンする(
480)。
第III図に示す優先サブモジュール406によりユー
ザーは標準グラフィックユーザーインターフェースの好
み(優先)例えばフォントのスタイル(482)やフォ
ントのサイズ(484)を選択することができる。又,
好みサブモジュール486によりユーザーは記録したア
クションのマウスの位置を表わ丁距離について選択を行
なうことができる。マウスアクシ曹ンの座標はグローバ
ルウインドウ座標に対する相対座標としてか,アプリケ
ーションウィンドウの座標に対するものとしてとられる
。マウスクリックによりアプリケーションメニ為一が選
択された場合,マウスクリックは常に相対座標にあるの
でウインドウをスクリーン上で動かしてもマウスクリヴ
クの機能は保たれる。
ザーは標準グラフィックユーザーインターフェースの好
み(優先)例えばフォントのスタイル(482)やフォ
ントのサイズ(484)を選択することができる。又,
好みサブモジュール486によりユーザーは記録したア
クションのマウスの位置を表わ丁距離について選択を行
なうことができる。マウスアクシ曹ンの座標はグローバ
ルウインドウ座標に対する相対座標としてか,アプリケ
ーションウィンドウの座標に対するものとしてとられる
。マウスクリックによりアプリケーションメニ為一が選
択された場合,マウスクリックは常に相対座標にあるの
でウインドウをスクリーン上で動かしてもマウスクリヴ
クの機能は保たれる。
更に好みサブモジュール486はマムスアクションを記
録した際,マウスがクリックの場所にとどまったままに
なるかクリックの後でもとの位置に戻るかを決めること
ができる。好みの選択を終了する際,ユーザーに言語作
戒に関丁る現在の好みの設定を更新するかどうか乞問い
合わせる(488)。
録した際,マウスがクリックの場所にとどまったままに
なるかクリックの後でもとの位置に戻るかを決めること
ができる。好みの選択を終了する際,ユーザーに言語作
戒に関丁る現在の好みの設定を更新するかどうか乞問い
合わせる(488)。
更新を望む場合には.490でファイルを更新して優先
はリターンする(492)。そうでなげれば保存するこ
となく優先はそのままオペレーティングシステムに戻る
(494)。
はリターンする(492)。そうでなげれば保存するこ
となく優先はそのままオペレーティングシステムに戻る
(494)。
第12図に示すプロダクション書き込みモジュール24
2はファイル浅保存丁る際に呼ばれる。
2はファイル浅保存丁る際に呼ばれる。
プロダクション書き込みは現在の言語馨保存し、それ聖
言語作成アプリケーションで使用するアウトラインプロ
セッサーフォーマットから状態マシーンにもとすく音声
認識ソフトウエアに適した階層構造のテキストフォーマ
ットに変換する。言語ファイルはアプリケーションに関
連づけられ,新しい言語ファイルは音声認識にアプリケ
ーションの種々のコマンドを組み込むためにアプリケー
ション別に生成され.編集される。
言語作成アプリケーションで使用するアウトラインプロ
セッサーフォーマットから状態マシーンにもとすく音声
認識ソフトウエアに適した階層構造のテキストフォーマ
ットに変換する。言語ファイルはアプリケーションに関
連づけられ,新しい言語ファイルは音声認識にアプリケ
ーションの種々のコマンドを組み込むためにアプリケー
ション別に生成され.編集される。
プロダクション書き込みモジュールの構或は使用する音
声認識ソフトウエアに依存する。一般にプロダクション
書き込みモジュールは現在の言語を,使用する音声認識
ソフトウエアに適したフォーマットに変換する。第12
図に示すプロダクション書き込みモジュールの構或はド
ラゴンシステムの音声認識ソフトウエア用の音声コンパ
イラーのシンタックスに適用したものである。
声認識ソフトウエアに依存する。一般にプロダクション
書き込みモジュールは現在の言語を,使用する音声認識
ソフトウエアに適したフォーマットに変換する。第12
図に示すプロダクション書き込みモジュールの構或はド
ラゴンシステムの音声認識ソフトウエア用の音声コンパ
イラーのシンタックスに適用したものである。
プロダクション書き込みはまず494で言語をテストし
、サブレベルがあるかどうか馨判別丁る。
、サブレベルがあるかどうか馨判別丁る。
サブレベルがなげればターミナル書き込みサブモジュー
ル496がトップレベルの言語を保存し,プロダクショ
ン書き込みはリターンする(498)。
ル496がトップレベルの言語を保存し,プロダクショ
ン書き込みはリターンする(498)。
言語にサブレベルがある場合,それぞれのサブレベルが
再帰ループによって処理される。言語にルートエントリ
ーがある場合(500),すなわち現在のレベルにただ
一つの音声名がある場合,プロダクション書き込みは5
02でストリングRoot=(”iffファイルに書き
込み512でサブレベルをチェックする。ルートがなげ
れば504でターミナル書き込みを呼び出して言語の現
在のレベルの名前を保存する。次に506でストリング
TERMINAL:”馨書き込み、508で言語レベル
がターミナルかどうかをチェックし,ターミナルであれ
ばストリング(nを書き込む。次にプロダクション書き
込みは512で言語に更にサブレベルがあるかどうかを
調べる。サブレベルがなケレハプロダクション書き込み
はリターンする(514)サブレベルがあれば再び51
6でプロダクション書き込みを呼び出して言語のサブレ
ベルについて処理する。サブレベルを処理した後,プロ
ダクション書き込みはストリング#)”を書き込んでリ
ターンする(518)。
再帰ループによって処理される。言語にルートエントリ
ーがある場合(500),すなわち現在のレベルにただ
一つの音声名がある場合,プロダクション書き込みは5
02でストリングRoot=(”iffファイルに書き
込み512でサブレベルをチェックする。ルートがなげ
れば504でターミナル書き込みを呼び出して言語の現
在のレベルの名前を保存する。次に506でストリング
TERMINAL:”馨書き込み、508で言語レベル
がターミナルかどうかをチェックし,ターミナルであれ
ばストリング(nを書き込む。次にプロダクション書き
込みは512で言語に更にサブレベルがあるかどうかを
調べる。サブレベルがなケレハプロダクション書き込み
はリターンする(514)サブレベルがあれば再び51
6でプロダクション書き込みを呼び出して言語のサブレ
ベルについて処理する。サブレベルを処理した後,プロ
ダクション書き込みはストリング#)”を書き込んでリ
ターンする(518)。
第13図に示丁ターくナル書き込みサブモジュール49
6は各音声名とそれに関連するコマンドストリングを言
語ファイルに書き込む。ターミナル書き込みはまず52
0でターミナルかどうかをチェックする。ターミナルで
なければリターンする(530)。ターミナルであれば
ターミナル書き込みは522で音声名に対応するストリ
ングを言語ファイルに書き込む。次に524で関連する
コマンドストリングがあるかどうか紮テエックし、あれ
ばそのコマンドストリング(¥なわち” Out−pu
t”)を言語ファイルに書き込む(526)。最後にタ
ーミナル書き込みは528でストリング1;nを言語フ
ァイルに書き込んでリターンする( 530)。
6は各音声名とそれに関連するコマンドストリングを言
語ファイルに書き込む。ターミナル書き込みはまず52
0でターミナルかどうかをチェックする。ターミナルで
なければリターンする(530)。ターミナルであれば
ターミナル書き込みは522で音声名に対応するストリ
ングを言語ファイルに書き込む。次に524で関連する
コマンドストリングがあるかどうか紮テエックし、あれ
ばそのコマンドストリング(¥なわち” Out−pu
t”)を言語ファイルに書き込む(526)。最後にタ
ーミナル書き込みは528でストリング1;nを言語フ
ァイルに書き込んでリターンする( 530)。
音声制御
音声制御ソフトウエアはオペレーティング●システムと
そのオペレーティング●システム上で走るアプリケーシ
ョンとの間のゲートとして役割を果たす。これは音声制
御にまり生戚されるフィルタ・グロシージャ( fil
ter prOcedur6 )と等シイ,オペレーテ
ィング●システムの次のイベント取得のプロシージャに
マツキントッシュをセットすることにより成し遂げられ
る。この次のイベント取得の手続き次のイヘント要求が
オペレーティング●システムによって,またはアプリケ
ーションによって発生させる毎に実行される。通常,次
のイベント取得の手続きは無効であり,次のイベント要
求は直接,オペレーティング●システムに入る。フィル
タ手続きは要求の度毎に音声制御への制I11を適丁。
そのオペレーティング●システム上で走るアプリケーシ
ョンとの間のゲートとして役割を果たす。これは音声制
御にまり生戚されるフィルタ・グロシージャ( fil
ter prOcedur6 )と等シイ,オペレーテ
ィング●システムの次のイベント取得のプロシージャに
マツキントッシュをセットすることにより成し遂げられ
る。この次のイベント取得の手続き次のイヘント要求が
オペレーティング●システムによって,またはアプリケ
ーションによって発生させる毎に実行される。通常,次
のイベント取得の手続きは無効であり,次のイベント要
求は直接,オペレーティング●システムに入る。フィル
タ手続きは要求の度毎に音声制御への制I11を適丁。
これにより,音声制御はマウスおよびキーボードのイベ
ントを無視することにより音声機能を実行し、発生され
た命令に対応する新しいイペン}w生gする。
ントを無視することにより音声機能を実行し、発生され
た命令に対応する新しいイペン}w生gする。
音声制御フィルタ・プロシージャは第14図に示される
。
。
初期化538の後,1つのイベント(以後・事象と称す
る)がオペレーテイング●システムにより生成される前
に、次の事象取得のフィルタ0プロシージャ540が呼
び出される。まず、その事象は無効な事象であるか否か
チェックされる542。
る)がオペレーテイング●システムにより生成される前
に、次の事象取得のフィルタ0プロシージャ540が呼
び出される。まず、その事象は無効な事象であるか否か
チェックされる542。
無効であれば,入力プロセスモジュール544が直接,
呼び出される。プロセス入カモジュール544は新しい
音声入力があるか否かチェックし,受け入れられた音声
があれば処理する。人力プロセスの後、音声制御駆動部
は通常のフィルタ処理546(¥なわち,他のアプリケ
ーションによりひき起こされるフィルタ制御全て)を通
って、復帰する548。次の事象が無効な事象でなげれ
ば,表示は消される55口。これにより、音声制御は以
前の無効でない機能により発生され得た,(現行の言語
リストのような)いかなる音声制御の表示も消してしま
う。したがって,音声制御により生成されたプロンプト
ウィンドウ( prompt Win−dOW )があ
れば,無効でない事象が起きたとき、そのプロンプト・
ウインドウは消される。次にキー押下の事象がテエック
される552。認識器はある特別たキー押下の事象によ
り制御(すなわち電源のオンおよびオフ)されるため,
その事象がキー押下の事象であれば,音声制御は更に処
理を行わなければならない。そうでなげれば、音声制御
駆動グロシージャは直接、入力プロセス544へ移る。
呼び出される。プロセス入カモジュール544は新しい
音声入力があるか否かチェックし,受け入れられた音声
があれば処理する。人力プロセスの後、音声制御駆動部
は通常のフィルタ処理546(¥なわち,他のアプリケ
ーションによりひき起こされるフィルタ制御全て)を通
って、復帰する548。次の事象が無効な事象でなげれ
ば,表示は消される55口。これにより、音声制御は以
前の無効でない機能により発生され得た,(現行の言語
リストのような)いかなる音声制御の表示も消してしま
う。したがって,音声制御により生成されたプロンプト
ウィンドウ( prompt Win−dOW )があ
れば,無効でない事象が起きたとき、そのプロンプト・
ウインドウは消される。次にキー押下の事象がテエック
される552。認識器はある特別たキー押下の事象によ
り制御(すなわち電源のオンおよびオフ)されるため,
その事象がキー押下の事象であれば,音声制御は更に処
理を行わなければならない。そうでなげれば、音声制御
駆動グロシージャは直接、入力プロセス544へ移る。
キー押下の事象が起きれば554,適当なときに,認識
器ケ制御するソフトウェア・ラッチがセットされる。こ
れにより、認識器ソフトウェアの起動,認識器の選択機
能の選択または,言語の表示が可能となる。この後,音
声制御駆動は入力プロセスへ移る544。
器ケ制御するソフトウェア・ラッチがセットされる。こ
れにより、認識器ソフトウェアの起動,認識器の選択機
能の選択または,言語の表示が可能となる。この後,音
声制御駆動は入力プロセスへ移る544。
第15図を参照すると,入刀プロセス・ルーチンは音声
制御駆動の中心である。それは音声ナビゲータ(Nav
igator)のための音声入力全てを管理する。入力
プロセス●モジュールは1つの事象がオペレーティング
●システムにより処理される度毎に,呼び出される。ま
ず546ではセットされる必要のあるラッ−rf処理さ
れ,マツキントツシネは必要であれば、何回かの遅延時
間だけ待つ。
制御駆動の中心である。それは音声ナビゲータ(Nav
igator)のための音声入力全てを管理する。入力
プロセス●モジュールは1つの事象がオペレーティング
●システムにより処理される度毎に,呼び出される。ま
ず546ではセットされる必要のあるラッ−rf処理さ
れ,マツキントツシネは必要であれば、何回かの遅延時
間だけ待つ。
遅延時間は例えばメニュー処理動作が音声制御により行
われている場合,その処理動作を開始する前にスクリー
ン上にそのメニューが描かれるように設定される。また
,いくつかのアプリケーションはマウスまたはキーボー
ドの事象の間の遅延を必要とする。次に、認識機能が起
動されうると548,入力プロセス・ルーチンは認識へ
進む562。認識が停止されれば,入力プロセスtt復
帰(リターン)する。
われている場合,その処理動作を開始する前にスクリー
ン上にそのメニューが描かれるように設定される。また
,いくつかのアプリケーションはマウスまたはキーボー
ドの事象の間の遅延を必要とする。次に、認識機能が起
動されうると548,入力プロセス・ルーチンは認識へ
進む562。認識が停止されれば,入力プロセスtt復
帰(リターン)する。
認識ルーチン562は発声(すなわち,音声人力となり
うる音)があるか否かチェックするために認識駆動を起
動する。認識された音声入力があれば564,入力プロ
セスは垂直でランキング割込みVBLハンドラ566を
チェックし,適当なところでそれを停止させる。
うる音)があるか否かチェックするために認識駆動を起
動する。認識された音声入力があれば564,入力プロ
セスは垂直でランキング割込みVBLハンドラ566を
チェックし,適当なところでそれを停止させる。
垂直プランキング割込みのサイクルはオペレーティング
ーシステムの中ではたいへン低いレベルのサイクルであ
る。スクリーンが更新される度毎にラスターはスクリー
ンの底辺の右から上辺の左へ動いているので,垂直プラ
ンキング割込み時間が発生丁る。このプランキング時間
の間,時間が非常に短かく、優先順位の非常に高いルー
チンが実行されうる。このサイクルはプロセス入力ルー
テンによって,マウス座標を非常にゆっくり加算するこ
とにより連続的にマウスを適当なところへ動かすために
用いられる。これを成し遂げろために.マウスの移動の
事象はVBLの待ち行列上に置かれる。したがって、適
宜,VBLノ飄ンドラはマウスを動か丁ために停止され
なげればならない。
ーシステムの中ではたいへン低いレベルのサイクルであ
る。スクリーンが更新される度毎にラスターはスクリー
ンの底辺の右から上辺の左へ動いているので,垂直プラ
ンキング割込み時間が発生丁る。このプランキング時間
の間,時間が非常に短かく、優先順位の非常に高いルー
チンが実行されうる。このサイクルはプロセス入力ルー
テンによって,マウス座標を非常にゆっくり加算するこ
とにより連続的にマウスを適当なところへ動かすために
用いられる。これを成し遂げろために.マウスの移動の
事象はVBLの待ち行列上に置かれる。したがって、適
宜,VBLノ飄ンドラはマウスを動か丁ために停止され
なげればならない。
他の音声入力はそれらがプロセスQルーテンにより処理
されうるまでブロセヴサのための音声に関連丁る事象を
保持する,音声待ち行列上に置かれる568。しかしな
がら,音声が認識されたか否かにかかわらず,プロセス
Q570はプロセス入力によりいつも呼び出される。し
たがって,プロセスQに対して順番を待つ音声事象は最
終的には実行されるが.必ずしも同じプロセス入力サイ
クル中ではない。プロセスQ’k呼び出した後,プロセ
ス入刀は復帰する571。
されうるまでブロセヴサのための音声に関連丁る事象を
保持する,音声待ち行列上に置かれる568。しかしな
がら,音声が認識されたか否かにかかわらず,プロセス
Q570はプロセス入力によりいつも呼び出される。し
たがって,プロセスQに対して順番を待つ音声事象は最
終的には実行されるが.必ずしも同じプロセス入力サイ
クル中ではない。プロセスQ’k呼び出した後,プロセ
ス入刀は復帰する571。
第16図を参照すると,認識サブモジュール562は音
声ナビゲータ・ボックスにより整列されている符号化さ
れた発声の有無浅チェックシ・発声があればそれの認識
χ試みるために認識駆動を呼び出す。認識部は認識器か
ら戻される命令列(の長さ)により、命令の数を戻す。
声ナビゲータ・ボックスにより整列されている符号化さ
れた発声の有無浅チェックシ・発声があればそれの認識
χ試みるために認識駆動を呼び出す。認識部は認識器か
ら戻される命令列(の長さ)により、命令の数を戻す。
572において,発声が認識器から戻ってこなげれば、
認識部は認識されなかったこと馨示丁,○の長さを戻丁
(574)。発声が、有効であれば.認識部はsdi一
認識を呼び出し567,認識器ソフトウエアにその発声
を認識するように指示する。578において,認識され
れば,発声の名前がユーザに対して表示される582。
認識部は認識されなかったこと馨示丁,○の長さを戻丁
(574)。発声が、有効であれば.認識部はsdi一
認識を呼び出し567,認識器ソフトウエアにその発声
を認識するように指示する。578において,認識され
れば,発声の名前がユーザに対して表示される582。
同時に、いかなる終了呼び出しウィンドウ(すなわち,
認識ソフトウエアに応じて音声制御により起動される,
終了呼び出しの選択に関連丁るウィンドウ〕もディスプ
レイから消される。認識されなげれば、マツキントヴシ
Sはビープ音を鳴らして58口、長さOが戻される57
4。
認識ソフトウエアに応じて音声制御により起動される,
終了呼び出しの選択に関連丁るウィンドウ〕もディスプ
レイから消される。認識されなげれば、マツキントヴシ
Sはビープ音を鳴らして58口、長さOが戻される57
4。
認識されると、認識部はその発声に対応する出力列を探
す584。出力列があれば,認識部はそれが停止してい
るか否かチェックし586,停止していれば590、出
力カウントはその出力列の長さにセットされ,その命令
が(″停止せよ“または1起動せよ“なとの)制御命令
で音声命令処理ルーチンにより処理される。
す584。出力列があれば,認識部はそれが停止してい
るか否かチェックし586,停止していれば590、出
力カウントはその出力列の長さにセットされ,その命令
が(″停止せよ“または1起動せよ“なとの)制御命令
で音声命令処理ルーチンにより処理される。
8識された発声に対する出力列がなげれば,または,認
識器が停止していれば.認識部の出力はゼロである(5
88)。出力カウントが決定された後596,認識器の
状態が処理される596。こノトキ.ボイス・コントロ
ールの状態フラグが認識部サブルーチンのいづれかによ
って変更されていれば,適宜な処理が開始される。最終
的に認識部は復帰丁る598。
識器が停止していれば.認識部の出力はゼロである(5
88)。出力カウントが決定された後596,認識器の
状態が処理される596。こノトキ.ボイス・コントロ
ールの状態フラグが認識部サブルーチンのいづれかによ
って変更されていれば,適宜な処理が開始される。最終
的に認識部は復帰丁る598。
第17図を参照丁ると,音声命令処理モジュールは認識
器を制御する命令を扱う。このモジュールは状態処理ブ
ロック596(第16図)により実行されるべき動作を
行うか,またはその動作にフラグをたてうる。認識器が
停止されるか600,または起動されれば,適当なフラ
グがセットされ602.6口6、命令列の長さとして・
更に動作を行わないよう状態処理に示丁、ゼロが戻され
る626,628。そうでなげれば,その命令が取消し
608(最後の発声を無祝せよ)、第1のレベル612
(言語階層の最上層へ行け、すなわち、音声制御状態χ
言語のための基本状態にセットする),ワード・リスト
616(現行の言語を示せ)または,音声オプション6
2口であれば、適宜なフラグがセットされ610,61
4,618,622.認識器の状態が状態処理596(
第16図)により変更されるべきことを示す、−1の列
の長さが戻される624,628。
器を制御する命令を扱う。このモジュールは状態処理ブ
ロック596(第16図)により実行されるべき動作を
行うか,またはその動作にフラグをたてうる。認識器が
停止されるか600,または起動されれば,適当なフラ
グがセットされ602.6口6、命令列の長さとして・
更に動作を行わないよう状態処理に示丁、ゼロが戻され
る626,628。そうでなげれば,その命令が取消し
608(最後の発声を無祝せよ)、第1のレベル612
(言語階層の最上層へ行け、すなわち、音声制御状態χ
言語のための基本状態にセットする),ワード・リスト
616(現行の言語を示せ)または,音声オプション6
2口であれば、適宜なフラグがセットされ610,61
4,618,622.認識器の状態が状態処理596(
第16図)により変更されるべきことを示す、−1の列
の長さが戻される624,628。
第18図を参照すると,処理Qのモジュール570は音
声待ち行列から音声人力をひき出し、それを処理する。
声待ち行列から音声人力をひき出し、それを処理する。
63口において.事象の待ち行列が空であれば,処理Q
は進み,そうでなげれば,処理Qは退帰丁る632。こ
れは音声の事象が他の事象と共に待ち行列上に置かれて
いると,事象の待ち行列がオーバフローするかもしれな
いからである。634において,音声の待ち行列が事象
を持っていれば,処理の行列はメニエ描画または他の関
連する動作のための遅延時間が終了したか否かをテエツ
クする。音声の餘ち行列に事象がなげれば,プロセスQ
は退帰636″′fろ。遅延時間が終了したならば,処
理Qはゲット・ネクスト( Get Next )
k呼び出し642,復帰する644。そうでなく,遅延
時間が終了していなければ,プロセスQは退帰丁る64
0。
は進み,そうでなげれば,処理Qは退帰丁る632。こ
れは音声の事象が他の事象と共に待ち行列上に置かれて
いると,事象の待ち行列がオーバフローするかもしれな
いからである。634において,音声の待ち行列が事象
を持っていれば,処理の行列はメニエ描画または他の関
連する動作のための遅延時間が終了したか否かをテエツ
クする。音声の餘ち行列に事象がなげれば,プロセスQ
は退帰636″′fろ。遅延時間が終了したならば,処
理Qはゲット・ネクスト( Get Next )
k呼び出し642,復帰する644。そうでなく,遅延
時間が終了していなければ,プロセスQは退帰丁る64
0。
第19図を参照すると,ゲット・ネクスト●サプモジュ
ール642は音声の待ち行列からキャラクタをとり出し
,それらを処理する。646において,音声の待ち行列
の中にキャラクタがなげれば,手続きは復帰するのみで
ある648。音声の待ち行列にキャラクタがあれば,ゲ
ット●ネクストはそのキャラクタが命令キャラクタであ
るか否かをチェックする650。そうであれば,ゲット
・ネクストはテエヴク命令を呼び出す660。そうでな
ければ,キャラクタはテキストであり,ゲヴト●ネクス
トは適宜,2次ビヴト(metabits)をセット丁
る。
ール642は音声の待ち行列からキャラクタをとり出し
,それらを処理する。646において,音声の待ち行列
の中にキャラクタがなげれば,手続きは復帰するのみで
ある648。音声の待ち行列にキャラクタがあれば,ゲ
ット●ネクストはそのキャラクタが命令キャラクタであ
るか否かをチェックする650。そうであれば,ゲット
・ネクストはテエヴク命令を呼び出す660。そうでな
ければ,キャラクタはテキストであり,ゲヴト●ネクス
トは適宜,2次ビヴト(metabits)をセット丁
る。
マツキントッシュが一つの事象を配置すると,2次ピッ
ト(表B参照)は状態キー,選択キーまたは命令キーな
どのキーストロークχ条件付けするだめのフラグとして
用いられる。これらのキーはキーボードにおいて押下さ
れたキャラクタを条件付けし,制御キャラクタを生成す
る。したがって,適当なオペレーティング・システムノ
事象な生戚丁るために,2次ビットは適宜,セットされ
なければならない。2次ビットがセットされると652
、キー●ダウンの事象はマツキントッシェの事象待ち行
列に置かれ654、キーボードでのキー押下馨シュミレ
ート丁る。これに続き,キーアヴプが事象待ち行列に置
かれ656,キーアップ會シュミレート丁る。658に
おいて,事象待ち行列の中にまだ,余裕があれば,更に
音声キャラクタが取得され,処理される646。そうで
なげれば、ゲット・ネクスト手続きは復帰する676。
ト(表B参照)は状態キー,選択キーまたは命令キーな
どのキーストロークχ条件付けするだめのフラグとして
用いられる。これらのキーはキーボードにおいて押下さ
れたキャラクタを条件付けし,制御キャラクタを生成す
る。したがって,適当なオペレーティング・システムノ
事象な生戚丁るために,2次ビットは適宜,セットされ
なければならない。2次ビットがセットされると652
、キー●ダウンの事象はマツキントッシェの事象待ち行
列に置かれ654、キーボードでのキー押下馨シュミレ
ート丁る。これに続き,キーアヴプが事象待ち行列に置
かれ656,キーアップ會シュミレート丁る。658に
おいて,事象待ち行列の中にまだ,余裕があれば,更に
音声キャラクタが取得され,処理される646。そうで
なげれば、ゲット・ネクスト手続きは復帰する676。
命令列人刀が単純なキーストロークでな<.1つの命令
に対応すれば,その列は第19図に示されるような命令
テエック・プロシージャ660により処理される。命令
テエック●プロシージャ660において、音声待ち行列
からの次の4つのキャラクタ(4つのキャラクタは全て
の命令列の長さである,表A参照)はフェッテされ66
2,命令テーブルに比較される664。666において
,キャラクタが音声命令に等しげれば、その命令は認識
され.処理は命令処理ルーチンにより続行される668
。そうでなげれば、そのキャラクタはテキストであると
解釈され,処理は2次ピットのスラップへ復帰する65
2。
に対応すれば,その列は第19図に示されるような命令
テエック・プロシージャ660により処理される。命令
テエック●プロシージャ660において、音声待ち行列
からの次の4つのキャラクタ(4つのキャラクタは全て
の命令列の長さである,表A参照)はフェッテされ66
2,命令テーブルに比較される664。666において
,キャラクタが音声命令に等しげれば、その命令は認識
され.処理は命令処理ルーチンにより続行される668
。そうでなげれば、そのキャラクタはテキストであると
解釈され,処理は2次ピットのスラップへ復帰する65
2。
命令処理手続き668において,まず,テーブルに対す
る命令処理器のオフセットを計算し,そのテーブルに照
合し,適当な命令ハンドラを呼び出すことにより672
,各命令は命令手続きのテーブルに照合される。命令ハ
ンドラを呼び出した後、ゲット・ネクストは入力処理モ
ジュールから直接.抜け出る674(ソフトウエアの構
造は命令処理からの復帰は2次ビットのステップへ復帰
するようになっており、それは正しくないであろう)。
る命令処理器のオフセットを計算し,そのテーブルに照
合し,適当な命令ハンドラを呼び出すことにより672
,各命令は命令手続きのテーブルに照合される。命令ハ
ンドラを呼び出した後、ゲット・ネクストは入力処理モ
ジュールから直接.抜け出る674(ソフトウエアの構
造は命令処理からの復帰は2次ビットのステップへ復帰
するようになっており、それは正しくないであろう)。
命令処理ルーテンに用いられる命令ノ・ンドラは第20
図に図示されている。各命令ハンドラは第21A乃至2
1G図のフロー図により詳細に示されている。命令のた
めの命令文構造(SyntaX) ハ表Aに詳細に示さ
れている。
図に図示されている。各命令ハンドラは第21A乃至2
1G図のフロー図により詳細に示されている。命令のた
めの命令文構造(SyntaX) ハ表Aに詳細に示さ
れている。
第21A図を参照すると,メニ集命令はメニューを取り
出丁であろう。例えば, @MENU(apple,0
)(ただし%apple はアップル・メニューのた
めのメニュ一番号)はアップル・メニ:LYとり出すだ
ろう。また.メニュー命令はそのメニューから1つの項
目を選択する。例えば,@ugNu( apple ,
calculator ) ( f,−だし, ca
lculatorはアップル●メニュの中の計算器のた
めの項目番号)はアップル●メニュから計算器を選択す
るであろう。メニュ命令はメニューidおよび選択され
たメニューのための項目番号の順番を待つファインド・
j 二. − (Find Mfi:NU)ルーf 7
6 7 8を走らせることにより初期化する。ファイ
ンド・メニエが復帰した後,680において,行列待ち
丁るメニ,−がなければ,メニュ命令はメニュ選択と呼
ばれるマツキントッシュの内部トラップのうちの一つを
捕らえる682。メニュー選択のトラップはマイ●メニ
ュ選択( My Mmnu Select)ルーテンと
同じくセットされる692。次に、カーソル座標はマウ
スがスクリーン上を動くとき,見えなくなるように消さ
れる684。次に,メニュ命令はメニュ●バー上にマウ
ス・ダウン(すなわち,マウスのボタンを押下丁ること
7を置く。
出丁であろう。例えば, @MENU(apple,0
)(ただし%apple はアップル・メニューのた
めのメニュ一番号)はアップル・メニ:LYとり出すだ
ろう。また.メニュー命令はそのメニューから1つの項
目を選択する。例えば,@ugNu( apple ,
calculator ) ( f,−だし, ca
lculatorはアップル●メニュの中の計算器のた
めの項目番号)はアップル●メニュから計算器を選択す
るであろう。メニュ命令はメニューidおよび選択され
たメニューのための項目番号の順番を待つファインド・
j 二. − (Find Mfi:NU)ルーf 7
6 7 8を走らせることにより初期化する。ファイ
ンド・メニエが復帰した後,680において,行列待ち
丁るメニ,−がなければ,メニュ命令はメニュ選択と呼
ばれるマツキントッシュの内部トラップのうちの一つを
捕らえる682。メニュー選択のトラップはマイ●メニ
ュ選択( My Mmnu Select)ルーテンと
同じくセットされる692。次に、カーソル座標はマウ
スがスクリーン上を動くとき,見えなくなるように消さ
れる684。次に,メニュ命令はメニュ●バー上にマウ
ス・ダウン(すなわち,マウスのボタンを押下丁ること
7を置く。
マクス●ダウンがメニュ・バー上に生じると、マツキン
トッシュのオペレーティング●システムはアブリケーシ
ッンのためのメニ瓢事象を発生する。
トッシュのオペレーティング●システムはアブリケーシ
ッンのためのメニ瓢事象を発生する。
1つのメニュ事象を受けるアプリケーションの各々はメ
ニエ事象が何であるかを見つけるために,オペレーティ
ング―システムからのサービスを要求する。これを行う
ために,アプリケーションはメニュ選択トラップを出す
。このメニエ選択トラップはスタック上のマウスの位置
を置く。しかし、この場合に,アプリケーションがメニ
ュ選択トラツフ&発したときに、それは代わりにマイ・
メニュ選択ルーチン692Kよりサービスされ2これに
より、メニエ命令は現実の座標の場所に所望のメニュ座
律を挿入丁ることかできる。適当なメニュ・バー内にマ
ウス・ダウンを置いた後、メニュ命令は待ち時間を3口
にセットし688,この時間の間にオペレーティング・
システムはメニュχ描き,復帰する6900 マイ・メニュ選択トラップ692において,メニュ選択
ブローバル状態は以前の選択されたメニ:Lffクリア
するようにリセットされ694、所望のメニュidおよ
び項目番号はマツキントッシュのスタック696に移さ
れ,所望のメニュ項目馨選択する。
ニエ事象が何であるかを見つけるために,オペレーティ
ング―システムからのサービスを要求する。これを行う
ために,アプリケーションはメニュ選択トラップを出す
。このメニエ選択トラップはスタック上のマウスの位置
を置く。しかし、この場合に,アプリケーションがメニ
ュ選択トラツフ&発したときに、それは代わりにマイ・
メニュ選択ルーチン692Kよりサービスされ2これに
より、メニエ命令は現実の座標の場所に所望のメニュ座
律を挿入丁ることかできる。適当なメニュ・バー内にマ
ウス・ダウンを置いた後、メニュ命令は待ち時間を3口
にセットし688,この時間の間にオペレーティング・
システムはメニュχ描き,復帰する6900 マイ・メニュ選択トラップ692において,メニュ選択
ブローバル状態は以前の選択されたメニ:Lffクリア
するようにリセットされ694、所望のメニュidおよ
び項目番号はマツキントッシュのスタック696に移さ
れ,所望のメニュ項目馨選択する。
ファインド・メニュ・ルーテン70口は所望のメニュの
ための命令パラメータを集める702。
ための命令パラメータを集める702。
次に,メニュ名はメニュ名リストに照合される。
706において17ニュ名”の名称を持ったメニュがな
ければ.ファインド・メニュは抜け出る。
ければ.ファインド・メニュは抜け出る。
そうでなければ、ファインド・メニエは項目名を七〇メ
ニュ内の項目の名称と比べる。712において,置かれ
た項目香号がOより太きければ,ファインド●メニュは
メニュ命令により用いられるためのメニ:Lidおよび
項目番号を待ち行列に並べ718,復帰する720。そ
うでなく,項目番号が0であればファインド・メニュは
内部の音声制御フラグマウスダウン”および“グローバ
ル”フラグを真にセット丁るだげである714。これは
音声制御に,マウスの位置は全体的に参照されるべきこ
と,およびマウス・ボタンは制限されるべきことを示し
ている。そして,ファインド・メニSはポスト・マウス
・ルーテンを呼び出し716,それはこれらのフラグを
,オペレーティング●システムのマウス状態馨操作丁る
ために参照丁る。
ニュ内の項目の名称と比べる。712において,置かれ
た項目香号がOより太きければ,ファインド●メニュは
メニュ命令により用いられるためのメニ:Lidおよび
項目番号を待ち行列に並べ718,復帰する720。そ
うでなく,項目番号が0であればファインド・メニュは
内部の音声制御フラグマウスダウン”および“グローバ
ル”フラグを真にセット丁るだげである714。これは
音声制御に,マウスの位置は全体的に参照されるべきこ
と,およびマウス・ボタンは制限されるべきことを示し
ている。そして,ファインド・メニSはポスト・マウス
・ルーテンを呼び出し716,それはこれらのフラグを
,オペレーティング●システムのマウス状態馨操作丁る
ために参照丁る。
第21B図を参照丁ると,制御命令は1つのメニュ内の
ボタン押下を実行し、アプリケーションのファイル・メ
ニュ内のセーブ命令のような処理動作をひき起こす。こ
れを行うために,制御命叡は制御の列から命令パラメー
タを取り出し724,フロント・ウインドウを見つけ7
26,ウインドウ命令リストを得728,その命令名が
その制御リスト内にあるか否かをチェックする73口。
ボタン押下を実行し、アプリケーションのファイル・メ
ニュ内のセーブ命令のような処理動作をひき起こす。こ
れを行うために,制御命叡は制御の列から命令パラメー
タを取り出し724,フロント・ウインドウを見つけ7
26,ウインドウ命令リストを得728,その命令名が
その制御リスト内にあるか否かをチェックする73口。
その制御名が制御リストの中にあれば,制御直交座標が
計算され762,ポスト・マウス・ルーチンはマウスを
適当な座標に位置づけ( click) 734.制闘
命令は復帰丁る736。制■名が見つげられなげれば,
制御命令(ま直接狽帰丁る。
計算され762,ポスト・マウス・ルーチンはマウスを
適当な座標に位置づけ( click) 734.制闘
命令は復帰丁る736。制■名が見つげられなげれば,
制御命令(ま直接狽帰丁る。
キーパッド命令738はマツキントヴシュのキー′4ヴ
ドでの数字人刀をシュミレートする。キーパッドは命令
列のための命令パラメータを見っ゛げ740、所望のキ
ーのためのキーコード値を得742,v−−−ダウンの
事象をマヅキントヅシュの事象待ち行列に置き744、
復帰する746。
ドでの数字人刀をシュミレートする。キーパッドは命令
列のための命令パラメータを見っ゛げ740、所望のキ
ーのためのキーコード値を得742,v−−−ダウンの
事象をマヅキントヅシュの事象待ち行列に置き744、
復帰する746。
ズーム命令はフロント・ウィンドウを拡犬/縮小する。
ズームはマウスをフロント・ウインドウと照合するため
にフロント・ウインドウ・ポインタを得75口、ズーム
・ボックスの位置浅計算し752、このズーム・ボック
ス内に位置づけするためにポスト・マウスケ用い754
,復帰する756。
にフロント・ウインドウ・ポインタを得75口、ズーム
・ボックスの位置浅計算し752、このズーム・ボック
ス内に位置づけするためにポスト・マウスケ用い754
,復帰する756。
ローカル・マウス命令758は局部的に参照される場所
にマウスを位置付けする。ローカル・マウスは所望のマ
ウス位置のための命令パラメータχ取得し760,所望
の座称に位置づけするためにポスト・マウスケ用い76
2,復帰する764。
にマウスを位置付けする。ローカル・マウスは所望のマ
ウス位置のための命令パラメータχ取得し760,所望
の座称に位置づけするためにポスト・マウスケ用い76
2,復帰する764。
グローバル・マウス命令は全体的に参照される位置にマ
ウスを位置づける766。グローバル●マウスは所望の
マウス位置のための命令パラメータfi取得し768.
(ポスト・マウスに、座標がグローバルであることを知
らせるために、)グローバル・フラグを真にセヴトし7
7口、所望の座標に泣置づげ丁るようボスト●マウスヶ
用い772、復帰する774。
ウスを位置づける766。グローバル●マウスは所望の
マウス位置のための命令パラメータfi取得し768.
(ポスト・マウスに、座標がグローバルであることを知
らせるために、)グローバル・フラグを真にセヴトし7
7口、所望の座標に泣置づげ丁るようボスト●マウスヶ
用い772、復帰する774。
ダプル●クリック(DOubleClick)命令は局
部的に参照される位置にマウスを二回,位置づける。ダ
ブル・クリックは所望のマウス位置のための命令パラメ
ータを取得し778.(所望の位置に2回,位置づけを
行うために)ポスト・マウスを2回、呼び出し780,
782.復帰する784。
部的に参照される位置にマウスを二回,位置づける。ダ
ブル・クリックは所望のマウス位置のための命令パラメ
ータを取得し778.(所望の位置に2回,位置づけを
行うために)ポスト・マウスを2回、呼び出し780,
782.復帰する784。
マウス●ダウ7 (Mouse Down)命令786
はマウス・ボタンを停止にセットする786。マウス●
ダウンは(ポスト・マウスニ、マウス●ボタ/は抑えら
れるべきことを知らせるために,)マウスダウン●フラ
グを真にセットし788,ボタンをダウンにセヴトする
ためにポスト・マウス聖用い790、復帰する792。
はマウス・ボタンを停止にセットする786。マウス●
ダウンは(ポスト・マウスニ、マウス●ボタ/は抑えら
れるべきことを知らせるために,)マウスダウン●フラ
グを真にセットし788,ボタンをダウンにセヴトする
ためにポスト・マウス聖用い790、復帰する792。
マウス●アヴブ( Mouse Up ) 命令はマウ
ス●ボタンを上にセット丁る794。マウス・アップハ
(オペレーティング●システムに,マウス●ボタンがセ
ット・アブブされるべきことを知らせるt.−メK,
) mbstate glalal (表B参照)馨マ
ウス●ポタ7−アップ( Mouse Button
UP ) ニセットし796.(アプリケーションにマ
ウス・ボタンが動作状態になったととχ知らせるために
、マツキントッシェの事象待ち行列に,マウス●アップ
事象馨置き、復帰丁る800。
ス●ボタンを上にセット丁る794。マウス・アップハ
(オペレーティング●システムに,マウス●ボタンがセ
ット・アブブされるべきことを知らせるt.−メK,
) mbstate glalal (表B参照)馨マ
ウス●ポタ7−アップ( Mouse Button
UP ) ニセットし796.(アプリケーションにマ
ウス・ボタンが動作状態になったととχ知らせるために
、マツキントッシェの事象待ち行列に,マウス●アップ
事象馨置き、復帰丁る800。
第21D図浅参照丁ると,スクリーン・ダ2ン(scr
een Down)命令802は現在のウインドウの内
容ヲ不クロールダウンする。スクロール・ダウンはまず
,フロント・ウインドウの中の垂直ス〕 クロール●バー’k探ス8 0 4。806において,
スクロール●バーが見つからなければ,スクリーン・ダ
ウンは復帰するだけである814。スクロール・バーが
見つかれば,スクリーン・ダウンは下向き矢印の座標を
計算し、(ポスト・マウスにマウス●ボタンが抑えられ
るべきであることを示す)マウスダウン●フラグを真に
セットし824、ポスト・マウスを使ってマウス・ボタ
ンを停止させ826,後帰丁る828。
een Down)命令802は現在のウインドウの内
容ヲ不クロールダウンする。スクロール・ダウンはまず
,フロント・ウインドウの中の垂直ス〕 クロール●バー’k探ス8 0 4。806において,
スクロール●バーが見つからなければ,スクリーン・ダ
ウンは復帰するだけである814。スクロール・バーが
見つかれば,スクリーン・ダウンは下向き矢印の座標を
計算し、(ポスト・マウスにマウス●ボタンが抑えられ
るべきであることを示す)マウスダウン●フラグを真に
セットし824、ポスト・マウスを使ってマウス・ボタ
ンを停止させ826,後帰丁る828。
スクリーンーレフト(Screen left)命令ハ
現在のウインドウの内容を左へスクロールする83o0
スクリーン●レフトはます,フロント●ウィンドウ中の
水平スクロール・バーを探丁832。864において,
スクロール・バーが見つからなければ,スクリーン・レ
フトは復帰するのみである842。
現在のウインドウの内容を左へスクロールする83o0
スクリーン●レフトはます,フロント●ウィンドウ中の
水平スクロール・バーを探丁832。864において,
スクロール・バーが見つからなければ,スクリーン・レ
フトは復帰するのみである842。
スクロール・バーが見つかれば,スクリーン●レフトは
左矢印の座標を検出し836.(ポスト●マウスに,マ
ウス●ボタンが抑えられるべきであることを示す〕マウ
スダウン●フラグを真にセツ}L838.ボスト●マウ
スを使って、マウス・ボタンを停止させる840、復帰
する842。
左矢印の座標を検出し836.(ポスト●マウスに,マ
ウス●ボタンが抑えられるべきであることを示す〕マウ
スダウン●フラグを真にセツ}L838.ボスト●マウ
スを使って、マウス・ボタンを停止させる840、復帰
する842。
スクリーy−ライト( Screen Right )
命令は現在のウインドウの内容y5t右へスクロールす
る844。スクリーン・ライトはまずフロント・ウイン
ドウ中の水平スクロール●バーY探j846。
命令は現在のウインドウの内容y5t右へスクロールす
る844。スクリーン・ライトはまずフロント・ウイン
ドウ中の水平スクロール●バーY探j846。
848において,スクロール・バーが見っからなげれば
,スクリーン●ライ}%ま復帰するのみである856。
,スクリーン●ライ}%ま復帰するのみである856。
スクロール・バーが見つかれば,スクリーン・ライトは
右矢印の座標を計算し85口,(ポスト・マウスに,マ
ウス・ボタンが抑えられるべきであることを示−f)マ
ウスダウン#フラグを真にセットし852,ポスト・マ
ウスχ使って,マウス・ボタンを停止させ854,復帰
する856。
右矢印の座標を計算し85口,(ポスト・マウスに,マ
ウス・ボタンが抑えられるべきであることを示−f)マ
ウスダウン#フラグを真にセットし852,ポスト・マ
ウスχ使って,マウス・ボタンを停止させ854,復帰
する856。
第21E図を参照丁ると,ページ・ダウン(PageD
own ) 命令は現在のウィンドゥの内容を1ぺ−
ジ分.下に動か丁858。ページ●ダクンはまず,フロ
ント●ウインドウ内の垂直スクロール●バーヲ探丁86
0。862において、スクロール・バーが見つからなけ
れば,ページ●ダウンは復帰するのみである868。ス
クロール●バーが見っかれば,ベージ●ダクンはページ
●ダクン●ボタンの座flY計算し864,ポスト・マ
ウスを使ってマウス●ボタンを停止させ866.復帰す
る868。
own ) 命令は現在のウィンドゥの内容を1ぺ−
ジ分.下に動か丁858。ページ●ダクンはまず,フロ
ント●ウインドウ内の垂直スクロール●バーヲ探丁86
0。862において、スクロール・バーが見つからなけ
れば,ページ●ダウンは復帰するのみである868。ス
クロール●バーが見っかれば,ベージ●ダクンはページ
●ダクン●ボタンの座flY計算し864,ポスト・マ
ウスを使ってマウス●ボタンを停止させ866.復帰す
る868。
ヘーシ●アッフ( Page Up)命令は現在のウィ
ンドウの内容を1ページ分,上に動かす87o0ベージ
●アップはまず,フロント●クィンドゥ内の垂直スクロ
ール・バーを探す872。874において.スクロール
●バーが見つからなければ,ヘーシ●アップは復帰する
のみである88o0スクロール●バーが見つかれば,ペ
ージ●アップはページーアヴプ●ボタンの座標を計算し
876.ポスト・マウスを使ってマウス・ボタンを停止
させ878,復帰する880。
ンドウの内容を1ページ分,上に動かす87o0ベージ
●アップはまず,フロント●クィンドゥ内の垂直スクロ
ール・バーを探す872。874において.スクロール
●バーが見つからなければ,ヘーシ●アップは復帰する
のみである88o0スクロール●バーが見つかれば,ペ
ージ●アップはページーアヴプ●ボタンの座標を計算し
876.ポスト・マウスを使ってマウス・ボタンを停止
させ878,復帰する880。
ヘーシ●77 } (page Left)命令は現在
のウィンドウの内容?l−1ページ分.左へ動かす88
2。
のウィンドウの内容?l−1ページ分.左へ動かす88
2。
ページ●レフトはまず,フロント●ウィンドゥ内の水平
スクロール●バーを探す884.886において,スク
ロール。バーが見つからなげれば,ヘーシ●レフトは復
帰するのみである892。スクロール・バーが見つかれ
ば、ページ●レフトはページ・レフト・ボタンの座標を
計算し888,ポスト●マウスを使ってマウス・ボタン
を停止させ890,後帰丁る892。
スクロール●バーを探す884.886において,スク
ロール。バーが見つからなげれば,ヘーシ●レフトは復
帰するのみである892。スクロール・バーが見つかれ
ば、ページ●レフトはページ・レフト・ボタンの座標を
計算し888,ポスト●マウスを使ってマウス・ボタン
を停止させ890,後帰丁る892。
ページ・ライト( Page Right,)命令は現
在のウインドウの内容聖1ページ分,右へ動かす894
。
在のウインドウの内容聖1ページ分,右へ動かす894
。
ページ・ライトはまず、フロント・ウインドウ内の水平
スクロール・バー馨探丁896。898において,スク
ロール●バーが見っからなげれば、ヘーシ●ライトは後
帰丁るのみである904。スクロール●バーが見つかれ
ば、ページ・ライトはページ・ライト・ボタンの座標ヲ
計算し900,ボスト●マウスを使ってマウス●ボタン
を停止させ902.復帰する904。
スクロール・バー馨探丁896。898において,スク
ロール●バーが見っからなげれば、ヘーシ●ライトは後
帰丁るのみである904。スクロール●バーが見つかれ
ば、ページ・ライトはページ・ライト・ボタンの座標ヲ
計算し900,ボスト●マウスを使ってマウス●ボタン
を停止させ902.復帰する904。
第21F図を参照丁ると,ムープ( MOVe )命令
はマウスをその現在の位置C’l.X)から新しい位置
(Y+δy,x+δx)へ動かす906。まず,ムーブ
は命令パラメータ908を取得し9口8,ムープはマウ
スのスピードをタブレットに合わせてセットし910.
(これにより,そうしなげればマウスの動きを制御不可
能としてしまうだろう,マウスの加速を取り消す。)オ
フセット・パラメータ浅現在のマウスの位置に加算し9
12、新しいカーソル位置とさせ、マウスのスピード馨
リセットし914.復帰する916。
はマウスをその現在の位置C’l.X)から新しい位置
(Y+δy,x+δx)へ動かす906。まず,ムーブ
は命令パラメータ908を取得し9口8,ムープはマウ
スのスピードをタブレットに合わせてセットし910.
(これにより,そうしなげればマウスの動きを制御不可
能としてしまうだろう,マウスの加速を取り消す。)オ
フセット・パラメータ浅現在のマウスの位置に加算し9
12、新しいカーソル位置とさせ、マウスのスピード馨
リセットし914.復帰する916。
グローバル座標ヘノ移動( Move to Glob
alCoordinate )命令はカーソルを音声制
御命令列により与えられたグローバル座標へ動か丁91
8。
alCoordinate )命令はカーソルを音声制
御命令列により与えられたグローバル座標へ動か丁91
8。
このムープ●トウ・グローバル(グローバル座標への移
動命令)はまず、命令パラメータ2取得し920,位置
パラメータがあるか否が馨テエノク丁る922。位置パ
ラメータがあれば,スクリーンの位置座標がフエヴチさ
れる924。いづれの場合も,グローバル座棟が計算さ
れ926,マウスσ)スヒードはタブレットに合わせて
セヴトされ928、マウスの位置は新しい座標にセット
され960、カーソルは新しい位置とされ932,ムー
ブ・トク・グローバルは復帰する934。
動命令)はまず、命令パラメータ2取得し920,位置
パラメータがあるか否が馨テエノク丁る922。位置パ
ラメータがあれば,スクリーンの位置座標がフエヴチさ
れる924。いづれの場合も,グローバル座棟が計算さ
れ926,マウスσ)スヒードはタブレットに合わせて
セヴトされ928、マウスの位置は新しい座標にセット
され960、カーソルは新しい位置とされ932,ムー
ブ・トク・グローバルは復帰する934。
局部座標への移動( Move to Local C
oordi−nate) 命令はカーソルを音声制御命
令列により与えられたグローバル座標へ動かす936。
oordi−nate) 命令はカーソルを音声制御命
令列により与えられたグローバル座標へ動かす936。
このムーブ・トウ・ローカル(局部座標への移動命令フ
はまず,命令パラメータχ取消し938,位置パラメー
タを取得し940,位置パラメータかあれば,局部位置
座標がフz’yテされる942。いづれの場合も,グロ
ーバル座標が計算され944,マウスのスピードはタブ
レットに合わせてセットされ948,カーソルは新しい
位置とされ95口,ムープ・トウ・ローカルは復帰する
952。
はまず,命令パラメータχ取消し938,位置パラメー
タを取得し940,位置パラメータかあれば,局部位置
座標がフz’yテされる942。いづれの場合も,グロ
ーバル座標が計算され944,マウスのスピードはタブ
レットに合わせてセットされ948,カーソルは新しい
位置とされ95口,ムープ・トウ・ローカルは復帰する
952。
連続移動( MOVe cont3nvous )命令
ハスクリーンのりフレヴシェの度にδy,δXだけ移動
させて,マウスを現在の位置から連続的に動かす954
。これはマ?キントッシュの垂直プランキング割込み待
ち行列中に,VBL移動( Move )ルーチンを挿
入して956%復帰する958ことにより或しうる。待
ち行列の中に入れれば.VBL移動ルーテンはスクリー
ンのりフレッシュの度に実行されるであろう960.V
BL移動ルーチンは現在のカーソル位置にδyおよびδ
Xの値を単に加算し,そのカーソルχリセットし964
.徴帰丁る966。
ハスクリーンのりフレヴシェの度にδy,δXだけ移動
させて,マウスを現在の位置から連続的に動かす954
。これはマ?キントッシュの垂直プランキング割込み待
ち行列中に,VBL移動( Move )ルーチンを挿
入して956%復帰する958ことにより或しうる。待
ち行列の中に入れれば.VBL移動ルーテンはスクリー
ンのりフレッシュの度に実行されるであろう960.V
BL移動ルーチンは現在のカーソル位置にδyおよびδ
Xの値を単に加算し,そのカーソルχリセットし964
.徴帰丁る966。
第21G図ケ参照すると、オプンヨン・キー停止( O
ption K8Y DOWn )命令kl−プ’/
, 7 11 #一χ停止させる968。これはキーボ
ード・ビット●マップ内のオプション自キーのビット浅
真にセットし97口,復帰する972ことによりなされ
る。
ption K8Y DOWn )命令kl−プ’/
, 7 11 #一χ停止させる968。これはキーボ
ード・ビット●マップ内のオプション自キーのビット浅
真にセットし97口,復帰する972ことによりなされ
る。
オプション●キー・アップ(○ption Key U
p)命令はオプション●キーを起動する974。これは
キーボードのビット●マップ内のオプションー千一のビ
ットを偽にセットし976,復帰する978ことにより
なされる。
p)命令はオプション●キーを起動する974。これは
キーボードのビット●マップ内のオプションー千一のビ
ットを偽にセットし976,復帰する978ことにより
なされる。
シフト●キー●ダウン(Stlift Ke’j DO
Wn)命令はシフト●キーを停止させる980。これ1
言キーボードのビット●マップ内のシフト●キーのビッ
トを真にセットし982,復帰する984ことによりな
される。
Wn)命令はシフト●キーを停止させる980。これ1
言キーボードのビット●マップ内のシフト●キーのビッ
トを真にセットし982,復帰する984ことによりな
される。
シフト・キー・アップ( Shi ft Key Up
)命令はシフト・キー浅起動丁る986。これはキー
ボードのビット●マップ内のシフト・キーのビットを偽
にセットし988,復帰する990ことにょりなされる
。
)命令はシフト・キー浅起動丁る986。これはキー
ボードのビット●マップ内のシフト・キーのビットを偽
にセットし988,復帰する990ことにょりなされる
。
コマンド●キー・ダウy ( Command Key
Down)命令は命令キー馨停止させる992。これ
はキーボードのビヅト●アップ内の命令キーのビットを
真にセットし994,復帰する996ことによりなされ
る。
Down)命令は命令キー馨停止させる992。これ
はキーボードのビヅト●アップ内の命令キーのビットを
真にセットし994,復帰する996ことによりなされ
る。
コマンド●キー●アップ( Command Key
Up )命令は命令キーをセヴトアップする998。こ
れはキーボードのビヴト●アップ内の命令キーのビット
χ偽にセットしiooo.復帰する1002ことにより
なされる。
Up )命令は命令キーをセヴトアップする998。こ
れはキーボードのビヴト●アップ内の命令キーのビット
χ偽にセットしiooo.復帰する1002ことにより
なされる。
コントo − A/ a # − aダウ7 ( Co
ntrol KeyDOWn)命令は制御キー馨停止さ
せる1004。
ntrol KeyDOWn)命令は制御キー馨停止さ
せる1004。
これはキーボードのビット●アップ内の制御キーのビッ
トを真にセットし1006.復帰する1008ことによ
りなされる。
トを真にセットし1006.復帰する1008ことによ
りなされる。
コントロ− ILt # #−1) 7−,Fプ( C
ontrol KeyUp)命令は制御キーをセットア
ップする1010。
ontrol KeyUp)命令は制御キーをセットア
ップする1010。
これはキーボードのピット●アップ内の制御キーのビッ
トを偽にセットし1012.復帰する1014ことによ
りなされる。
トを偽にセットし1012.復帰する1014ことによ
りなされる。
ネクスト●ウインドウ( Next WindOW )
@令はフロント●ウインドウを後に移動させる1016
。
@令はフロント●ウインドウを後に移動させる1016
。
これはフロント●ウインドウをとらえ1018.ソれ馨
後に送り1020.復帰丁ることによりなされる102
2。
後に送り1020.復帰丁ることによりなされる102
2。
イレーズ(grase)命令はスクリーンからのナムテ
ヤーズ( numchars ) キャラクタを消去
する。
ヤーズ( numchars ) キャラクタを消去
する。
最新の音声命令によりタイプされるキャラクタの数はボ
イス・コントロールにより保持される。したがって,イ
レーズは最新の音声命令からのキャラクタを消去するで
あろう。これはキーのキーダウン削除の事象を置いて1
026. tiltかれた事象の数がナムテヤーズに等
しいか否かをチェックするループによりなされる。ナム
チャーズの削除が置かれていたならば、イレーズは復帰
丁る1030。
イス・コントロールにより保持される。したがって,イ
レーズは最新の音声命令からのキャラクタを消去するで
あろう。これはキーのキーダウン削除の事象を置いて1
026. tiltかれた事象の数がナムテヤーズに等
しいか否かをチェックするループによりなされる。ナム
チャーズの削除が置かれていたならば、イレーズは復帰
丁る1030。
キャビタライズ( Capi tal iZe )命令
は次のキーストロークを大文字化する1032。これは
キャップス( caps ) フラグを真にセットし
て1034.復帰する(1036) ことによりなさ
れる。
は次のキーストロークを大文字化する1032。これは
キャップス( caps ) フラグを真にセットし
て1034.復帰する(1036) ことによりなさ
れる。
ラウンチ( Launch )命令はアプリケーション
へ進む10′58。このアプリケーションは1レベルノ
ミ深イフート.トライフ(boOtdrive)上ニな
げればならない。これはそのアプリケーションの名称(
@apple−name″)奮得て1040%プー}
− ホlJ .−A ( boot volume)
上りapple −name馨深し1042.そして.
1044において、そのアプリケーションが見つかれば
,そのボリュームχアプリケーション●フォルダ(fo
ld8r)にセットし1048.そのアプリケーション
険進む1050(その新しいアプリケーションはマツキ
ントッシュの待ち行列をクリアするであろうから,復機
は必要ない)。アプリケーションが見つからなげれば,
ラウンチは復帰するのみである(1046)。
へ進む10′58。このアプリケーションは1レベルノ
ミ深イフート.トライフ(boOtdrive)上ニな
げればならない。これはそのアプリケーションの名称(
@apple−name″)奮得て1040%プー}
− ホlJ .−A ( boot volume)
上りapple −name馨深し1042.そして.
1044において、そのアプリケーションが見つかれば
,そのボリュームχアプリケーション●フォルダ(fo
ld8r)にセットし1048.そのアプリケーション
険進む1050(その新しいアプリケーションはマツキ
ントッシュの待ち行列をクリアするであろうから,復機
は必要ない)。アプリケーションが見つからなげれば,
ラウンチは復帰するのみである(1046)。
第22図を参照丁ると,ポスト・マウス・ルーテンはマ
ウス停止の事象を,マツキントヴシェの事象待ち行列に
置いて1 052.マウスの活動を監視しマウスを停止
させ続けるためにトラップをセット丁ることかできる。
ウス停止の事象を,マツキントヴシェの事象待ち行列に
置いて1 052.マウスの活動を監視しマウスを停止
させ続けるためにトラップをセット丁ることかできる。
ポスト・マウスの動作はボイス・コントロール●フラグ
のグローバルおよびマウスダウンにより決定され,それ
らはポストマウスを呼び出す前に命令ハンドラによりセ
ットされる。ボスト●マウスの後,アブリケーシ1ンが
1次の事象取得”( get−next−event)
を行うと,それは事象の待ち行列内のマウスーダクンの
事象を判別し、位置づけ( QliCkS ) ,
マウス●ダウン,または二重の位置づけ(double
l clicks)のような事象へと導く。
のグローバルおよびマウスダウンにより決定され,それ
らはポストマウスを呼び出す前に命令ハンドラによりセ
ットされる。ボスト●マウスの後,アブリケーシ1ンが
1次の事象取得”( get−next−event)
を行うと,それは事象の待ち行列内のマウスーダクンの
事象を判別し、位置づけ( QliCkS ) ,
マウス●ダウン,または二重の位置づけ(double
l clicks)のような事象へと導く。
まず,ポスト・マウスはマウスの事象が生成された後,
マウスがその最初の位置に復帰できるように,現在のマ
ウスの位置を保存する1054。次に,カーソルはユー
ザがスクリーンを動きまわるマウスを見ないようにする
ために消される1056。
マウスがその最初の位置に復帰できるように,現在のマ
ウスの位置を保存する1054。次に,カーソルはユー
ザがスクリーンを動きまわるマウスを見ないようにする
ために消される1056。
次に,グローバル●フラグがチェックされる。
1058において.座標がローカルであれば(すなわち
, global=FALsE).それらはグローバル
座標に変換される1060。次に,マウスのスピードは
(加速問題を壁けるために)タブレットにセットされ1
062.マウス停止がマツキントッシュの事象待ち行
列に置かれる1064。1066において、マウス・ダ
ウン・フラグが真であれば(′fなわち、マウス・ボタ
ンが抑制されていれば)・ゝット●マウスeダウン(
Set Mouse Down ) ル−テンが呼び出
され1072.ポスト・マウスは復帰する107口。そ
うでなく,マウス・ダウン・フラグが偽であれば,マツ
キントッシュの事象待ち行列にマウス起動の事象を置い
て1068,復帰する1070ことにより、位置づけ(
CliCkS)が行われる。
, global=FALsE).それらはグローバル
座標に変換される1060。次に,マウスのスピードは
(加速問題を壁けるために)タブレットにセットされ1
062.マウス停止がマツキントッシュの事象待ち行
列に置かれる1064。1066において、マウス・ダ
ウン・フラグが真であれば(′fなわち、マウス・ボタ
ンが抑制されていれば)・ゝット●マウスeダウン(
Set Mouse Down ) ル−テンが呼び出
され1072.ポスト・マウスは復帰する107口。そ
うでなく,マウス・ダウン・フラグが偽であれば,マツ
キントッシュの事象待ち行列にマウス起動の事象を置い
て1068,復帰する1070ことにより、位置づけ(
CliCkS)が行われる。
第25図χ参照すると,セット・マウス・ダウ7 (
set Mouse pown) A/−チンはマツキ
ントッシュのボタン●トラップをマイ●ボタン( MY
Button )と名付けられたボイス・コントロール
●トラップに置き換えることにより,マウス・ボタン聖
停止させつづける1072。マイ・ボタン・トラップは
更に,音声命令を認識し.適宜,マウスの軌線( dr
ags )または佇置(clicks)k生成丁る。マ
イ●ポタンを開始した後,セットーマウス・タウンはマ
ツキントッシュがマツキントッシェ●プラス(Maci
ntosh Plus) テあるか否カテ工ヴク丁る1
076。マツキントッシュ●プラスの場合、ボスト●イ
ベント●トラップもまた、ボイス・コントロール・マイ
●ボスト●イベント・トラップにリセットされなければ
ならない。(マヅキントヴシ瓢●プラスはマウス・ボタ
ンの状態を判定するために, mbstate グロー
バル・フラグ馨単にテエツクしないであろう。むしろ、
マツキントッシュ・プラス内のポスト・イベント・トラ
ップはその状態を決めるために実際のマウス・ボタンを
集めるだろううし,マウス・ボタンがセット状態であれ
ば.マウス●アップの事象と置くだろう。したがって、
ボイス・コントロールKJI’)指示されるとおりに,
マツキントヴシュ−プラスに、マウス●ポタン状態を受
けさせるために、音声処理動作の間,ポスト・イベント
・トラップはマイ・ボスト●イベントートラップと置き
換えられ,それはマウス●ポタンの状態を集めはしない
だろう。)次に, mb S tateフラグは(マウ
ス・ボタンがダウンしていることを示す)マウスダウン
にセツされ108口、セット・マウス・ダウンは?帰す
る1082。
set Mouse pown) A/−チンはマツキ
ントッシュのボタン●トラップをマイ●ボタン( MY
Button )と名付けられたボイス・コントロール
●トラップに置き換えることにより,マウス・ボタン聖
停止させつづける1072。マイ・ボタン・トラップは
更に,音声命令を認識し.適宜,マウスの軌線( dr
ags )または佇置(clicks)k生成丁る。マ
イ●ポタンを開始した後,セットーマウス・タウンはマ
ツキントッシュがマツキントッシェ●プラス(Maci
ntosh Plus) テあるか否カテ工ヴク丁る1
076。マツキントッシュ●プラスの場合、ボスト●イ
ベント●トラップもまた、ボイス・コントロール・マイ
●ボスト●イベント・トラップにリセットされなければ
ならない。(マヅキントヴシ瓢●プラスはマウス・ボタ
ンの状態を判定するために, mbstate グロー
バル・フラグ馨単にテエツクしないであろう。むしろ、
マツキントッシュ・プラス内のポスト・イベント・トラ
ップはその状態を決めるために実際のマウス・ボタンを
集めるだろううし,マウス・ボタンがセット状態であれ
ば.マウス●アップの事象と置くだろう。したがって、
ボイス・コントロールKJI’)指示されるとおりに,
マツキントヴシュ−プラスに、マウス●ポタン状態を受
けさせるために、音声処理動作の間,ポスト・イベント
・トラップはマイ・ボスト●イベントートラップと置き
換えられ,それはマウス●ポタンの状態を集めはしない
だろう。)次に, mb S tateフラグは(マウ
ス・ボタンがダウンしていることを示す)マウスダウン
にセツされ108口、セット・マウス・ダウンは?帰す
る1082。
マイーボタン●トラププはマヴキントツシュのボタン・
トラップを置き換え1084. そhK工’l・オペレ
ーティング■システムからのボタン状態のi1Il1御
馨抽捉丁る。マイ・ボタンが呼び出される度毎に、それ
はマツキントッシュのマウスーボタン状態ビットmbs
tata χテエヴクする1086。
トラップを置き換え1084. そhK工’l・オペレ
ーティング■システムからのボタン状態のi1Il1御
馨抽捉丁る。マイ・ボタンが呼び出される度毎に、それ
はマツキントッシュのマウスーボタン状態ビットmbs
tata χテエヴクする1086。
mbStateがアップ(動作状態)にセットされてい
たならば,マイ・ボタンはエンド●ポタン (End
Button) ルーチン1106へ移り, mbst
ateをアップにセットし1108.@えられているV
BLルーテンへ移り1 1 1 0.ボタンおよびポス
ト・イベントのトラップを元のマツキントッシュのトラ
ヴブにリセットし1112.マウスのスピード留リセッ
トし,カーソルをマウスに結合させ1114.カーソル
馨表示し1102.そして復帰する1104。
たならば,マイ・ボタンはエンド●ポタン (End
Button) ルーチン1106へ移り, mbst
ateをアップにセットし1108.@えられているV
BLルーテンへ移り1 1 1 0.ボタンおよびポス
ト・イベントのトラップを元のマツキントッシュのトラ
ヴブにリセットし1112.マウスのスピード留リセッ
トし,カーソルをマウスに結合させ1114.カーソル
馨表示し1102.そして復帰する1104。
しかしながら、マウス・ボタンがダウン(停止状態)の
ままであれば.マイ・ボタンは(マq’?/トッシュが
スクリーン上にメニュー馨描く時間を許容する)待ち時
間が終了したか否か欠テエツクし1088.更なる音声
命令を認識するために,認識ルーテン聖呼び出す。更な
る音声命令か認識された後,マイ●ボタンは命令列の長
さに基づいて,その次の処理動作を判定する1092。
ままであれば.マイ・ボタンは(マq’?/トッシュが
スクリーン上にメニュー馨描く時間を許容する)待ち時
間が終了したか否か欠テエツクし1088.更なる音声
命令を認識するために,認識ルーテン聖呼び出す。更な
る音声命令か認識された後,マイ●ボタンは命令列の長
さに基づいて,その次の処理動作を判定する1092。
命令の長さが口より小さければ,次の音声命令はボイス
●コントロール内部命令であり,マクスーボタンはエン
ド●ボタン1106’f呼び出丁ことにより解放される
。命令列の長さが口より太きければ.命令は認識され.
その命令は音声の行列に並ばされ1 094.その音声
の待ち行列は更なる命令ケ求めてチェックされる109
6。何も認識されなげれば(命令列の長さが0),マイ
・ボタンは飛び越して,直接,音声の待ち行列のチェッ
クヘ行<1096。
●コントロール内部命令であり,マクスーボタンはエン
ド●ボタン1106’f呼び出丁ことにより解放される
。命令列の長さが口より太きければ.命令は認識され.
その命令は音声の行列に並ばされ1 094.その音声
の待ち行列は更なる命令ケ求めてチェックされる109
6。何も認識されなげれば(命令列の長さが0),マイ
・ボタンは飛び越して,直接,音声の待ち行列のチェッ
クヘ行<1096。
しかし,音声の待ち行列内に命令があれば,マイ・ボタ
ンはその命令が(マウスの位置づけを行うであろう)マ
ウス移動命令であるか否かチェックする1098。マウ
ス移動でなげれば,マウス・ボタンはエンド・ボタンを
呼び出丁ことにより解放される。その命令がマウス移動
であれば、(マウスをひきずる)その命令は実行され1
100、力一ソルは表示され1102.そしてマイ・ポ
タyitm帰丁る。
ンはその命令が(マウスの位置づけを行うであろう)マ
ウス移動命令であるか否かチェックする1098。マウ
ス移動でなげれば,マウス・ボタンはエンド・ボタンを
呼び出丁ことにより解放される。その命令がマウス移動
であれば、(マウスをひきずる)その命令は実行され1
100、力一ソルは表示され1102.そしてマイ・ポ
タyitm帰丁る。
スクリーン●ディスプレイ
第24図を参照丁ると,記録動作中σ〕スクリーン表示
が示されている。ユーザは局部マウス●クリック聖記録
しており1106.そのクリックはアクション●リスト
1108およびアクション・ウインドウ1110の中で
示されている。
が示されている。ユーザは局部マウス●クリック聖記録
しており1106.そのクリックはアクション●リスト
1108およびアクション・ウインドウ1110の中で
示されている。
第25図馨参照丁ると、会話ボックス宮用いた記録動作
が示されている。手動のプリンタ・フィードのための会
話ボックス1112がユーザに会話の記録を促fポイス
・コントロール・ラン●モダル会話ボックス1114と
共に.ユーザに表示される。ユーザは手動7イード●ボ
タン1116に対丁る音χ記録丁る準備をしている。
が示されている。手動のプリンタ・フィードのための会
話ボックス1112がユーザに会話の記録を促fポイス
・コントロール・ラン●モダル会話ボックス1114と
共に.ユーザに表示される。ユーザは手動7イード●ボ
タン1116に対丁る音χ記録丁る準備をしている。
第26図を参照すると,ランゲージ●メーカ( Lan
guage Maker )のメニ:L−1118が示
されている。
guage Maker )のメニ:L−1118が示
されている。
@27図を参照すると,ユーザは現在の言語を選択し,
それはポイス●コントロールにより、抜ぎ出し(Pop
−up)表示形式で表示されている。
それはポイス●コントロールにより、抜ぎ出し(Pop
−up)表示形式で表示されている。
第28図を参照丁ると,ユーザは発声する名称“アップ
ル”1122について発音し、“アップル”のための発
声の再訓練を要求する。ボイス・コントロールは会話ボ
ックス1124により応答し,マイクロホン&C”アッ
プル”と2回言うようにユーザに求める。
ル”1122について発音し、“アップル”のための発
声の再訓練を要求する。ボイス・コントロールは会話ボ
ックス1124により応答し,マイクロホン&C”アッ
プル”と2回言うようにユーザに求める。
第29図ケ参照すると.(ボーカル( Vocal )
によってコンパイルされるべき)ライト・グロダクシ*
7 ( wr i jet Produc ti O
n )出力77イルノためのランゲージ●メーカ表示が
示されている。
によってコンパイルされるべき)ライト・グロダクシ*
7 ( wr i jet Produc ti O
n )出力77イルノためのランゲージ●メーカ表示が
示されている。
ランゲージ・メーカ表示はかなり直観的であることが第
29図より明らかである。
29図より明らかである。
第30図を参照丁ると,第29図に表示されたようなラ
イト●プロダクション出力ファイルのリストが示されて
いる。
イト●プロダクション出力ファイルのリストが示されて
いる。
他の実施例
本発明の他の実施例も添記の特許請求の範囲内にある。
例えば、音声認識システムにより制御されるグラフィッ
ク●ユーザーインターフェースはアップル・マツキント
ッシュ・コンピュータのものでなくともよい。認識器は
ドラ″′゜シ3テ”ズ( Dragon system
s ) Kより市販されているもσ〕でなくともよい。
ク●ユーザーインターフェースはアップル・マツキント
ッシュ・コンピュータのものでなくともよい。認識器は
ドラ″′゜シ3テ”ズ( Dragon system
s ) Kより市販されているもσ〕でなくともよい。
添付の付録Aはボイス●コントロール命令言語の命令文
規則を示しており、付録Bはボイス・ナビゲータ●シス
テムにより用いられろ.マツキントッシュのOSグロー
バルズのうちのいくつか會列挙しており,付録Cはボイ
ス・ナビゲータの実行可能コードのマイクロフィシュで
あり.付録Dはボイス・ナビゲータ●システムのための
開発者用リファレンスーマニュアルであり,付録Eはボ
イス・ナビゲータのユーザ用マニュアルであり,これら
全てを本文に参考として組み入れる。
規則を示しており、付録Bはボイス・ナビゲータ●シス
テムにより用いられろ.マツキントッシュのOSグロー
バルズのうちのいくつか會列挙しており,付録Cはボイ
ス・ナビゲータの実行可能コードのマイクロフィシュで
あり.付録Dはボイス・ナビゲータ●システムのための
開発者用リファレンスーマニュアルであり,付録Eはボ
イス・ナビゲータのユーザ用マニュアルであり,これら
全てを本文に参考として組み入れる。
本特許書類の開示ある部分は著作権保護の対象となるも
の(例えば.表のマイクロフィシュ・ユーザ用マニュア
ルおよびリファレンス●マニュアル)を含んでいる。著
作槓者は特許書類または特許開示物が特許商標局の特許
ファイルまたはレコード中にあるりであるから.その特
許書類または特許開示物の.いかなる者による複製にも
異議な唱えないが,そうでなければ,何であれ全ての著
作W11k保有丁る。
の(例えば.表のマイクロフィシュ・ユーザ用マニュア
ルおよびリファレンス●マニュアル)を含んでいる。著
作槓者は特許書類または特許開示物が特許商標局の特許
ファイルまたはレコード中にあるりであるから.その特
許書類または特許開示物の.いかなる者による複製にも
異議な唱えないが,そうでなければ,何であれ全ての著
作W11k保有丁る。
it6mnum) menuname という名称の
メニ瓢の中の.ttemnum という名称の項目X
見つげ,それを選択丁る。i temnumがOであれ
ば.メニ=LYそのまま保つ。
メニ瓢の中の.ttemnum という名称の項目X
見つげ,それを選択丁る。i temnumがOであれ
ば.メニ=LYそのまま保つ。
Ctlnam6 という名称の制限を見つげ,その長
方形の中に位置づける。
方形の中に位置づける。
は0−〜9.−,+.X.1.=.およびクリアのため
の00 数字千一バヅド上のキーのためにキーダウンケ置く。
の00 数字千一バヅド上のキーのためにキーダウンケ置く。
ズーム命令一@zoou
フロント●ウインドウのズームーボックスの中に位置づ
ける。
ける。
(y.X)
フロント・ウインドウの局部(ローカル)座標(V.X
)に位置づける。
)に位置づける。
(Y.X)
現在のスクリーンの全体(グローバル)座標にα置づけ
る。
る。
現在のスクリーンの全体塵標(y.X)Kおいて2回.
発音する。y=x=oであれは、現在のマウスの僚置に
おいて、2回、位置づける。
発音する。y=x=oであれは、現在のマウスの僚置に
おいて、2回、位置づける。
マウス・ダウン命令一@MspN
マウス・ボタンの状態馨ダウン(停止状態)ニセットし
,そのダウンを維持丁るためにトラップをセットアップ
丁る。
,そのダウンを維持丁るためにトラップをセットアップ
丁る。
マウス・アップ命令一@MSUP
マウス・ボタンの状態渇アヅブ(動作状態)にセットす
る。
る。
フロントーウインドウのスクロール●バーの下向きの矢
印の部分にマウスを位置づける。
印の部分にマウスを位置づける。
フロント●ウインドウのスクロール●バーの上向きの矢
印の部分にマウスを位置づける。
印の部分にマウスを位置づける。
フロント・ウインドウのスクロール・バーの左向きの矢
印の部分にマウス髪位置づける。
印の部分にマウス髪位置づける。
フロント●ウインドウのスクロール●バーの右向きの矢
印の部分にマウスケ立置づげる。
印の部分にマウスケ立置づげる。
フロント●ウインドウのスクロール●バーの下向きの矢
印の部分に位置づけろ。
印の部分に位置づけろ。
フロントーウインドウのスクロールーノくーの上向きの
矢印の部分に位置づけろ。
矢印の部分に位置づけろ。
フロント●ウインドウのスクロール●ノくーの左向きの
矢印の部分に位置づけろ。
矢印の部分に位置づけろ。
ページ・ライト命令一@PGRT
フロント●ウインドウのスクロール自ハーノ右向きの矢
印の部分にα置づげろ。
印の部分にα置づげろ。
ムー7” 命令e M O V E ( t3 y ,
J X )マウスをその現在の位置(Y.X)から新
しい位直(y+δy.x+δX)へ移丁。tこだし,a
yおよびδXは画素であり,正または負のいづれの値も
とりうる。
J X )マウスをその現在の位置(Y.X)から新
しい位直(y+δy.x+δX)へ移丁。tこだし,a
yおよびδXは画素であり,正または負のいづれの値も
とりうる。
ムープ●コンティニュアス命令− M O V I(δ
y.δX) マウスを.その現在の位置から連続的に移し、スクリー
ンのりフレッシ.L0)度毎にδy,δX移す。
y.δX) マウスを.その現在の位置から連続的に移し、スクリー
ンのりフレッシ.L0)度毎にδy,δX移す。
−MOVL ( y . x(, windownam
e)) またはMOVL( n( . y. x(
. windOWnam8>>) タだL,n=N,S
.E.W.NE.SE,SW.NW.C,G (Y.X)まfsは(n.V+y,n,h−1−X)i
7cjり与えられる局部座標へカーソルケ移す。
e)) またはMOVL( n( . y. x(
. windOWnam8>>) タだL,n=N,S
.E.W.NE.SE,SW.NW.C,G (Y.X)まfsは(n.V+y,n,h−1−X)i
7cjり与えられる局部座標へカーソルケ移す。
フボー} ( grafF’ort )を使用する。
’ windowname” がなければ,フロント・
ウインドウのグラフボートを使用丁る。
ウインドウのグラフボートを使用丁る。
令−@MovG<n.<y.x>)たぞし,n=N,S
,E,W,NE,SE,SW.NW,C,G(y.X)
また!’!(n.V+y,n.h+X)FC,Cり与え
られる全体座標へカーソル馨移す。スクリーンσ)グラ
フボート馨使用する。
,E,W,NE,SE,SW.NW,C,G(y.X)
また!’!(n.V+y,n.h+X)FC,Cり与え
られる全体座標へカーソル馨移す。スクリーンσ)グラ
フボート馨使用する。
オプション・キーを抑制(または保留)する。
オプション●千一を解放する。
シフト・キーを抑制(または保留)する。
シスト・キー馨解放する。
コマンド・キーを抑制(または保留)する。
コマンド●孝−ヲ解放する。
コントロール・キーを抑制(または保留)丁る。
コントロール●千一χ%放−f” ル。
フロント●ウインドウヲ後ろへ送る。
イレーズ命令一QERAS
タイプされた最後のナムチャーズ( numchars
)を消去する。
)を消去する。
タイプされる、次の文字を大文字化する。
ラウンテ命令一@LAUN (application
−name ) application − name という名称
ノアプリケーションへ進ム。このアプリケーションはレ
ベルが1のみ深いプート●ドライブ( boot dr
ive)上になげればならない。
−name ) application − name という名称
ノアプリケーションへ進ム。このアプリケーションはレ
ベルが1のみ深いプート●ドライブ( boot dr
ive)上になげればならない。
ウェイト命令一@WAIT(nnn)
認識において何か他のことを行う前に,nnnの時間が
経過丁るのを待つ。
経過丁るのを待つ。
表B:マ1キントッシュのOSグローバルズマッキント
ッシュのオペレーティング●システムとのインターフェ
ースケ行うには,特定の低位のメモリ●グローバルズが
ボイス●コントロールにより管理される必要がある。以
下は最も重要なグローバルズY認■したものである。更
なる情報は” Inside MaOintOSh”,
VOIS,I−VK書かれている。
ッシュのオペレーティング●システムとのインターフェ
ースケ行うには,特定の低位のメモリ●グローバルズが
ボイス●コントロールにより管理される必要がある。以
下は最も重要なグローバルズY認■したものである。更
なる情報は” Inside MaOintOSh”,
VOIS,I−VK書かれている。
マクス●グローバルズ( Mouse Globals
)Mtckey Bytas EQU SD6A−
カーソル値に対丁るボイノタ;マウスの加速な制御する
のに用いられる。マウスが10画素より多く動かされる
ときは必ずタブレットを指すようにセクトする。
)Mtckey Bytas EQU SD6A−
カーソル値に対丁るボイノタ;マウスの加速な制御する
のに用いられる。マウスが10画素より多く動かされる
ときは必ずタブレットを指すようにセクトする。
M Temp gQU 8828一低位のレベルの割込
みのマウス位置; @MovI命令を実行しながら.V
BL処理の間,マウスを動かすのに用いられる〇〔ロン
グ〕 Mouse EQU S830一処理されたマウスの座
橡; 他cv gMovx命令の全てに対して,マウス
馨動かすのに用いられる。
みのマウス位置; @MovI命令を実行しながら.V
BL処理の間,マウスを動かすのに用いられる〇〔ロン
グ〕 Mouse EQU S830一処理されたマウスの座
橡; 他cv gMovx命令の全てに対して,マウス
馨動かすのに用いられる。
MBState EQU 3172一現在の7ウス゜
ボタンの状態; itemname == 0であると
き,@MSDNおよび@MENUの。め,).fウユタ
ーウ,浅セットするのに用いられる。〔バイト〕キーe
ボード●グローバルズ(Key boardGIObi
alS ) Key Map EQU 81 74 −−?−ボード
上ノ各キーに対して1ビットが割り当てられた.キーボ
ード●ピヴト●アップ。2次キー(オプション,コマン
ド,シフト,コントロール)χダウンにセットするよう
,そのビットを真にセットする。
ボタンの状態; itemname == 0であると
き,@MSDNおよび@MENUの。め,).fウユタ
ーウ,浅セットするのに用いられる。〔バイト〕キーe
ボード●グローバルズ(Key boardGIObi
alS ) Key Map EQU 81 74 −−?−ボード
上ノ各キーに対して1ビットが割り当てられた.キーボ
ード●ピヴト●アップ。2次キー(オプション,コマン
ド,シフト,コントロール)χダウンにセットするよう
,そのビットを真にセットする。
J(rNEFilter EQU S29A−ゲット・
ネクスト●イヘント( Get Next Event
)7 4 #夕のプロシージャ(proc) ;ゲッ
ト・ネクスト・イベントへの呼び出しを阻止するよう、
ボイス・コントロールのメイン●ループにセットする。
ネクスト●イヘント( Get Next Event
)7 4 #夕のプロシージャ(proc) ;ゲッ
ト・ネクスト・イベントへの呼び出しを阻止するよう、
ボイス・コントロールのメイン●ループにセットする。
evtMax Ili:QU SIR一事象待ち行列中
の事象の最大数。この数になると,事象を行列中に置く
こと( Postjng )を止める。
の事象の最大数。この数になると,事象を行列中に置く
こと( Postjng )を止める。
EventQueue EQU S14A一事象待ち行
列のヘッダ,マツキントツシュの事象待ち行列の(ff
置。
列のヘッダ,マツキントツシュの事象待ち行列の(ff
置。
〔10バイト〕
タイム●グローバルズ( Time GIOt)als
)Ticks EQU S 1 6A一時間カウント
.ブート(1)OOt) からの時間。ボイス●コン
トロールの動作の間の時間経過を計測丁るのに用いられ
る。
)Ticks EQU S 1 6A一時間カウント
.ブート(1)OOt) からの時間。ボイス●コン
トロールの動作の間の時間経過を計測丁るのに用いられ
る。
カーソル●グローバルズ( Cursor Globa
ls )CrsrCouple EQU S8CF−
カーソルはマウスに結合しているか? @I,MS E
および@cMsg Kより遠隔人カχ行っているとき
,カーソル聖切り離丁のに用いられろ。
ls )CrsrCouple EQU S8CF−
カーソルはマウスに結合しているか? @I,MS E
および@cMsg Kより遠隔人カχ行っているとき
,カーソル聖切り離丁のに用いられろ。
crsr New gqu SF3CF.一 カー:/
ル}[fl゛たか?カーソルを動かした後,新しいカー
ソルと丁る。〔バイト〕 メニュー●クローバ”X (Menu Gl°bals
)MenuList EQU SAI −現在のmen
u Barのリスト構造。この処理は一つのアプリケー
ションに関係丁る全てのメニュ馨見つげるのに参照され
うる。
ル}[fl゛たか?カーソルを動かした後,新しいカー
ソルと丁る。〔バイト〕 メニュー●クローバ”X (Menu Gl°bals
)MenuList EQU SAI −現在のmen
u Barのリスト構造。この処理は一つのアプリケー
ションに関係丁る全てのメニュ馨見つげるのに参照され
うる。
ウインドウ●グローバルズ( Window eloo
als)WindOW List EQU S9D6
− 0次結合されたウインドウのリスト。このポイン
ターは一つのアプリケーションのための全ての存在丁る
ウインドウの連鎖へ導く。全ての局部命令のためのウイ
ンドウの待ち行列を見つげるのに用いる。
als)WindOW List EQU S9D6
− 0次結合されたウインドウのリスト。このポイン
ターは一つのアプリケーションのための全ての存在丁る
ウインドウの連鎖へ導く。全ての局部命令のためのウイ
ンドウの待ち行列を見つげるのに用いる。
ウインドウーオフセット( Window Offse
ts )これらの値はウインドウの特性を記述するウ
インドウの記録の中のオフセットである。1つのウイン
ドウが開かれると,これらのオフセットは計算するのに
用いられる。
ts )これらの値はウインドウの特性を記述するウ
インドウの記録の中のオフセットである。1つのウイン
ドウが開かれると,これらのオフセットは計算するのに
用いられる。
the Port EQU O−GrafPtr ;
@LMSEおよび@MovL命令のための局部座標。
@LMSEおよび@MovL命令のための局部座標。
portRect EQU SIO− ボートのレクタ
ング/l/ ( rectangle ) ( rec
t ) ; 関連ウインドウは@MOVL命令を形或
する。
ング/l/ ( rectangle ) ( rec
t ) ; 関連ウインドウは@MOVL命令を形或
する。
control List EQU 1 40 − i
つのウインドウに関連する制御を見つげるのに用いられ
る。
つのウインドウに関連する制御を見つげるのに用いられ
る。
00ntrl Title gQtJ 40− ec
TaLノ命令のための制御タイトル( Title)
’l比較するのに用いられる。
TaLノ命令のための制御タイトル( Title)
’l比較するのに用いられる。
COntl Rect EQU 8 − 1つの制御
中のクリックの位置を計算するのに用いられる。
中のクリックの位置を計算するのに用いられる。
next WindOW EQU 144− @NE
xT命令のための次のウインドウを置くのに用いられる
。
xT命令のための次のウインドウを置くのに用いられる
。
第1図1ま音声ナビゲータ音声制御インターフエイス装
置により使用されるマツキントヅシェコンピュータの吸
能ブロック図、 第2A図は第1図の音声ナビゲータインターフエイスの
使用のためワードリストを作戒するための言語作或の機
能ブロック図, 第2B図は音声ナビゲータインタフェイスで使用される
音声ファイルとワードリストのフォーマットを示す図, 第6図は音声ナビゲータ装置の組織ブロック図,第4図
は言語作戊メインイベントループのフロー図、 第5図はエディット実行モジ瓢一ルのフロー図,第6図
はアクション記録モジュールのフロー図,第7図はモー
ダル実行モジュールのフロー図,第8囚はイン・ボタン
?モジュールのフロー図、第9図はイベント・ハンドラ
・モジュールのフロー図、 第10図はドウ・マイ・メニュー・モジュールのフロー
図、 第11Aから1II図は言語作或メニュー・サブルーチ
ンのフロー図, 第12図はプロダクション書込みモジュールの7ロー図
, 第16図はターミナル書込みサブモジュールのフロー図
2 第14図は音声制御メイン・ドライバ・ループのフロー
図. 第15図はインプット・モジュール・プロセスのフロー
図, 第16図は認識サブモジュールのフロー図,第17図は
音声制御命令ルーチン・処理のフロー図, 第18図は処理Qモジュールのフロー図,第19図はネ
ヴクスト●サプモジネールのフロー図. 第20図は命令ハンドラの図. 第21A図から第21G図は命令ハンドラのフロー図, 第22図はボスト●マウス●ルーテンのフロー図, 第2′5図はセット・マウス●ダウン・ルーテンのフロ
ー図, 第24図及び25図は音声制御のスクリーン表示を例示
する図、 第26図ないし第29図は言語メーカのスクリーン表示
を例示する図、及び 第50図は言語ファイルのリストを示す図である。 100・・・コンピュータ、 102・・・音声ナビゲ
ータ音声制御コンピュータ, 112・・・音声ナビゲ
ータホックス, 120・・・音声認識ソフトウェア,
126・・・テキスト・バッファ、 128・・・音
声il1御ドライバ 130・・・音声制御解読器,
132・・・マツキントッシュオペレーティングシステ
ム, 140・・・言語作或器。 X面の浄書(内容に変更なし〉 2ウ2百フ節 醋萄260 FIG. 4 FIG. 5 「IC G FIG. 7 FIG. 8 FIG. 10 FIG.llA 472 E=■≧242 FIG. 13 FIG. 14 FIG. 15 FIG. 18 FIG. 21C 衆/ 争root DA HANDLE!2; NEW = new ( symboldrawing
); FILE一十+le Ml″V/ open); I−DIτ1t’dit ( cut, Copy paste >; DA HANDLER R( JILI”,−εDIT
); {i1e. new; 5ymoo ; d r& Wi n 9 + open eait: cutH copy二 pa5te FIG. 30 平成 2年特許願第166537号 2.発明の名称 音声制御コンピュータ・インターフェース3,補正をす
る者 事件との関係
置により使用されるマツキントヅシェコンピュータの吸
能ブロック図、 第2A図は第1図の音声ナビゲータインターフエイスの
使用のためワードリストを作戒するための言語作或の機
能ブロック図, 第2B図は音声ナビゲータインタフェイスで使用される
音声ファイルとワードリストのフォーマットを示す図, 第6図は音声ナビゲータ装置の組織ブロック図,第4図
は言語作戊メインイベントループのフロー図、 第5図はエディット実行モジ瓢一ルのフロー図,第6図
はアクション記録モジュールのフロー図,第7図はモー
ダル実行モジュールのフロー図,第8囚はイン・ボタン
?モジュールのフロー図、第9図はイベント・ハンドラ
・モジュールのフロー図、 第10図はドウ・マイ・メニュー・モジュールのフロー
図、 第11Aから1II図は言語作或メニュー・サブルーチ
ンのフロー図, 第12図はプロダクション書込みモジュールの7ロー図
, 第16図はターミナル書込みサブモジュールのフロー図
2 第14図は音声制御メイン・ドライバ・ループのフロー
図. 第15図はインプット・モジュール・プロセスのフロー
図, 第16図は認識サブモジュールのフロー図,第17図は
音声制御命令ルーチン・処理のフロー図, 第18図は処理Qモジュールのフロー図,第19図はネ
ヴクスト●サプモジネールのフロー図. 第20図は命令ハンドラの図. 第21A図から第21G図は命令ハンドラのフロー図, 第22図はボスト●マウス●ルーテンのフロー図, 第2′5図はセット・マウス●ダウン・ルーテンのフロ
ー図, 第24図及び25図は音声制御のスクリーン表示を例示
する図、 第26図ないし第29図は言語メーカのスクリーン表示
を例示する図、及び 第50図は言語ファイルのリストを示す図である。 100・・・コンピュータ、 102・・・音声ナビゲ
ータ音声制御コンピュータ, 112・・・音声ナビゲ
ータホックス, 120・・・音声認識ソフトウェア,
126・・・テキスト・バッファ、 128・・・音
声il1御ドライバ 130・・・音声制御解読器,
132・・・マツキントッシュオペレーティングシステ
ム, 140・・・言語作或器。 X面の浄書(内容に変更なし〉 2ウ2百フ節 醋萄260 FIG. 4 FIG. 5 「IC G FIG. 7 FIG. 8 FIG. 10 FIG.llA 472 E=■≧242 FIG. 13 FIG. 14 FIG. 15 FIG. 18 FIG. 21C 衆/ 争root DA HANDLE!2; NEW = new ( symboldrawing
); FILE一十+le Ml″V/ open); I−DIτ1t’dit ( cut, Copy paste >; DA HANDLER R( JILI”,−εDIT
); {i1e. new; 5ymoo ; d r& Wi n 9 + open eait: cutH copy二 pa5te FIG. 30 平成 2年特許願第166537号 2.発明の名称 音声制御コンピュータ・インターフェース3,補正をす
る者 事件との関係
Claims (1)
- 【特許請求の範囲】 1、操作されることによってコンピュータの表示装置上
のカーソルの動きを制御し、表示装置上のカーソルの位
置に関連づけられた所望のアクションを指示するタイプ
のポインティングデバイスの機能を音声に代用させる装
置であってポインティングデバイスからの制御信号に応
答してコンピューターのオペレーティングシステムがカ
ーソルを動かし所望のアクションを支援し、更にコンピ
ューターが英数字キーボードを有し、オペレーティング
システムがキーボードによって特定される所定のフォー
マットに従ってキーボードからの制御信号に別途応答す
る装置において、 発声された音声を認識する音声認識手段と、発声された
音声をキーボードによって特定される所定のフォーマッ
トで表わされる制御信号にいったん変換することなくオ
ペレーティングシステムによって支援される所望のアク
ションを直接生成する制御信号に変換する解読手段と、
を含む装置。 2、発声された音声をあらかじめ定められたコマンド言
語で表現され、コンピューターのオペレーティングシス
テムによって使用されるコマンドに変換する方法におい
て、 発声されたある種の音声は前記オペレーティングシステ
ムがとるアクションに対応するコマンドに変換し、 発声された別の種の音声は前記オペレーティングシステ
ムの下で実行されるアプリケーシヨンプログラムにおい
て処理されるテキストの一部として使用される関連テキ
ストストリングを運ぶコマンドに変換する方法。 3、発声された音声からコマンドへの変換を支援するた
めのテーブルを生成する方法であって、前記コマンドは
コンピュータのオペレーティングシステムの制御に使用
されて、オペレーティングシステムの下で実行され、メ
ニューとコントロールボタンを含むアプリケーションプ
ログラムにおいて所望のアクションを達成する方法にお
いて、前記アプリケーシヨンプログラムの命令シーケン
スを構文解析してメニューのエントリーとコントロール
ボタンを識別し、 前記テーブル内に前記アプリケーションプログラムでみ
つけられるメニューのエントリーとコントロールボタン
毎にエントリーを含ませ、それぞれのエントリーに前記
メニューのエントリー又は、コントロールボタンに対応
する制御コマンドを含ませる方法。 4、ユーザーが厳密に定義された構文を有する正式言語
でインスタンスを生成できるようにした方法において、 自然言語で表現され、前記構文に一致しないエントリー
のリストをグラフィック表示し、ユーザーに前記リスト
の中からエントリーを指示させ、 前記指示に応答して前記リストの特定されたエントリー
に対応するインスタンスを自動的に生成する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37077989A | 1989-06-23 | 1989-06-23 | |
US370779 | 1989-06-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03163623A true JPH03163623A (ja) | 1991-07-15 |
Family
ID=23461140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2166537A Pending JPH03163623A (ja) | 1989-06-23 | 1990-06-25 | 音声制御コンピュータ・インターフェース |
Country Status (2)
Country | Link |
---|---|
US (4) | US5377303A (ja) |
JP (1) | JPH03163623A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001515611A (ja) * | 1997-12-30 | 2001-09-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コマンド辞書を使用する音声認識装置 |
JP2015525933A (ja) * | 2012-07-26 | 2015-09-07 | ゼットティーイー コーポレーションZte Corporation | 端末音声補助編集方法及び装置 |
Families Citing this family (221)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03163623A (ja) * | 1989-06-23 | 1991-07-15 | Articulate Syst Inc | 音声制御コンピュータ・インターフェース |
US6092043A (en) * | 1992-11-13 | 2000-07-18 | Dragon Systems, Inc. | Apparatuses and method for training and operating speech recognition systems |
US6101468A (en) * | 1992-11-13 | 2000-08-08 | Dragon Systems, Inc. | Apparatuses and methods for training and operating speech recognition systems |
US5890122A (en) * | 1993-02-08 | 1999-03-30 | Microsoft Corporation | Voice-controlled computer simulateously displaying application menu and list of available commands |
JP3530591B2 (ja) * | 1994-09-14 | 2004-05-24 | キヤノン株式会社 | 音声認識装置及びこれを用いた情報処理装置とそれらの方法 |
DE69619592T2 (de) * | 1995-04-11 | 2002-11-07 | Dragon Systems Inc | Bewegung eines auf dem Bildschirm gezeigten Zeigers |
US5761641A (en) * | 1995-07-31 | 1998-06-02 | Microsoft Corporation | Method and system for creating voice commands for inserting previously entered information |
US5903864A (en) * | 1995-08-30 | 1999-05-11 | Dragon Systems | Speech recognition |
US5903870A (en) * | 1995-09-18 | 1999-05-11 | Vis Tell, Inc. | Voice recognition and display device apparatus and method |
US6601027B1 (en) | 1995-11-13 | 2003-07-29 | Scansoft, Inc. | Position manipulation in speech recognition |
US5799279A (en) * | 1995-11-13 | 1998-08-25 | Dragon Systems, Inc. | Continuous speech recognition of text and commands |
US5794189A (en) * | 1995-11-13 | 1998-08-11 | Dragon Systems, Inc. | Continuous speech recognition |
US6064959A (en) * | 1997-03-28 | 2000-05-16 | Dragon Systems, Inc. | Error correction in speech recognition |
US5920841A (en) * | 1996-07-01 | 1999-07-06 | International Business Machines Corporation | Speech supported navigation of a pointer in a graphical user interface |
US5873064A (en) * | 1996-11-08 | 1999-02-16 | International Business Machines Corporation | Multi-action voice macro method |
US5930757A (en) * | 1996-11-21 | 1999-07-27 | Freeman; Michael J. | Interactive two-way conversational apparatus with voice recognition |
US6108515A (en) * | 1996-11-21 | 2000-08-22 | Freeman; Michael J. | Interactive responsive apparatus with visual indicia, command codes, and comprehensive memory functions |
KR100288976B1 (ko) * | 1997-01-08 | 2001-05-02 | 윤종용 | 텔레비전수상기의화면명령구성및인식방법 |
US5924068A (en) * | 1997-02-04 | 1999-07-13 | Matsushita Electric Industrial Co. Ltd. | Electronic news reception apparatus that selectively retains sections and searches by keyword or index for text to speech conversion |
US5909667A (en) * | 1997-03-05 | 1999-06-01 | International Business Machines Corporation | Method and apparatus for fast voice selection of error words in dictated text |
US5897618A (en) * | 1997-03-10 | 1999-04-27 | International Business Machines Corporation | Data processing system and method for switching between programs having a same title using a voice command |
US5893063A (en) * | 1997-03-10 | 1999-04-06 | International Business Machines Corporation | Data processing system and method for dynamically accessing an application using a voice command |
US5884265A (en) * | 1997-03-27 | 1999-03-16 | International Business Machines Corporation | Method and system for selective display of voice activated commands dialog box |
US6212498B1 (en) | 1997-03-28 | 2001-04-03 | Dragon Systems, Inc. | Enrollment in speech recognition |
US5966691A (en) * | 1997-04-29 | 1999-10-12 | Matsushita Electric Industrial Co., Ltd. | Message assembler using pseudo randomly chosen words in finite state slots |
US6038534A (en) * | 1997-09-11 | 2000-03-14 | Cowboy Software, Inc. | Mimicking voice commands as keyboard signals |
US6438523B1 (en) | 1998-05-20 | 2002-08-20 | John A. Oberteuffer | Processing handwritten and hand-drawn input and speech input |
US6195635B1 (en) | 1998-08-13 | 2001-02-27 | Dragon Systems, Inc. | User-cued speech recognition |
US6243076B1 (en) | 1998-09-01 | 2001-06-05 | Synthetic Environments, Inc. | System and method for controlling host system interface with point-of-interest data |
US6514201B1 (en) | 1999-01-29 | 2003-02-04 | Acuson Corporation | Voice-enhanced diagnostic medical ultrasound system and review station |
US6487530B1 (en) * | 1999-03-30 | 2002-11-26 | Nortel Networks Limited | Method for recognizing non-standard and standard speech by speaker independent and speaker dependent word models |
US6330540B1 (en) | 1999-05-27 | 2001-12-11 | Louis Dischler | Hand-held computer device having mirror with negative curvature and voice recognition |
WO2001013215A1 (de) * | 1999-08-13 | 2001-02-22 | Genologic Gmbh | Vorrichtung zur umwandlung von sprachkommandos und/oder sprachtexte in tastatur- und/oder mausbewegungen und/oder texte |
US20010043234A1 (en) * | 2000-01-03 | 2001-11-22 | Mallik Kotamarti | Incorporating non-native user interface mechanisms into a user interface |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US7109970B1 (en) * | 2000-07-01 | 2006-09-19 | Miller Stephen S | Apparatus for remotely controlling computers and other electronic appliances/devices using a combination of voice commands and finger movements |
US7035805B1 (en) * | 2000-07-14 | 2006-04-25 | Miller Stephen S | Switching the modes of operation for voice-recognition applications |
US6836759B1 (en) * | 2000-08-22 | 2004-12-28 | Microsoft Corporation | Method and system of handling the selection of alternates for recognized words |
US7120646B2 (en) * | 2001-04-09 | 2006-10-10 | Health Language, Inc. | Method and system for interfacing with a multi-level data structure |
US7127271B1 (en) | 2001-10-18 | 2006-10-24 | Iwao Fujisaki | Communication device |
US7466992B1 (en) | 2001-10-18 | 2008-12-16 | Iwao Fujisaki | Communication device |
US7107081B1 (en) | 2001-10-18 | 2006-09-12 | Iwao Fujisaki | Communication device |
US6889191B2 (en) * | 2001-12-03 | 2005-05-03 | Scientific-Atlanta, Inc. | Systems and methods for TV navigation with compressed voice-activated commands |
US7996232B2 (en) * | 2001-12-03 | 2011-08-09 | Rodriguez Arturo A | Recognition of voice-activated commands |
US20050154588A1 (en) * | 2001-12-12 | 2005-07-14 | Janas John J.Iii | Speech recognition and control in a process support system |
US20040054538A1 (en) * | 2002-01-03 | 2004-03-18 | Peter Kotsinadelis | My voice voice agent for use with voice portals and related products |
KR20020023294A (ko) * | 2002-01-12 | 2002-03-28 | (주)코리아리더스 테크놀러지 | 음성인식을 사용하는 사용자 인터페이스 문맥기반 명령제어 방법 |
JP2003241790A (ja) * | 2002-02-13 | 2003-08-29 | Internatl Business Mach Corp <Ibm> | 音声コマンド処理システム、コンピュータ装置、音声コマンド処理方法およびプログラム |
US7548847B2 (en) * | 2002-05-10 | 2009-06-16 | Microsoft Corporation | System for automatically annotating training data for a natural language understanding system |
US20040107179A1 (en) * | 2002-08-22 | 2004-06-03 | Mdt, Inc. | Method and system for controlling software execution in an event-driven operating system environment |
WO2004023243A2 (en) * | 2002-09-03 | 2004-03-18 | X1 Technologies, Llc | Apparatus and methods for locating data |
US8856093B2 (en) | 2002-09-03 | 2014-10-07 | William Gross | Methods and systems for search indexing |
US8229512B1 (en) | 2003-02-08 | 2012-07-24 | Iwao Fujisaki | Communication device |
US8241128B1 (en) | 2003-04-03 | 2012-08-14 | Iwao Fujisaki | Communication device |
US20050027539A1 (en) * | 2003-07-30 | 2005-02-03 | Weber Dean C. | Media center controller system and method |
US8090402B1 (en) | 2003-09-26 | 2012-01-03 | Iwao Fujisaki | Communication device |
US7389235B2 (en) * | 2003-09-30 | 2008-06-17 | Motorola, Inc. | Method and system for unified speech and graphic user interfaces |
US20050083300A1 (en) * | 2003-10-20 | 2005-04-21 | Castle Daniel C. | Pointer control system |
US7917167B1 (en) | 2003-11-22 | 2011-03-29 | Iwao Fujisaki | Communication device |
US7945914B2 (en) * | 2003-12-10 | 2011-05-17 | X1 Technologies, Inc. | Methods and systems for performing operations in response to detecting a computer idle condition |
EP1738246A4 (en) * | 2004-03-09 | 2011-02-09 | Freedom Scientific Inc | IMPROVED VISION IMPROVEMENT FOR GRAPHICAL USER INTERFACE |
US8041348B1 (en) | 2004-03-23 | 2011-10-18 | Iwao Fujisaki | Communication device |
US20060044261A1 (en) * | 2004-09-02 | 2006-03-02 | Kao-Cheng Hsieh | Pointing input device imitating inputting of hotkeys of a keyboard |
US20060123220A1 (en) * | 2004-12-02 | 2006-06-08 | International Business Machines Corporation | Speech recognition in BIOS |
US8788271B2 (en) * | 2004-12-22 | 2014-07-22 | Sap Aktiengesellschaft | Controlling user interfaces with contextual voice commands |
US8208954B1 (en) | 2005-04-08 | 2012-06-26 | Iwao Fujisaki | Communication device |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US8635073B2 (en) * | 2005-09-14 | 2014-01-21 | At&T Intellectual Property I, L.P. | Wireless multimodal voice browser for wireline-based IPTV services |
US8229733B2 (en) * | 2006-02-09 | 2012-07-24 | John Harney | Method and apparatus for linguistic independent parsing in a natural language systems |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20080072234A1 (en) * | 2006-09-20 | 2008-03-20 | Gerald Myroup | Method and apparatus for executing commands from a drawing/graphics editor using task interaction pattern recognition |
US8949266B2 (en) * | 2007-03-07 | 2015-02-03 | Vlingo Corporation | Multiple web-based content category searching in mobile search application |
US8886540B2 (en) * | 2007-03-07 | 2014-11-11 | Vlingo Corporation | Using speech recognition results based on an unstructured language model in a mobile communication facility application |
US8635243B2 (en) * | 2007-03-07 | 2014-01-21 | Research In Motion Limited | Sending a communications header with voice recording to send metadata for use in speech recognition, formatting, and search mobile search application |
US10056077B2 (en) | 2007-03-07 | 2018-08-21 | Nuance Communications, Inc. | Using speech recognition results based on an unstructured language model with a music system |
US8996379B2 (en) | 2007-03-07 | 2015-03-31 | Vlingo Corporation | Speech recognition text entry for software applications |
US8949130B2 (en) * | 2007-03-07 | 2015-02-03 | Vlingo Corporation | Internal and external speech recognition use with a mobile communication facility |
US20110054899A1 (en) * | 2007-03-07 | 2011-03-03 | Phillips Michael S | Command and control utilizing content information in a mobile voice-to-speech application |
US8886545B2 (en) | 2007-03-07 | 2014-11-11 | Vlingo Corporation | Dealing with switch latency in speech recognition |
US8838457B2 (en) * | 2007-03-07 | 2014-09-16 | Vlingo Corporation | Using results of unstructured language model based speech recognition to control a system-level function of a mobile communications facility |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
TWI345218B (en) * | 2007-04-20 | 2011-07-11 | Asustek Comp Inc | Portable computer with function for identiying speech and processing method thereof |
US7890089B1 (en) | 2007-05-03 | 2011-02-15 | Iwao Fujisaki | Communication device |
US8676273B1 (en) | 2007-08-24 | 2014-03-18 | Iwao Fujisaki | Communication device |
US8595642B1 (en) | 2007-10-04 | 2013-11-26 | Great Northern Research, LLC | Multiple shell multi faceted graphical user interface |
US8165886B1 (en) | 2007-10-04 | 2012-04-24 | Great Northern Research LLC | Speech interface system and method for control and interaction with applications on a computing system |
US8639214B1 (en) | 2007-10-26 | 2014-01-28 | Iwao Fujisaki | Communication device |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US8543157B1 (en) | 2008-05-09 | 2013-09-24 | Iwao Fujisaki | Communication device which notifies its pin-point location or geographic area in accordance with user selection |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8849672B2 (en) * | 2008-05-22 | 2014-09-30 | Core Wireless Licensing S.A.R.L. | System and method for excerpt creation by designating a text segment using speech |
US8340726B1 (en) | 2008-06-30 | 2012-12-25 | Iwao Fujisaki | Communication device |
US8452307B1 (en) | 2008-07-02 | 2013-05-28 | Iwao Fujisaki | Communication device |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10540976B2 (en) * | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
JP5463922B2 (ja) * | 2010-01-12 | 2014-04-09 | 株式会社デンソー | 車載機 |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8626511B2 (en) * | 2010-01-22 | 2014-01-07 | Google Inc. | Multi-dimensional disambiguation of voice commands |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9043206B2 (en) | 2010-04-26 | 2015-05-26 | Cyberpulse, L.L.C. | System and methods for matching an utterance to a template hierarchy |
US8165878B2 (en) | 2010-04-26 | 2012-04-24 | Cyberpulse L.L.C. | System and methods for matching an utterance to a template hierarchy |
US8738377B2 (en) | 2010-06-07 | 2014-05-27 | Google Inc. | Predicting and learning carrier phrases for speech input |
US8660934B2 (en) * | 2010-06-30 | 2014-02-25 | Trading Technologies International, Inc. | Order entry actions |
CN102541574A (zh) * | 2010-12-13 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 应用程序开启系统及方法 |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
KR101295711B1 (ko) * | 2011-02-15 | 2013-08-16 | 주식회사 팬택 | 음성 인식으로 애플리케이션의 실행 가능한 이동통신 단말 장치 및 방법 |
US9081550B2 (en) * | 2011-02-18 | 2015-07-14 | Nuance Communications, Inc. | Adding speech capabilities to existing computer applications with complex graphical user interfaces |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8831955B2 (en) * | 2011-08-31 | 2014-09-09 | International Business Machines Corporation | Facilitating tangible interactions in voice applications |
US8954334B2 (en) * | 2011-10-15 | 2015-02-10 | Zanavox | Voice-activated pulser |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9317605B1 (en) | 2012-03-21 | 2016-04-19 | Google Inc. | Presenting forked auto-completions |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
TW201409351A (zh) * | 2012-08-16 | 2014-03-01 | Hon Hai Prec Ind Co Ltd | 利用語音控制的電子裝置及其語音控制方法 |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US8862476B2 (en) * | 2012-11-16 | 2014-10-14 | Zanavox | Voice-activated signal generator |
EP4138075A1 (en) | 2013-02-07 | 2023-02-22 | Apple Inc. | Voice trigger for a digital assistant |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
KR101759009B1 (ko) | 2013-03-15 | 2017-07-17 | 애플 인크. | 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것 |
US9659058B2 (en) | 2013-03-22 | 2017-05-23 | X1 Discovery, Inc. | Methods and systems for federation of results from search indexing |
US9880983B2 (en) | 2013-06-04 | 2018-01-30 | X1 Discovery, Inc. | Methods and systems for uniquely identifying digital content for eDiscovery |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
WO2014200728A1 (en) | 2013-06-09 | 2014-12-18 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN105265005B (zh) | 2013-06-13 | 2019-09-17 | 苹果公司 | 用于由语音命令发起的紧急呼叫的系统和方法 |
US9646606B2 (en) | 2013-07-03 | 2017-05-09 | Google Inc. | Speech recognition using domain knowledge |
JP6163266B2 (ja) | 2013-08-06 | 2017-07-12 | アップル インコーポレイテッド | リモート機器からの作動に基づくスマート応答の自動作動 |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
CN105138110A (zh) * | 2014-05-29 | 2015-12-09 | 中兴通讯股份有限公司 | 语音交互方法及装置 |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US10346550B1 (en) | 2014-08-28 | 2019-07-09 | X1 Discovery, Inc. | Methods and systems for searching and indexing virtual environments |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US20160225369A1 (en) * | 2015-01-30 | 2016-08-04 | Google Technology Holdings LLC | Dynamic inference of voice command for software operation from user manipulation of electronic device |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US20160328205A1 (en) * | 2015-05-05 | 2016-11-10 | Motorola Mobility Llc | Method and Apparatus for Voice Operation of Mobile Applications Having Unnamed View Elements |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US10580405B1 (en) * | 2016-12-27 | 2020-03-03 | Amazon Technologies, Inc. | Voice control of remote device |
US11509794B2 (en) | 2017-04-25 | 2022-11-22 | Hewlett-Packard Development Company, L.P. | Machine-learning command interaction |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
CN115509627A (zh) * | 2022-11-22 | 2022-12-23 | 威海海洋职业学院 | 一种基于人工智能的电子设备唤醒方法和系统 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4144582A (en) * | 1970-12-28 | 1979-03-13 | Hyatt Gilbert P | Voice signal processing system |
US3928724A (en) * | 1974-10-10 | 1975-12-23 | Andersen Byram Kouma Murphy Lo | Voice-actuated telephone directory-assistance system |
US4462080A (en) * | 1981-11-27 | 1984-07-24 | Kearney & Trecker Corporation | Voice actuated machine control |
JPS58195957A (ja) * | 1982-05-11 | 1983-11-15 | Casio Comput Co Ltd | 音声によるプログラム実行方式 |
US4627001A (en) * | 1982-11-03 | 1986-12-02 | Wang Laboratories, Inc. | Editing voice data |
US4688195A (en) * | 1983-01-28 | 1987-08-18 | Texas Instruments Incorporated | Natural-language interface generating system |
US4726065A (en) * | 1984-01-26 | 1988-02-16 | Horst Froessl | Image manipulation by speech signals |
US4704696A (en) * | 1984-01-26 | 1987-11-03 | Texas Instruments Incorporated | Method and apparatus for voice control of a computer |
JPS60158498A (ja) * | 1984-01-27 | 1985-08-19 | 株式会社リコー | パターン照合装置 |
US4811243A (en) * | 1984-04-06 | 1989-03-07 | Racine Marsh V | Computer aided coordinate digitizing system |
US4874177A (en) * | 1984-05-30 | 1989-10-17 | Girardin Ronald E | Horse racing game |
US4799144A (en) * | 1984-10-12 | 1989-01-17 | Alcatel Usa, Corp. | Multi-function communication board for expanding the versatility of a computer |
US4914704A (en) * | 1984-10-30 | 1990-04-03 | International Business Machines Corporation | Text editor for speech input |
US4785408A (en) * | 1985-03-11 | 1988-11-15 | AT&T Information Systems Inc. American Telephone and Telegraph Company | Method and apparatus for generating computer-controlled interactive voice services |
JPH0638055B2 (ja) * | 1985-09-17 | 1994-05-18 | 東京電気株式会社 | マルチレンジロ−ドセル秤の計量方法 |
US4783803A (en) * | 1985-11-12 | 1988-11-08 | Dragon Systems, Inc. | Speech recognition apparatus and method |
US4776016A (en) * | 1985-11-21 | 1988-10-04 | Position Orientation Systems, Inc. | Voice control system |
US4829576A (en) * | 1986-10-21 | 1989-05-09 | Dragon Systems, Inc. | Voice recognition system |
US4827520A (en) * | 1987-01-16 | 1989-05-02 | Prince Corporation | Voice actuated control system for use in a vehicle |
GB8702910D0 (en) * | 1987-02-10 | 1987-03-18 | British Telecomm | Multi-user speech recognition system |
JP2815579B2 (ja) * | 1987-03-10 | 1998-10-27 | 富士通株式会社 | 音声認識における単語候補削減装置 |
JP2558682B2 (ja) * | 1987-03-13 | 1996-11-27 | 株式会社東芝 | 知的ワ−クステ−シヨン |
US5231670A (en) * | 1987-06-01 | 1993-07-27 | Kurzweil Applied Intelligence, Inc. | Voice controlled system and method for generating text from a voice controlled input |
US5022081A (en) * | 1987-10-01 | 1991-06-04 | Sharp Kabushiki Kaisha | Information recognition system |
US4821211A (en) * | 1987-11-19 | 1989-04-11 | International Business Machines Corp. | Method of navigating among program menus using a graphical menu tree |
US4984177A (en) * | 1988-02-05 | 1991-01-08 | Advanced Products And Technologies, Inc. | Voice language translator |
US5054082A (en) * | 1988-06-30 | 1991-10-01 | Motorola, Inc. | Method and apparatus for programming devices to recognize voice commands |
US4931950A (en) * | 1988-07-25 | 1990-06-05 | Electric Power Research Institute | Multimedia interface and method for computer system |
US5208745A (en) * | 1988-07-25 | 1993-05-04 | Electric Power Research Institute | Multimedia interface and method for computer system |
US4949382A (en) * | 1988-10-05 | 1990-08-14 | Griggs Talkwriter Corporation | Speech-controlled phonetic typewriter or display device having circuitry for analyzing fast and slow speech |
US5027406A (en) * | 1988-12-06 | 1991-06-25 | Dragon Systems, Inc. | Method for interactive speech recognition and training |
JP2841404B2 (ja) * | 1989-01-12 | 1998-12-24 | 日本電気株式会社 | 連続音声認識装置 |
US5157384A (en) * | 1989-04-28 | 1992-10-20 | International Business Machines Corporation | Advanced user interface |
JPH03163623A (ja) * | 1989-06-23 | 1991-07-15 | Articulate Syst Inc | 音声制御コンピュータ・インターフェース |
US5036538A (en) * | 1989-11-22 | 1991-07-30 | Telephonics Corporation | Multi-station voice recognition and processing system |
US5133011A (en) * | 1990-12-26 | 1992-07-21 | International Business Machines Corporation | Method and apparatus for linear vocal control of cursor position |
US5386494A (en) * | 1991-12-06 | 1995-01-31 | Apple Computer, Inc. | Method and apparatus for controlling a speech recognition function using a cursor control device |
US6684188B1 (en) * | 1996-02-02 | 2004-01-27 | Geoffrey C Mitchell | Method for production of medical records and other technical documents |
US5864819A (en) * | 1996-11-08 | 1999-01-26 | International Business Machines Corporation | Internal window object tree method for representing graphical user interface applications for speech navigation |
US6038534A (en) * | 1997-09-11 | 2000-03-14 | Cowboy Software, Inc. | Mimicking voice commands as keyboard signals |
-
1990
- 1990-06-25 JP JP2166537A patent/JPH03163623A/ja active Pending
-
1993
- 1993-12-09 US US08/165,014 patent/US5377303A/en not_active Expired - Lifetime
-
2001
- 2001-02-14 US US09/783,725 patent/US20020010582A1/en not_active Abandoned
- 2001-05-09 US US09/852,049 patent/US20020128843A1/en not_active Abandoned
-
2002
- 2002-03-20 US US10/102,047 patent/US20020178009A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001515611A (ja) * | 1997-12-30 | 2001-09-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コマンド辞書を使用する音声認識装置 |
JP2015525933A (ja) * | 2012-07-26 | 2015-09-07 | ゼットティーイー コーポレーションZte Corporation | 端末音声補助編集方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
US20020128843A1 (en) | 2002-09-12 |
US20020010582A1 (en) | 2002-01-24 |
US20020178009A1 (en) | 2002-11-28 |
US5377303A (en) | 1994-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03163623A (ja) | 音声制御コンピュータ・インターフェース | |
US6125347A (en) | System for controlling multiple user application programs by spoken input | |
US5920836A (en) | Word recognition system using language context at current cursor position to affect recognition probabilities | |
US5231670A (en) | Voice controlled system and method for generating text from a voice controlled input | |
US6092043A (en) | Apparatuses and method for training and operating speech recognition systems | |
US6088671A (en) | Continuous speech recognition of text and commands | |
US5748191A (en) | Method and system for creating voice commands using an automatically maintained log interactions performed by a user | |
JP4444396B2 (ja) | 音声認識におけるポジション操作 | |
JP4570176B2 (ja) | ユーザにオーディオ・フィードバックを与える拡張可能音声認識システム | |
EP1485773B1 (en) | Voice-controlled user interfaces | |
US6334102B1 (en) | Method of adding vocabulary to a speech recognition system | |
US5946647A (en) | System and method for performing an action on a structure in computer-generated data | |
EP0773532B1 (en) | Continuous speech recognition | |
US8831956B2 (en) | Speech command input recognition system for interactive computer display with interpretation of ancillary relevant speech query terms into commands | |
CA1259410A (en) | Apparatus for making and editing dictionary entries in a text-to-speech conversion system | |
US6308157B1 (en) | Method and apparatus for providing an event-based “What-Can-I-Say?” window | |
US20020178344A1 (en) | Apparatus for managing a multi-modal user interface | |
US7206747B1 (en) | Speech command input recognition system for interactive computer display with means for concurrent and modeless distinguishing between speech commands and speech queries for locating commands | |
US6499015B2 (en) | Voice interaction method for a computer graphical user interface | |
JP3476007B2 (ja) | 認識単語登録方法、音声認識方法、音声認識装置、認識単語登録のためのソフトウエア・プロダクトを格納した記憶媒体、音声認識のためのソフトウエア・プロダクトを格納した記憶媒体 | |
JP2003241880A (ja) | 制御装置 | |
US6253177B1 (en) | Method and system for automatically determining whether to update a language model based upon user amendments to dictated text | |
JPH0643894A (ja) | ウインドウ画面制御装置 | |
JP2001504610A (ja) | 動作履歴スタックの内容を間接的にグループにまとめる装置及び方法 | |
WO1999005671A1 (en) | Universal voice operated command and control engine |