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
Application number
JP2166537A
Other languages
English (en)
Inventor
Thomas R Firman
トーマス・アール・ファーマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARTICULATE SYST Inc
Original Assignee
ARTICULATE SYST Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23461140&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH03163623(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ARTICULATE SYST Inc filed Critical ARTICULATE SYST Inc
Publication of JPH03163623A publication Critical patent/JPH03163623A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の技術分野 この発明は音声制御コンピュータインターフェースに関
する。
発明の背景 置は例えばテキストタイプのユーザーインターフェース
(例えばIBMパーソナルコンピュータのディスクオペ
レーティングシステム(DOS)のテキストタイプイン
ターフェース)の制御に使用されてきた。
更に音声制I1はグラフィックのユーザーインターフェ
ース(例えばアイコン,ポップアップウイントウ,マウ
スを含ムアップルマッキントツシュコンピューターで使
用されるグラフィックインター7エース)にも応用され
た。これらの音声制御装置では音声コマンドを使ってキ
ーボードのキーストロークを生成する。
発明の概要 この発明の一つの側面によれは、操作されることによっ
てコンピュータの表示装置上のカーソルの動きを制御し
、表示装置上のカーソルのは置に関連づけられた所望の
アクションを指示するタイプのポインティングデバイス
の機能を音声に代用させる装置であってポインティング
デバイスからの制御信号に応答してコンピューターのオ
ペレーティングシステムがカーソル馨動かし.所望σ)
アクションを支援し、更にコンピューターが英数字千一
ボードを有し.オペレーティングシステムがキーボード
によって特定される所定のフォーマットに従ってキーボ
ードからの制御信号に別途応答する装置において,発声
された音声を認識する音声認識手段と.発声された音声
をキーボードによって特定される所定のフォーマットで
表わされる制御信号に一旦変換することなくオペレーテ
ィングシステムによって支援される所望のアクションχ
直接生成する制御信号に変換する解読手段とを含む装置
が提供される。
更にこの発明のもう一つの側面によれば,発声された音
声χあらかじめ定められたコマンド言語で表現サれ.コ
ンピューターのオペレーティングシステムによって使用
されるコマンドに変換する方法において.発声されたあ
る種の音声は前記オペレーティングシステムがとるアク
ションに対応丁るコマンドに変換し.発声された別の種
の音声はfm記オペレーティングシステムの下で実行さ
れるアプリケーションプログラムにおいて処理されるテ
キストの一部として使用される関連テキストストリング
を運ぶコマンドに変換する方法が提供される。
更にこの発明のもう一つの側面によれば発声された音声
からコマンドへの変換を支援するだめのテーブルを生成
丁る方法であって前記コマンドはコンピューターのオペ
レーティングシステムの制御に使用されて,オペレーテ
ィングシステムの下で実行され,メニューとコントロー
ルボタンを含むアプリケーションプログラムにおいて所
望のアクションを達戊する方法において,前記アプリケ
−ションプログラムの命令シーケンスを構文解釈してメ
エユーのエントリーとコントロールボタンwk別し,前
記テーブル内に前記アプリケーションプログラムでみつ
けられるメニューのエントリーとコントロールボタン毎
にエントリーを含ませ,それぞれのエントリーに前記メ
−Sユーのエントリー又はコントロールボタンに対応す
る制御コマンドを含ませる方法が提供される。
この発明のもう一つの特徴によればユーザーが厳密に定
義された栴文を有する正式言語でインスタンスを生戒で
きるようにした方法において、自然言語で表現され,前
記構文に一致しないエントリーのリスト聖グラフィック
表示し、ユーザーに前記リストの中からエントリーを指
示させ.前記指示に応答して前記リストの特定されたエ
ントリーに対応するインスタンス紮自動的に生成する方
法が提供される。
この発明によればユーザーは゛コンピューターのグラフ
ィックインターフェースを容易に制御するコトができる
。オペレーティングシステムがコマンドによってとるこ
とのできるどのようなアクションでも音声によってコマ
ンドすることができる。
コマンドにはマウスやその他の入力によって通常入力さ
れるコマンドの他、キーボードによって通常入力される
コマンドを含み得る。ユーザーは音声をオペレーティン
グシステムがとるアクションに対するコマンドに対応す
る音声とアプリケーションプログラムで使用されるテキ
ストストリングに対応する音声との間で自由に切り替え
ができ,その切り替えがなされたことを特に示す必要は
ない。どのアプリケーションでもアプリケーションを制
御するメニューと制御ボタンについてアプリケーション
の命令シーケンスを自動的に構文解析することにより,
音声インターフェースに応答するものにできる。その他
の特徴.利点は実施例の詳細な説明と特許請求の範囲か
ら明らかである。
実施例 第1図においてアップルマッキントッシュコンピュータ
ー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のプロトコルに合わせる
プロトコルインターフェースハードウェアを含む。
音声認識ソフトウエア120(マサチューセッツ州ニュ
ートンドラゴンシステムから入手可能)は,マツキント
ッシュオペレーティングシステムの下で動作し、音声制
御ドライバー128(これもマツキントヅシュオペレー
ティングシステムの下で動作する。)からの内部コマン
ド123によって制御される。音声認識ソフトウェア1
20を実現するためのアルゴリズム例がベーカーらの米
国特許第4,783.803号に示されており,本特許
を本書の参考文献と丁る。音声認識ソフトウェア120
は入力される圧縮デジタルオーディオ信号’Y処理し.
ユーザーから発生されたそれぞれの音声をあらかじめ記
憶した音声マクロと比較する。
発生した音声があらかじめ記憶した音声マクロと一致す
ることにより音声が認識され、認識された音声に対応す
るコマンドストリング(コマンド列)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と協同して適当
なアクションを生成する。
それぞれのアプリケーションあるいはデスクトップアク
セサリーはワードリスト124及び対応する音声ファイ
ル122に関連づけられろ。これらはアプリケーション
あるいはデスクトップアクセサリーケオープンした時に
音声認識ソフトウエアによりとりこまれろ。
音声ファイルは学習モードにある音声認識ソフトウェア
120が音声制御ドライバー128からの内部コマンド
の制御のもとで生成する。
ワードリストは言語作或( Language Mak
er )デスクトップアクセサリー14口が生戒丁る。
言語作或器14口は音声名とそれに関連する音声制鉤コ
マンドストリングの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かその後のバージ
ョンのものとともに使用される。
音声制御解読器130とオペレーティングシステムとの
やり取りを理解丁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マクロ”を生成丁る。
このマクロは音声ファイル120に記憶され,その後ワ
ードリスト124内の音声名に関連づけられる。通常発
声は2回以上繰り返され,特定の話者の音声の変動を考
慮したマクロが作られる。
発声される音声の意味は音声名に対応する必要はなく,
又音声名のテキストはワードリストに記憶される音声制
御コマンドストリングに対応丁る必要はない。例えばオ
ペレーティングシステムにファイルを保存させるコマン
ドストリングに対する音声名として”ファイル保存”を
使用したとする。この場合これに関連づけられるコマン
ドストリングは” @MENU(f″ile,2)”で
あリエ、コノ音声名に対してユーザーが示す音声は゜残
せ(i mmor tal i Ze ) ”でありえ
る。音声認識ソフトウェアと音声制御によりこのような
音声,名前コマンド及びコマンドストリングは音声ファ
イルとワドリスト124内において適当に関連づけられ
る。
第2A図において音声ナビゲータの使用するワードリス
ト124はオペレーティングシステムの下で動作する言
語作戒デスクアクセサリー140にまり生威される。各
ワードリスト124は階層構造をとる。すなわちリスト
内のある種の音声名は他の音声名のサブリストにリンク
する。階層構造の現在の使用レベルにある音声名のリス
トのみが認識可能である。(本実施例では階層構造の各
レベルの音声名の数は千程度までもてる。)音声制御の
動作において゜ファイル“のような音声によりスクリー
ン上にファイルのメニューが呼び出されそれより低い階
層構造レベルの音声名の後続リストにリンクする。例え
ばファイルのメニューはそれぞれの音声に関連づけられ
る“保存”゜オープン”や1として保存(save a
s) ”のような後続コマンドをリストアップ丁ること
かできる。
言語作成によりユーザーは音声名と関連するコマンドス
トリングの階層的言語聖生成でき言語の階層性を再構或
でき,更に新しい音声語を追加することができる。言語
がユーザーの希望する形になると言語はワードリスト1
24に変換される。
音声名とコマンドストリングの階層構造は調整できるの
で音声ナピグーター装置の使用者はアプリケーションに
プリセットされたメニューの階層構造には制約されない
。例えばユーザーは“保存゜ノコマンドを音声階N構造
。)トップレベル[移7ことによりファイルのメニュー
wWひ出さなく1も直接ファイルヶ保存丁ることかでき
る。更に:ーザーは例えば新しい音声名1サヨナラ″馨
作=てファイルを保存してただちに手続き馨終らせここ
ともできろ。
言語作或140の生11i12する各言語には音声及乙
音声名に関連づけられるアクション(例えば所5の泣置
でのマウスのクリック、スクリーン上で(テキストのタ
イプ)聖表わすコマンドストリン多も含む。音声ナビゲ
ーター装置の学習をわかりぺ丁く丁るためユーザーは音
声と音声語にユーザーが国連つけたいと思うアクション
を記述するコマンドストリング會特定丁る必要はない。
事実ユーザーは言語作或の言語で記憶されるコマンドス
トリングやその結果としてのワードリスト124を知る
必要がなく、それを見ることもない。
5記録“モードにおいて一連のアクション’a=f声名
に関連づけるためにユーザーは単に所望のアクション(
例えばキーボードでテキストをタイプイ/するかマウス
χ所定のメニューにクリヴクすること。)を行なうだけ
でよい。実行されたアクションは適当なコマンドストリ
ングに変換されユーザーが記録モード馨オフに戻した時
点でコマンドストリングは選択した音声名に関連づけら
れる。
百語作或馨使用中ユーザーは音声名馨入力するf.Jt
)/lC#−−ホード142から音戸名ケタィプインし
てデフォルトテキスト作或手続き146(クリップボー
ド上のテキストファイルナ栴文解析するための手続きで
あり,そこではテキストファイル内のそれぞれのワード
に対して一つの音声名が作威され、すべての音声名は同
じ階層レベルからスタートする。)を使用するかあるい
はデフォルトメニュー作或手続き(アプリケーションの
実行可能なコード144ケ解析してアプリケーションの
メニュー内のコマンド名に等しい音声名のセットを生#
:する手続きであり、そこでは名前の初期階層構造はア
プリケーションのメニューの階層構造と等しくなる)を
使用することにより言語4作或することができる。
音声名1:r:キーボードからタイブイン丁るかテキス
トファイル馨構文解析−fることによって生成すると音
声名は当初キーストロークに関連づけられ,キーボード
からタイプインした時に名前ケ生成する。したがって名
前“text”はまずキーストロークT−E−X−TV
C関連づけられる。名前tアプリケーションに対して実
行可能なコード144を購文解析丁ることによって生成
した場合は名前は初めにアプリケーションの対応jるメ
ニューコマンドケ実行するコマンドストリングに四連づ
げられる。このような初期コマンドストリングは変更し
たいと思う音声名馨選択し言語作g2記録モードにおく
だけで容易に変更することができる。
言語作或の出力は言語ファイル148である。
このファイルには音声名とそれに対応するコマンドスト
リングが含まれる。言語ファイル148は7オーマット
化されて音声コンパイラー15口(ドラゴンシステムか
ら入力可能)に入刀され,音声コンパイラー150によ
り言語ファイルは音声認識ソフトウエアが使用するワー
ドリスト124に変換される(言語ファイルの構文は本
書の参考文献として音声ナビゲーター開発者レファラン
スマニュアルに示されている)。
第2B図に示すように学習した音戸σ)それぞれのマク
ロ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る
更に音声ナビゲータ装置は発声検出ルーテン164とコ
マンド実行ルーチン166ft含む音声認識ソフトウエ
アドライバー120を含む。発声の検出164のために
音声ドライバーは音声ナビゲータ一のハードウェアを周
期的にポーリングし(168)音声が音声ナビゲーター
ボックス152に入力されたかどうかをマイクロフォン
からの信号の振幅にもとすいて判定する。発声が検出さ
れると(170)音声ドライノくーは符号化したデジタ
ルサンプル(トークン)の音声バツファーを生成し,コ
マンド実行ドライバー166に使用させる。
音声制御ドライバー128からのコ1ンドに応答してC
166)音声認識ドライノくーは検出音声(トークン)
/ターミナル変換174により新しい音声χ学ぶことが
できる。トークンは音声のマクロに変換されターぐナル
として音声ファイル122(第1図)内に記憶される。
音声認識パターンマッチング172も音声ドライバーか
らのコマンドによって動作する。認識中記憶した入力デ
ジタルサンプルのトーク/は認識階層構造の現在レベル
にある音声のマクロと比較される。一致が見つかるとタ
ーミナル/出力変換176が実行され,ワードリスト1
24(第1図)から認識した音声に一連づげられたコマ
ンドストリングが選択される。更に状態管理178(例
えば感度制御の変更)も音声ドライバーからのコマンド
によって動作する。
音声制御ドライバー128は制御コマンドを介して音声
ドライバー120に対するインターフェース182、イ
ベント記入とオペレーティングシステムのフックを介し
てマツキントツシュオペレーティングシステム132(
第1図)に対するインターフェース184.及び表示メ
ニューとプロンプトを介してユーザーに対するインター
フェース186を構戚する。
ドライバーに対するインターフェース182により音声
制御は音声ドライバーコマンド機能166にアクセスす
ることができる。またこのインターフェースにより音声
制御は音声認識装置の状態の監視(188)、例えばマ
ッキン} y ″a K渡丁音声キ1−の′4ツフ−r
  170の音声}−ク7fztチェックすることがで
きる。発声がありプロセッサーの時間を使用できる時音
声制御はsdi−認識190のコマンドを発行して音声
ドライバーの認識パターンマッテングルーテン172を
呼び出す。
更にドライバーに対するインターフェースはsdi−出
刀192のコマンドを発行して音声ドライバーにあるタ
ーミナル/出力変換ルーチン176馨制御し,これによ
り認識された音声を音声制御が使用するコマンドストリ
ングに変換する。コマンドストリングはオペレーティン
グシステムに知らせるべきマウスやキーストロークのイ
ベントを示すかあるいは音声制御自身に対丁るコマンド
(例えば音声制御のイネープル又はディスエーブル)を
表わ丁。
ユーザー〇万から見れば音声制御は感度等の内部パラメ
ーターと新しい音声学習コマンド等の内部コマンドを持
つマツキントッシュのドライバーにすぎない。ユーザー
が音声制御の処理とみる処理は実際には機能に依存して
音声制御か音声ドライバーによって実行される。例えば
音声学習手続きは音声制御の制御のもとに音声ドライノ
くーによって実行される。
マツキントッシュオペレーティングシステムに対するイ
ンターフェース184Kより音声制御は適宜オペレーテ
ィングシステムを操作する(例えばイベントの記入やイ
ベントキューの変更により)ことができる。マクロ解読
器(Macro InterPre一ter)194は
音声ドライバーからテキストノくツファーを介して送ら
れてきたコマンドストリングを取り出し,それを解読し
てとるべきアクションを決定する。これらのコマンドは
表示装置上に表示すべきテキストストリングや実行すべ
きマウスの移動やメニューの選択を表わす。
コマンドストリングの解読を行なう際音声制御はマツキ
ントッシュのイベント−?ユーを操作しなげればならた
い。このタスクはOSイベント管理196によって実行
される。上述したように音声イベントによって通常はキ
ーボートやマウスに1測連ツケられるイベント馨シミュ
レートすることができる。マウスイベントはマウスハン
ドラー198により取り扱われる。マウスイベントはO
Sイベント管理196によって実行される通常のイベン
ト記入ルーチンの外部においてオペレーティングシステ
ムの操作を要求することがあるため別のレベルでのハン
ドリングを必要とする。
マツキントッシュオペレーティングシステム162に対
するメインインター7エースはイベントにもとすくもの
であり、音声認識されてマヴキントッシュに渡される大
部分のコマンドで使用される。しかしオペレーティング
システムの状態に対するその他の”フック”があり、こ
れらはマウスの位置決めやマウスの動き等の制御バラメ
ーターに使用される。例えば後述するようにマウスのボ
タン馨下げろ(ダウンさせる)コマンドはイベントを発
生丁るがマウスのボタンを下げた状態に保ち,マウス聖
メニュー上で移動する操作にはオペレーティングシステ
ムのフックを必要とする。
参考として表Bに音声ナビゲーターの使用するオペレー
ティングシステムのフックを例示してある。
オペレーティングシステムのフックはトラップフィルタ
ー200によって実現される。トラップフィルター20
0は音声制御が使用するフィルターであり,これにより
マツ千ントッシュオペレーティングシステムはOSイベ
ントVil96,!−マウスハンドラー198が実行す
る制御を受けつげる。
マツキントヴシュオペレーティングシステムのトラップ
はマツキントッシュのリードオンリーメモリー(ROM
)におかれ,システム4制#するためのハイレベルコマ
ンド馨実現する。ハイレベルコマンドの例としてスクリ
ーンにストリングを書くコマンド,ウインドウのズーミ
ング、ウィンンドウ娶スクリーンの正面と背面に移動さ
せるコマンド,マウスボタンの状態をポーリングするコ
マンドがあげられる。音声制御ドライバーがマツキント
ッシュオペレーティングシステムと正しくインターフェ
ースするためにはこのようなオペレ一ティングシステム
のトラップ馨制御して適当なイヘント’¥発生させなげ
ればならない。
例えばメニューイベントヲ発生させるため音声制御はメ
ニュー選択トラップを1とらえる(sei−28)″(
丁なわちオペレーティングシステムからトラップ制御髪
とる。)。いったん音声制御かトラ7フ゜をとらえると
メニュー選択のためσファフ゜リケーション要求が音声
制のに渡される。このようにして音声制御は適宜オペレ
ーションシステムの出力をプログラムに合わせて修正す
ることができ.それによってシステムの動作ケ所望に制
御することができる。
ユーザーに対するインターフェース186はユーザーに
音声制御の動作馨制のさせる。プロンプト2口2はマヴ
キントッシュのスクリーン上に認識された音声の名前を
表示してユーザーに正しい声発が認猷されたかどうかχ
問い合わせることができる。オンライントレーニング2
口4によりユーザーはマツキントッシュχ使用中の好き
な時に現在使用中のワードリスト124の音声名をアク
セスすることができる。ユーザーはどの音声名が丁でに
学習済みかどうかを知ることができオンラインの形態で
音声名を再学習させることができる。
(これらの機能は上述したように音声制御が音声ドライ
バーインターフェースを使用すること馨必要とする。)
ユーザーオプション206により,種々の音声制御設定
の選択例えば音声認識装置の確カサノレベル(コンフィ
デンスレベル丁なわち音声が認識されたと決定するのに
要する確かさのレベル)の選択が可能である。こ0).
Kうなパラメーターに対する最適値は使用するマイクロ
フォンやユーザーの発生する音声に依存する。
ユーザーに対するインターフェース186はマツキント
ッシュのイベントインターフェースを介しては動作しな
い。ユーザーインターフェース186は単に音声認識ソ
フトウェアを制御し音声制御ドライバーの状態を制御す
る再帰ループである。
言語作成14口はアプリケーション分析210とイベン
ト記録212を含む。アプリケーション分析210は上
述したようにアプリケーションの実行可能なコードを構
文解析し,適当なデフォルト音声名とあらかじめプログ
ラムされたコマンドストリングと馨生戚する。アブリケ
ーション分析210にはメニューに対応するテキストス
トリングを見つげるために実行可能なコードをサーチ丁
るメニ3一抽出手続き214が含まれる。更にアプリケ
ーション分析210にはアプリケーションの各メニュー
の項目に対応するコマンドストリング馨生戒丁る制御識
別手続き216が含まれろ。
イベント記録212はユーザーコマンドを記録し、音声
に対するコマンドストリングを生成するドライバーであ
る。これによりユーザーは上述したように容易にコマン
ドストリングな生成,編集することができ、る。
イベント記録に入力されるイベントの種類にはテキスト
エントリー218.マウスイベント220(例えばマウ
スをスクリーン上の特定の場所にクリック).特定のア
プリケーションを制御するために必要なスペシャルイベ
ント222及び音声制御ドライバーの動作に関係する音
声イベント224が含まれる。
言語作成 第4図に示丁言語作或のメインイベントループ230は
マヴキントッシュオペレーティングシステムの他のデス
クアクセサリーで使用されるメインイベントループと同
様の構造をもっている。
“アップルメニュー”からデスクアクセサリーが選択さ
れると1オープン”イベントがアクセサリーに送られる
。又.使用していたアプリケーションが終了したりユー
ザーがメニューを使ってアプリケーションを終了させた
場合には1クローズイベントがアクセサリーに送られる
。その他O場合アクセサリーには制御イベントが送られ
る。制御イベントのメッセージパラメーターはイベント
の種類を表わしている。第4図に示すように言語作成の
メインイベントループ260はイベントタイプの鍼別2
62から始まる。
イベントがオープンイベントの場合,言語作或は言語作
成が丁でにオーブンされているかどうか馨調べる。(2
34)言語作戚がすでにオープンされていれば現在の言
語(現在のワードリストにある音声名のリスト)ヲ表示
し(236)、言語作或ハオペレーティングシステムに
リターンする。
(237)言語作戚が開いてなければ初期化タ行なって
(238)オペレーティングシステムに戻る。
(239) イベントがクローズイベントの場合,言語作戚は現在の
言語ケ言語ファイルとして保存するかどうかをユ=ザー
に問い合わせる(240)。ユーザーが言語作或に現在
の言語の保存を指示した場合には現在の言語はプロダク
ション書き込みモジュール(242)により言語ファイ
ルに変換され,言語作或は終了する(244)。現在の
言@馨保存しない場合,言語作或はそのまま終了する。
イベントが制御イベントの場合,246に示すように言
語作成がおかれていろモードに依存する形でイベントに
応答する。この理由は言語作或がイベント(ユーザーが
音声に割り当てようとするマウスの動き,マウスのクリ
ックやテキストエントリー)を記録するユーティリティ
馨もっており.言語作戚ウインドウχ作戚しないイベン
ト聖記録しなげればならないからである。しかし,記録
中でない時は言語作成は言語作戒ウインドウ内のイベン
トのみに応答すべきである。したがって言語作成はある
モードでは応答するイベントでも別のモードでは応答し
ない。
制御イベントは三つの分岐248,250.252のい
づれか1つを通る。すべてのメニューイベントはaCC
Menu分岐252を通る。(デスクアクセサリーメニ
ュー内で生じたメニューイベントのみが言語作或に渡さ
れる。)言語作成ウインドウに関するすべてのウインド
ウイベントはaccEvent分岐250を通る。言語
作或に受け取られるその他のイベントは言語作成以外の
デスクトップアクセサリーやアプリケーションに関する
イベントに対応するものであり,アクションを記録する
ためK accRun分岐248に通される。
aCCRun分岐248ではイベントは記録され,選択
した音声名に関連づけられる。イベントの記録に先だっ
て言語作或は254で言語作或が記録モードかどうか馨
チェックする。記録2−ドでなげれば言語作或はそのま
まリターンする(256)。
記録モードがオンの場合は258で言語作戒はどの記録
モードか宝テエツクする。
記録中言語作成はオペレーティングシステムiCマッキ
ントヴ−/:Lの所定時間( tick) (すなわち
1760秒毎に)言語作戊χ呼び出させる制御フラグ’
¥たてることによりオベンーティングシステムの制御を
獲得する。
ユーザーが言語作或を対話モードに設定した場合、言語
作或は対話イベン}(fなわちユーザーがモーダル( 
Modal )対話ボックス内に示されるアクションに
しか応答できないモーダル対話に関するイベント)ff
記録することができる。これχ達或するためにユーザー
は現在のアプリケーションにアクション(丁なわちマウ
スクリヴク,メ二ュー選択)馨行なって対話ボックス聖
スクリーン上に呼び出す。これによりユーザーは記録聖
初期化して対話ボックスに応答することができるように
なる。モーダル対話ボックスを作る場合に言語作戒が受
け取ったイベントはオペレーティ/グシステムにも渡さ
れる。しかしその他の場合はイベントはオペレーティン
グシステムには渡されない。
言語作成のモーダル対話の記録は対話実行モジ瓢一ル2
60Kよって実行される。
モーダル対話イベントY記録していない時は言語作威は
1アクション”モードにおかれ、言語作戊はエディヴト
実行モジュール262K進−1r。
aCCEvent分岐ではすべてのイベントはイベント
ハンドラーモジェール264に送られる。
aCCMe nu 分岐ではデスクアクセサリーデスク
イベントが示すメニューが266でテエツクされる。イ
ベントが言語作或メニュー内で発生したイベントの場合
,そのイベントはメニュー処理モジュール268に渡さ
れる。他のイベントは無視される。(270) 第5図に示すようにエディット実行モジュール262は
,ループ272.274を実行する。アクション記録サ
ブモジュール272により記録される。
イベノトキューに記録すべきアクションが残っていろ場
合ループはアクション記録サフモジュールに戻る。イベ
ントキュー内に取り消しアクションが現われた場合(2
76).エデ,ト実行はメモリーにある現在の言語馨更
新することなくリターンする(277)。取り消しがた
くイベントが終了した場合にはエディット実行はメモリ
ーの言語會更新し,記録モードをオフにし(278)、
オペレーティングシステムに戻る(280)。
第6図に示すようにアクション記録サブモジュール27
2では記録モードにおいてユーザーが行なったアクショ
ンが記録される。現在のアプリケーションがイベントキ
ュー上の次のイベントを要求した場合、そのイベントは
アクション記録でチェックされる。空( null )
でない各イベント(−fなわち各アク7ヨン)はアクシ
ョン記録で処理される。まず282でアクションの種類
がテエツクされる。アクションがメニュー馨選択してい
る場合(284)選択したメニューが記録される。アク
ションがマウスクリックの場合(286)ボタン?ルー
チン(第8図参照)がクリックがボタン(ボタンは正面
クイ/ドクのメニュー選択エリアにある)の内部で生じ
たかどうかを調べる。その場合ボタンは記録される(2
88)。クリックがボタ/内で生じていない場合はクリ
ックの場所が記録される(290)。
その他のアクションは特別のハンドラーによって記録さ
れる。これらのアクションとしてグループアクション2
92,マウスダウンアクション294.マウスアップア
クション296、ズームアクション298、拡大アクシ
ョン300.次ウインドウアクション302がある。
メニューのアクションの中には選択肢によりポップアッ
プメニ1−(メニュー取り出し)を作るものがある。こ
れらのアクションは適当なポップアップメ=.−Vポッ
プアップ(取り出す)ことによって処理され、これによ
りユーザーは所望の選択肢を選択することができる。移
動アクション3 0 4. 一時停止アクシゴンi6.
マクロールアクション308,テキストアクション31
0及び音声アクション612はそれぞれのメニューを取
り出し,アクション記録は314で(マウスを動か丁こ
とにより)ユーザーの選択したメニュー2チェックする
。メニューの選択がされていない場合はアクションは記
録されない(316)。されていれば選択肢が記録され
る(318)。
アプリケーションを開始( launch )させるア
クションもある。この場合320で選択したアプリケー
ションを判別する。アプリケーションが選択されていな
ければアクションは記録されず(322)選択されてい
れば選択されたアプリケーションが324で記録される
第7図に示すように対話実行手続き260はマツキント
ヴシュコンピューターのモーダル対話の記録を行なう。
モーダル対話中ユーザーはモーダル対話ボックス内のア
クションにしか応答できない。これらのアクションに対
丁る応答を記録するため、対応実行は記録ステップの各
プロセスに対応する複数の段階をもっている。
ユーザーが対話記録を選択する最初の段階で対話実行は
選択肢として1記録( record ) ”と“取り
消し( cancel )”をもって言語作成対話ボッ
クス(第25図参照)をユーザーに提示する。ここでユ
ーザーは現在のアプリケーションと記録Tべき対話クリ
ックを行なうまでやりとりできる。この段階では対話実
行の呼び出しは丁べて対話選択326を通り,ここで最
初の言語作成対話ボックスが作られ,他のアクシッンは
無視してリターンする。(327) 第2の記録段階に進むためユーザーは言語作戒対話ボッ
クスの1記録”ポタンχクリックしてその後の対話の応
答を記録するように指示する。この段階では対話実行の
呼び出しは記録328を通り,ボタン?ルーテン330
で現在のアプリケーションの対話ボックス内のボタンが
選択されたかどうか聖テエックする。クリックがボタン
内で生じていればボタンを記録して(332)対話実行
はリターンする。(333)そうでなげればクリックの
位置を記録して(334)対話実行はリターンする(3
35)。
すべてのクリックを記録した後,ユーサーハ言語作戒対
話ボックス内の1取り消し”ボタンをクリヅクする。こ
れにより記録の第三段階に入る。
1取り消し”ボタンのクリックにより対話実行は取り消
し336に進み338でメモリーの現在の言語を更新し
,リターンする。(340)第8図に示すようにボタン
?手続き286はマウスクリックイベントがボタン上で
生じたかどうかを判定する。ボタン?はオペレーティン
グシステムから現在のウインドウ制御リスト342(現
在のウインドウのすべてのボタンの枠の位置情報を含む
マツキントッシュグローバル.付記Bを参照のこと。)
をもらい受けループ644から650でウインドウ制御
リストを解析する。各制御を350でフェッチし346
で制御の枠をうる。
548で枠を調べてクリックが枠内で生じたかどうかを
判別する。枠内で生じてなければ次の制御を350でフ
ェッテしてループを繰り返す。644でリストが終了の
時にはクリックがボタン上では生じていないのでノーを
返す.(352)クリックが枠内で生じている場合には
651で枠に名前がついているかどうかを調べそうであ
ればクリックがボタン上で生じているので654でイエ
ス浅返す。枠に名前がついていなければクリックはボタ
ン上で生じていないので356でノーを返す。
第9図に示すようにイベントハンドラーモジュ−k26
4は言語作戚表示ウインドウ内での通常のマツキントッ
シュイベントを取り扱う。言語作戒表示ウインドウは現
在の言語の音声名のリストを表示丁る。第9図に示すよ
うにイベントハンドラーは358でイベントがマウスイ
ベントかキーボートイベントかを判別し,その後,言語
作成ウインドウ上の適当なアクシ1ン馨実行する。
マウスイベントにはウインドウの移動360,ウインド
ウの拡大662,ウインドウのスクロール564.ウイ
ンドウ上でのクリック368(これにより音声名が選択
される),及びウインドウ上での移動370(これは音
声名をスクリーン上のある場所から別の場所に動かすこ
とでありこれによって言語階層構造におげろ音声の位置
が変わることかある。〕が含まれる。ウィンドウ内の音
声名上のダブルクリック366はアクションの記録のた
めにその音声名を選択し,エディット実行モジュール聖
起動させる。
キーボードイベントにはカーソルダウン38口、カーソ
ルアップ382,カーソン右384,力一ソン左386
と共にいわゆる切り取り(cut)372、コピー37
4及びのりづげ( paste )376のルーテンが
含まれる。マウスでのダブルクリックと同様にキーボー
ドでのリターンキー押しにより現在の音声名が選択され
,その記録がエディット実行378により行なわれる。
適当なコマンドハンドラーを呼び出した後イベントハン
ドラーはリターンする( 388)。イベントハンドラ
ーモジュールで実行される言語階層構造の変更はクロー
ズと保存操作の時にプロダクション書き込みモジュール
の生成する言語ファイルの階層構造に反映される。
第1口図においてメニュー処理モジュール268は言語
作成がサポートするすべてのメニュー選択の制御する。
適当なサブモジュール(第11A図から第III図にお
いて詳述する)を呼び出した後メニュー処理はリターン
する(408)。
第11A図に示すように新言語サブモジェール690は
,新言語を作或丁る。新言語サブモジ島一ルはまず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)。新
アクション開始後のアクションは直接にはオペレーティ
ングシステムに送られず,中間として言語作戚に通され
る。
第11E図に示す対話記録サブモジュール698は対話
実行モジュール聖介して対話ボックスに対丁る応答を記
録する。対話記録398はユーザーをモーダル対話にお
けるアクションの記録へ導く。
そうでなげればユーザーは対話ボックスを呼び出丁アク
ションを行なえなくなる。対話記録は446で対話アク
ションウィンドウ(第25図参照)を表示して記録をオ
ンにし448でリターンする。
第11F図に示すデフォルトメニュー作或モジュール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 )。
第11G図に示すデフォルトテキスト作成サブモジュー
ル402により.ユーザーはクリヴブボード上のテキス
トファイルを音声名のリストに変換することができる。
デフォルトテキスト作成402はクリップボード上の各
固有ワードに対する音声名を生成して(474)からリ
ターンすル(476)。この音声名は音声名をタイプア
ウトするキーボードのエントリーに関連づけられる。例
えばビジネスレターをクリ,プボードからデフォルトテ
キストに写し取ることができる0次に音声をビジネスレ
ターで使用される共通ビジネス用語のそれぞれに関連づ
けることができる。10通程のビジネスレターを変換し
た後では、ビジネスレターのワードの大部分は音声セッ
トとして記憶されることとなる。
第11H図に示すグループアルファべ,トづげサプモジ
ュール404によりユーザーは言語で使用する音声名に
アルファベットヲつげることができる(アルファペット
順に並べることができる)。
言語作戒ウインドウ内において(マウス浅一連の音声名
上に動かすことによって作られる)選択した音声名のグ
ループはアルファベットの順序がつけられ(478).
Lかる後グループアルファベットづげはリターンする(
480)。
第III図に示す優先サブモジュール406によりユー
ザーは標準グラフィックユーザーインターフェースの好
み(優先)例えばフォントのスタイル(482)やフォ
ントのサイズ(484)を選択することができる。又,
好みサブモジュール486によりユーザーは記録したア
クションのマウスの位置を表わ丁距離について選択を行
なうことができる。マウスアクシ曹ンの座標はグローバ
ルウインドウ座標に対する相対座標としてか,アプリケ
ーションウィンドウの座標に対するものとしてとられる
。マウスクリックによりアプリケーションメニ為一が選
択された場合,マウスクリックは常に相対座標にあるの
でウインドウをスクリーン上で動かしてもマウスクリヴ
クの機能は保たれる。
更に好みサブモジュール486はマムスアクションを記
録した際,マウスがクリックの場所にとどまったままに
なるかクリックの後でもとの位置に戻るかを決めること
ができる。好みの選択を終了する際,ユーザーに言語作
戒に関丁る現在の好みの設定を更新するかどうか乞問い
合わせる(488)。
更新を望む場合には.490でファイルを更新して優先
はリターンする(492)。そうでなげれば保存するこ
となく優先はそのままオペレーティングシステムに戻る
(494)。
第12図に示すプロダクション書き込みモジュール24
2はファイル浅保存丁る際に呼ばれる。
プロダクション書き込みは現在の言語馨保存し、それ聖
言語作成アプリケーションで使用するアウトラインプロ
セッサーフォーマットから状態マシーンにもとすく音声
認識ソフトウエアに適した階層構造のテキストフォーマ
ットに変換する。言語ファイルはアプリケーションに関
連づけられ,新しい言語ファイルは音声認識にアプリケ
ーションの種々のコマンドを組み込むためにアプリケー
ション別に生成され.編集される。
プロダクション書き込みモジュールの構或は使用する音
声認識ソフトウエアに依存する。一般にプロダクション
書き込みモジュールは現在の言語を,使用する音声認識
ソフトウエアに適したフォーマットに変換する。第12
図に示すプロダクション書き込みモジュールの構或はド
ラゴンシステムの音声認識ソフトウエア用の音声コンパ
イラーのシンタックスに適用したものである。
プロダクション書き込みはまず494で言語をテストし
、サブレベルがあるかどうか馨判別丁る。
サブレベルがなげればターミナル書き込みサブモジュー
ル496がトップレベルの言語を保存し,プロダクショ
ン書き込みはリターンする(498)。
言語にサブレベルがある場合,それぞれのサブレベルが
再帰ループによって処理される。言語にルートエントリ
ーがある場合(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)。
音声制御 音声制御ソフトウエアはオペレーティング●システムと
そのオペレーティング●システム上で走るアプリケーシ
ョンとの間のゲートとして役割を果たす。これは音声制
御にまり生戚されるフィルタ・グロシージャ( fil
ter prOcedur6 )と等シイ,オペレーテ
ィング●システムの次のイベント取得のプロシージャに
マツキントッシュをセットすることにより成し遂げられ
る。この次のイベント取得の手続き次のイヘント要求が
オペレーティング●システムによって,またはアプリケ
ーションによって発生させる毎に実行される。通常,次
のイベント取得の手続きは無効であり,次のイベント要
求は直接,オペレーティング●システムに入る。フィル
タ手続きは要求の度毎に音声制御への制I11を適丁。
これにより,音声制御はマウスおよびキーボードのイベ
ントを無視することにより音声機能を実行し、発生され
た命令に対応する新しいイペン}w生gする。
音声制御フィルタ・プロシージャは第14図に示される
初期化538の後,1つのイベント(以後・事象と称す
る)がオペレーテイング●システムにより生成される前
に、次の事象取得のフィルタ0プロシージャ540が呼
び出される。まず、その事象は無効な事象であるか否か
チェックされる542。
無効であれば,入力プロセスモジュール544が直接,
呼び出される。プロセス入カモジュール544は新しい
音声入力があるか否かチェックし,受け入れられた音声
があれば処理する。人力プロセスの後、音声制御駆動部
は通常のフィルタ処理546(¥なわち,他のアプリケ
ーションによりひき起こされるフィルタ制御全て)を通
って、復帰する548。次の事象が無効な事象でなげれ
ば,表示は消される55口。これにより、音声制御は以
前の無効でない機能により発生され得た,(現行の言語
リストのような)いかなる音声制御の表示も消してしま
う。したがって,音声制御により生成されたプロンプト
ウィンドウ( prompt Win−dOW )があ
れば,無効でない事象が起きたとき、そのプロンプト・
ウインドウは消される。次にキー押下の事象がテエック
される552。認識器はある特別たキー押下の事象によ
り制御(すなわち電源のオンおよびオフ)されるため,
その事象がキー押下の事象であれば,音声制御は更に処
理を行わなければならない。そうでなげれば、音声制御
駆動グロシージャは直接、入力プロセス544へ移る。
キー押下の事象が起きれば554,適当なときに,認識
器ケ制御するソフトウェア・ラッチがセットされる。こ
れにより、認識器ソフトウェアの起動,認識器の選択機
能の選択または,言語の表示が可能となる。この後,音
声制御駆動は入力プロセスへ移る544。
第15図を参照すると,入刀プロセス・ルーチンは音声
制御駆動の中心である。それは音声ナビゲータ(Nav
igator)のための音声入力全てを管理する。入力
プロセス●モジュールは1つの事象がオペレーティング
●システムにより処理される度毎に,呼び出される。ま
ず546ではセットされる必要のあるラッ−rf処理さ
れ,マツキントツシネは必要であれば、何回かの遅延時
間だけ待つ。
遅延時間は例えばメニュー処理動作が音声制御により行
われている場合,その処理動作を開始する前にスクリー
ン上にそのメニューが描かれるように設定される。また
,いくつかのアプリケーションはマウスまたはキーボー
ドの事象の間の遅延を必要とする。次に、認識機能が起
動されうると548,入力プロセス・ルーチンは認識へ
進む562。認識が停止されれば,入力プロセスtt復
帰(リターン)する。
認識ルーチン562は発声(すなわち,音声人力となり
うる音)があるか否かチェックするために認識駆動を起
動する。認識された音声入力があれば564,入力プロ
セスは垂直でランキング割込みVBLハンドラ566を
チェックし,適当なところでそれを停止させる。
垂直プランキング割込みのサイクルはオペレーティング
ーシステムの中ではたいへン低いレベルのサイクルであ
る。スクリーンが更新される度毎にラスターはスクリー
ンの底辺の右から上辺の左へ動いているので,垂直プラ
ンキング割込み時間が発生丁る。このプランキング時間
の間,時間が非常に短かく、優先順位の非常に高いルー
チンが実行されうる。このサイクルはプロセス入力ルー
テンによって,マウス座標を非常にゆっくり加算するこ
とにより連続的にマウスを適当なところへ動かすために
用いられる。これを成し遂げろために.マウスの移動の
事象はVBLの待ち行列上に置かれる。したがって、適
宜,VBLノ飄ンドラはマウスを動か丁ために停止され
なげればならない。
他の音声入力はそれらがプロセスQルーテンにより処理
されうるまでブロセヴサのための音声に関連丁る事象を
保持する,音声待ち行列上に置かれる568。しかしな
がら,音声が認識されたか否かにかかわらず,プロセス
Q570はプロセス入力によりいつも呼び出される。し
たがって,プロセスQに対して順番を待つ音声事象は最
終的には実行されるが.必ずしも同じプロセス入力サイ
クル中ではない。プロセスQ’k呼び出した後,プロセ
ス入刀は復帰する571。
第16図を参照すると,認識サブモジュール562は音
声ナビゲータ・ボックスにより整列されている符号化さ
れた発声の有無浅チェックシ・発声があればそれの認識
χ試みるために認識駆動を呼び出す。認識部は認識器か
ら戻される命令列(の長さ)により、命令の数を戻す。
572において,発声が認識器から戻ってこなげれば、
認識部は認識されなかったこと馨示丁,○の長さを戻丁
(574)。発声が、有効であれば.認識部はsdi一
認識を呼び出し567,認識器ソフトウエアにその発声
を認識するように指示する。578において,認識され
れば,発声の名前がユーザに対して表示される582。
同時に、いかなる終了呼び出しウィンドウ(すなわち,
認識ソフトウエアに応じて音声制御により起動される,
終了呼び出しの選択に関連丁るウィンドウ〕もディスプ
レイから消される。認識されなげれば、マツキントヴシ
Sはビープ音を鳴らして58口、長さOが戻される57
4。
認識されると、認識部はその発声に対応する出力列を探
す584。出力列があれば,認識部はそれが停止してい
るか否かチェックし586,停止していれば590、出
力カウントはその出力列の長さにセットされ,その命令
が(″停止せよ“または1起動せよ“なとの)制御命令
で音声命令処理ルーチンにより処理される。
8識された発声に対する出力列がなげれば,または,認
識器が停止していれば.認識部の出力はゼロである(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。
第18図を参照すると,処理Qのモジュール570は音
声待ち行列から音声人力をひき出し、それを処理する。
63口において.事象の待ち行列が空であれば,処理Q
は進み,そうでなげれば,処理Qは退帰丁る632。こ
れは音声の事象が他の事象と共に待ち行列上に置かれて
いると,事象の待ち行列がオーバフローするかもしれな
いからである。634において,音声の待ち行列が事象
を持っていれば,処理の行列はメニエ描画または他の関
連する動作のための遅延時間が終了したか否かをテエツ
クする。音声の餘ち行列に事象がなげれば,プロセスQ
は退帰636″′fろ。遅延時間が終了したならば,処
理Qはゲット・ネクスト( Get Next )  
k呼び出し642,復帰する644。そうでなく,遅延
時間が終了していなければ,プロセスQは退帰丁る64
0。
第19図を参照すると,ゲット・ネクスト●サプモジュ
ール642は音声の待ち行列からキャラクタをとり出し
,それらを処理する。646において,音声の待ち行列
の中にキャラクタがなげれば,手続きは復帰するのみで
ある648。音声の待ち行列にキャラクタがあれば,ゲ
ット●ネクストはそのキャラクタが命令キャラクタであ
るか否かをチェックする650。そうであれば,ゲット
・ネクストはテエヴク命令を呼び出す660。そうでな
ければ,キャラクタはテキストであり,ゲヴト●ネクス
トは適宜,2次ビヴト(metabits)をセット丁
る。
マツキントッシュが一つの事象を配置すると,2次ピッ
ト(表B参照)は状態キー,選択キーまたは命令キーな
どのキーストロークχ条件付けするだめのフラグとして
用いられる。これらのキーはキーボードにおいて押下さ
れたキャラクタを条件付けし,制御キャラクタを生成す
る。したがって,適当なオペレーティング・システムノ
事象な生戚丁るために,2次ビットは適宜,セットされ
なければならない。2次ビットがセットされると652
、キー●ダウンの事象はマツキントッシェの事象待ち行
列に置かれ654、キーボードでのキー押下馨シュミレ
ート丁る。これに続き,キーアヴプが事象待ち行列に置
かれ656,キーアップ會シュミレート丁る。658に
おいて,事象待ち行列の中にまだ,余裕があれば,更に
音声キャラクタが取得され,処理される646。そうで
なげれば、ゲット・ネクスト手続きは復帰する676。
命令列人刀が単純なキーストロークでな<.1つの命令
に対応すれば,その列は第19図に示されるような命令
テエック・プロシージャ660により処理される。命令
テエック●プロシージャ660において、音声待ち行列
からの次の4つのキャラクタ(4つのキャラクタは全て
の命令列の長さである,表A参照)はフェッテされ66
2,命令テーブルに比較される664。666において
,キャラクタが音声命令に等しげれば、その命令は認識
され.処理は命令処理ルーチンにより続行される668
。そうでなげれば、そのキャラクタはテキストであると
解釈され,処理は2次ピットのスラップへ復帰する65
2。
命令処理手続き668において,まず,テーブルに対す
る命令処理器のオフセットを計算し,そのテーブルに照
合し,適当な命令ハンドラを呼び出すことにより672
,各命令は命令手続きのテーブルに照合される。命令ハ
ンドラを呼び出した後、ゲット・ネクストは入力処理モ
ジュールから直接.抜け出る674(ソフトウエアの構
造は命令処理からの復帰は2次ビットのステップへ復帰
するようになっており、それは正しくないであろう)。
命令処理ルーテンに用いられる命令ノ・ンドラは第20
図に図示されている。各命令ハンドラは第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を置く。
マクス●ダウンがメニュ・バー上に生じると、マツキン
トッシュのオペレーティング●システムはアブリケーシ
ッンのためのメニ瓢事象を発生する。
1つのメニュ事象を受けるアプリケーションの各々はメ
ニエ事象が何であるかを見つけるために,オペレーティ
ング―システムからのサービスを要求する。これを行う
ために,アプリケーションはメニュ選択トラップを出す
。このメニエ選択トラップはスタック上のマウスの位置
を置く。しかし、この場合に,アプリケーションがメニ
ュ選択トラツフ&発したときに、それは代わりにマイ・
メニュ選択ルーチン692Kよりサービスされ2これに
より、メニエ命令は現実の座標の場所に所望のメニュ座
律を挿入丁ることかできる。適当なメニュ・バー内にマ
ウス・ダウンを置いた後、メニュ命令は待ち時間を3口
にセットし688,この時間の間にオペレーティング・
システムはメニュχ描き,復帰する6900 マイ・メニュ選択トラップ692において,メニュ選択
ブローバル状態は以前の選択されたメニ:Lffクリア
するようにリセットされ694、所望のメニュidおよ
び項目番号はマツキントッシュのスタック696に移さ
れ,所望のメニュ項目馨選択する。
ファインド・メニュ・ルーテン70口は所望のメニュの
ための命令パラメータを集める702。
次に,メニュ名はメニュ名リストに照合される。
706において17ニュ名”の名称を持ったメニュがな
ければ.ファインド・メニュは抜け出る。
そうでなければ、ファインド・メニエは項目名を七〇メ
ニュ内の項目の名称と比べる。712において,置かれ
た項目香号がOより太きければ,ファインド●メニュは
メニュ命令により用いられるためのメニ:Lidおよび
項目番号を待ち行列に並べ718,復帰する720。そ
うでなく,項目番号が0であればファインド・メニュは
内部の音声制御フラグマウスダウン”および“グローバ
ル”フラグを真にセット丁るだげである714。これは
音声制御に,マウスの位置は全体的に参照されるべきこ
と,およびマウス・ボタンは制限されるべきことを示し
ている。そして,ファインド・メニSはポスト・マウス
・ルーテンを呼び出し716,それはこれらのフラグを
,オペレーティング●システムのマウス状態馨操作丁る
ために参照丁る。
第21B図を参照丁ると,制御命令は1つのメニュ内の
ボタン押下を実行し、アプリケーションのファイル・メ
ニュ内のセーブ命令のような処理動作をひき起こす。こ
れを行うために,制御命叡は制御の列から命令パラメー
タを取り出し724,フロント・ウインドウを見つけ7
26,ウインドウ命令リストを得728,その命令名が
その制御リスト内にあるか否かをチェックする73口。
その制御名が制御リストの中にあれば,制御直交座標が
計算され762,ポスト・マウス・ルーチンはマウスを
適当な座標に位置づけ( click) 734.制闘
命令は復帰丁る736。制■名が見つげられなげれば,
制御命令(ま直接狽帰丁る。
キーパッド命令738はマツキントヴシュのキー′4ヴ
ドでの数字人刀をシュミレートする。キーパッドは命令
列のための命令パラメータを見っ゛げ740、所望のキ
ーのためのキーコード値を得742,v−−−ダウンの
事象をマヅキントヅシュの事象待ち行列に置き744、
復帰する746。
ズーム命令はフロント・ウィンドウを拡犬/縮小する。
ズームはマウスをフロント・ウインドウと照合するため
にフロント・ウインドウ・ポインタを得75口、ズーム
・ボックスの位置浅計算し752、このズーム・ボック
ス内に位置づけするためにポスト・マウスケ用い754
,復帰する756。
ローカル・マウス命令758は局部的に参照される場所
にマウスを位置付けする。ローカル・マウスは所望のマ
ウス位置のための命令パラメータχ取得し760,所望
の座称に位置づけするためにポスト・マウスケ用い76
2,復帰する764。
グローバル・マウス命令は全体的に参照される位置にマ
ウスを位置づける766。グローバル●マウスは所望の
マウス位置のための命令パラメータfi取得し768.
(ポスト・マウスに、座標がグローバルであることを知
らせるために、)グローバル・フラグを真にセヴトし7
7口、所望の座標に泣置づげ丁るようボスト●マウスヶ
用い772、復帰する774。
ダプル●クリック(DOubleClick)命令は局
部的に参照される位置にマウスを二回,位置づける。ダ
ブル・クリックは所望のマウス位置のための命令パラメ
ータを取得し778.(所望の位置に2回,位置づけを
行うために)ポスト・マウスを2回、呼び出し780,
782.復帰する784。
マウス●ダウ7 (Mouse Down)命令786
はマウス・ボタンを停止にセットする786。マウス●
ダウンは(ポスト・マウスニ、マウス●ボタ/は抑えら
れるべきことを知らせるために,)マウスダウン●フラ
グを真にセットし788,ボタンをダウンにセヴトする
ためにポスト・マウス聖用い790、復帰する792。
マウス●アヴブ( Mouse Up ) 命令はマウ
ス●ボタンを上にセット丁る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。
スクリーンーレフト(Screen left)命令ハ
現在のウインドウの内容を左へスクロールする83o0
スクリーン●レフトはます,フロント●ウィンドウ中の
水平スクロール・バーを探丁832。864において,
スクロール・バーが見つからなければ,スクリーン・レ
フトは復帰するのみである842。
スクロール・バーが見つかれば,スクリーン●レフトは
左矢印の座標を検出し836.(ポスト●マウスに,マ
ウス●ボタンが抑えられるべきであることを示す〕マウ
スダウン●フラグを真にセツ}L838.ボスト●マウ
スを使って、マウス・ボタンを停止させる840、復帰
する842。
スクリーy−ライト( Screen Right )
命令は現在のウインドウの内容y5t右へスクロールす
る844。スクリーン・ライトはまずフロント・ウイン
ドウ中の水平スクロール●バーY探j846。
848において,スクロール・バーが見っからなげれば
,スクリーン●ライ}%ま復帰するのみである856。
スクロール・バーが見つかれば,スクリーン・ライトは
右矢印の座標を計算し85口,(ポスト・マウスに,マ
ウス・ボタンが抑えられるべきであることを示−f)マ
ウスダウン#フラグを真にセットし852,ポスト・マ
ウスχ使って,マウス・ボタンを停止させ854,復帰
する856。
第21E図を参照丁ると,ページ・ダウン(PageD
own )  命令は現在のウィンドゥの内容を1ぺ−
ジ分.下に動か丁858。ページ●ダクンはまず,フロ
ント●ウインドウ内の垂直スクロール●バーヲ探丁86
0。862において、スクロール・バーが見つからなけ
れば,ページ●ダウンは復帰するのみである868。ス
クロール●バーが見っかれば,ベージ●ダクンはページ
●ダクン●ボタンの座flY計算し864,ポスト・マ
ウスを使ってマウス●ボタンを停止させ866.復帰す
る868。
ヘーシ●アッフ( Page Up)命令は現在のウィ
ンドウの内容を1ページ分,上に動かす87o0ベージ
●アップはまず,フロント●クィンドゥ内の垂直スクロ
ール・バーを探す872。874において.スクロール
●バーが見つからなければ,ヘーシ●アップは復帰する
のみである88o0スクロール●バーが見つかれば,ペ
ージ●アップはページーアヴプ●ボタンの座標を計算し
876.ポスト・マウスを使ってマウス・ボタンを停止
させ878,復帰する880。
ヘーシ●77 } (page Left)命令は現在
のウィンドウの内容?l−1ページ分.左へ動かす88
2。
ページ●レフトはまず,フロント●ウィンドゥ内の水平
スクロール●バーを探す884.886において,スク
ロール。バーが見つからなげれば,ヘーシ●レフトは復
帰するのみである892。スクロール・バーが見つかれ
ば、ページ●レフトはページ・レフト・ボタンの座標を
計算し888,ポスト●マウスを使ってマウス・ボタン
を停止させ890,後帰丁る892。
ページ・ライト( Page Right,)命令は現
在のウインドウの内容聖1ページ分,右へ動かす894
ページ・ライトはまず、フロント・ウインドウ内の水平
スクロール・バー馨探丁896。898において,スク
ロール●バーが見っからなげれば、ヘーシ●ライトは後
帰丁るのみである904。スクロール●バーが見つかれ
ば、ページ・ライトはページ・ライト・ボタンの座標ヲ
計算し900,ボスト●マウスを使ってマウス●ボタン
を停止させ902.復帰する904。
第21F図を参照丁ると,ムープ( MOVe )命令
はマウスをその現在の位置C’l.X)から新しい位置
(Y+δy,x+δx)へ動かす906。まず,ムーブ
は命令パラメータ908を取得し9口8,ムープはマウ
スのスピードをタブレットに合わせてセットし910.
(これにより,そうしなげればマウスの動きを制御不可
能としてしまうだろう,マウスの加速を取り消す。)オ
フセット・パラメータ浅現在のマウスの位置に加算し9
12、新しいカーソル位置とさせ、マウスのスピード馨
リセットし914.復帰する916。
グローバル座標ヘノ移動( Move to Glob
alCoordinate )命令はカーソルを音声制
御命令列により与えられたグローバル座標へ動か丁91
8。
このムープ●トウ・グローバル(グローバル座標への移
動命令)はまず、命令パラメータ2取得し920,位置
パラメータがあるか否が馨テエノク丁る922。位置パ
ラメータがあれば,スクリーンの位置座標がフエヴチさ
れる924。いづれの場合も,グローバル座棟が計算さ
れ926,マウスσ)スヒードはタブレットに合わせて
セヴトされ928、マウスの位置は新しい座標にセット
され960、カーソルは新しい位置とされ932,ムー
ブ・トク・グローバルは復帰する934。
局部座標への移動( Move to Local C
oordi−nate) 命令はカーソルを音声制御命
令列により与えられたグローバル座標へ動かす936。
このムーブ・トウ・ローカル(局部座標への移動命令フ
はまず,命令パラメータχ取消し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。
第21G図ケ参照すると、オプンヨン・キー停止( O
ption K8Y DOWn )命令kl−プ’/ 
, 7 11 #一χ停止させる968。これはキーボ
ード・ビット●マップ内のオプション自キーのビット浅
真にセットし97口,復帰する972ことによりなされ
る。
オプション●キー・アップ(○ption Key U
p)命令はオプション●キーを起動する974。これは
キーボードのビット●マップ内のオプションー千一のビ
ットを偽にセットし976,復帰する978ことにより
なされる。
シフト●キー●ダウン(Stlift Ke’j DO
Wn)命令はシフト●キーを停止させる980。これ1
言キーボードのビット●マップ内のシフト●キーのビッ
トを真にセットし982,復帰する984ことによりな
される。
シフト・キー・アップ( Shi ft Key Up
 )命令はシフト・キー浅起動丁る986。これはキー
ボードのビット●マップ内のシフト・キーのビットを偽
にセットし988,復帰する990ことにょりなされる
コマンド●キー・ダウy ( Command Key
 Down)命令は命令キー馨停止させる992。これ
はキーボードのビヅト●アップ内の命令キーのビットを
真にセットし994,復帰する996ことによりなされ
る。
コマンド●キー●アップ( Command Key 
Up )命令は命令キーをセヴトアップする998。こ
れはキーボードのビヴト●アップ内の命令キーのビット
χ偽にセットしiooo.復帰する1002ことにより
なされる。
コントo − A/ a # − aダウ7 ( Co
ntrol KeyDOWn)命令は制御キー馨停止さ
せる1004。
これはキーボードのビット●アップ内の制御キーのビッ
トを真にセットし1006.復帰する1008ことによ
りなされる。
コントロ− ILt # #−1) 7−,Fプ( C
ontrol KeyUp)命令は制御キーをセットア
ップする1010。
これはキーボードのピット●アップ内の制御キーのビッ
トを偽にセットし1012.復帰する1014ことによ
りなされる。
ネクスト●ウインドウ( Next WindOW )
@令はフロント●ウインドウを後に移動させる1016
これはフロント●ウインドウをとらえ1018.ソれ馨
後に送り1020.復帰丁ることによりなされる102
2。
イレーズ(grase)命令はスクリーンからのナムテ
ヤーズ( numchars )  キャラクタを消去
する。
最新の音声命令によりタイプされるキャラクタの数はボ
イス・コントロールにより保持される。したがって,イ
レーズは最新の音声命令からのキャラクタを消去するで
あろう。これはキーのキーダウン削除の事象を置いて1
026. tiltかれた事象の数がナムテヤーズに等
しいか否かをチェックするループによりなされる。ナム
チャーズの削除が置かれていたならば、イレーズは復帰
丁る1030。
キャビタライズ( Capi tal iZe )命令
は次のキーストロークを大文字化する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)。
第22図を参照丁ると,ポスト・マウス・ルーテンはマ
ウス停止の事象を,マツキントヴシェの事象待ち行列に
置いて1 052.マウスの活動を監視しマウスを停止
させ続けるためにトラップをセット丁ることかできる。
ポスト・マウスの動作はボイス・コントロール●フラグ
のグローバルおよびマウスダウンにより決定され,それ
らはポストマウスを呼び出す前に命令ハンドラによりセ
ットされる。ボスト●マウスの後,アブリケーシ1ンが
1次の事象取得”( get−next−event)
を行うと,それは事象の待ち行列内のマウスーダクンの
事象を判別し、位置づけ( QliCkS ) ,  
マウス●ダウン,または二重の位置づけ(double
l clicks)のような事象へと導く。
まず,ポスト・マウスはマウスの事象が生成された後,
マウスがその最初の位置に復帰できるように,現在のマ
ウスの位置を保存する1054。次に,カーソルはユー
ザがスクリーンを動きまわるマウスを見ないようにする
ために消される1056。
次に,グローバル●フラグがチェックされる。
1058において.座標がローカルであれば(すなわち
, 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。
マイーボタン●トラププはマヴキントツシュのボタン・
トラップを置き換え1084. そhK工’l・オペレ
ーティング■システムからのボタン状態のi1Il1御
馨抽捉丁る。マイ・ボタンが呼び出される度毎に、それ
はマツキントッシュのマウスーボタン状態ビットmbs
tata χテエヴクする1086。
mbStateがアップ(動作状態)にセットされてい
たならば,マイ・ボタンはエンド●ポタン (End 
Button) ルーチン1106へ移り, mbst
ateをアップにセットし1108.@えられているV
BLルーテンへ移り1 1 1 0.ボタンおよびポス
ト・イベントのトラップを元のマツキントッシュのトラ
ヴブにリセットし1112.マウスのスピード留リセッ
トし,カーソルをマウスに結合させ1114.カーソル
馨表示し1102.そして復帰する1104。
しかしながら、マウス・ボタンがダウン(停止状態)の
ままであれば.マイ・ボタンは(マq’?/トッシュが
スクリーン上にメニュー馨描く時間を許容する)待ち時
間が終了したか否か欠テエツクし1088.更なる音声
命令を認識するために,認識ルーテン聖呼び出す。更な
る音声命令か認識された後,マイ●ボタンは命令列の長
さに基づいて,その次の処理動作を判定する1092。
命令の長さが口より小さければ,次の音声命令はボイス
●コントロール内部命令であり,マクスーボタンはエン
ド●ボタン1106’f呼び出丁ことにより解放される
。命令列の長さが口より太きければ.命令は認識され.
その命令は音声の行列に並ばされ1 094.その音声
の待ち行列は更なる命令ケ求めてチェックされる109
6。何も認識されなげれば(命令列の長さが0),マイ
・ボタンは飛び越して,直接,音声の待ち行列のチェッ
クヘ行<1096。
しかし,音声の待ち行列内に命令があれば,マイ・ボタ
ンはその命令が(マウスの位置づけを行うであろう)マ
ウス移動命令であるか否かチェックする1098。マウ
ス移動でなげれば,マウス・ボタンはエンド・ボタンを
呼び出丁ことにより解放される。その命令がマウス移動
であれば、(マウスをひきずる)その命令は実行され1
100、力一ソルは表示され1102.そしてマイ・ポ
タyitm帰丁る。
スクリーン●ディスプレイ 第24図を参照丁ると,記録動作中σ〕スクリーン表示
が示されている。ユーザは局部マウス●クリック聖記録
しており1106.そのクリックはアクション●リスト
1108およびアクション・ウインドウ1110の中で
示されている。
第25図馨参照丁ると、会話ボックス宮用いた記録動作
が示されている。手動のプリンタ・フィードのための会
話ボックス1112がユーザに会話の記録を促fポイス
・コントロール・ラン●モダル会話ボックス1114と
共に.ユーザに表示される。ユーザは手動7イード●ボ
タン1116に対丁る音χ記録丁る準備をしている。
第26図を参照すると,ランゲージ●メーカ( Lan
guage Maker )のメニ:L−1118が示
されている。
@27図を参照すると,ユーザは現在の言語を選択し,
それはポイス●コントロールにより、抜ぎ出し(Pop
−up)表示形式で表示されている。
第28図を参照丁ると,ユーザは発声する名称“アップ
ル”1122について発音し、“アップル”のための発
声の再訓練を要求する。ボイス・コントロールは会話ボ
ックス1124により応答し,マイクロホン&C”アッ
プル”と2回言うようにユーザに求める。
第29図ケ参照すると.(ボーカル( Vocal )
によってコンパイルされるべき)ライト・グロダクシ*
 7 ( wr i jet Produc ti O
n )出力77イルノためのランゲージ●メーカ表示が
示されている。
ランゲージ・メーカ表示はかなり直観的であることが第
29図より明らかである。
第30図を参照丁ると,第29図に表示されたようなラ
イト●プロダクション出力ファイルのリストが示されて
いる。
他の実施例 本発明の他の実施例も添記の特許請求の範囲内にある。
例えば、音声認識システムにより制御されるグラフィッ
ク●ユーザーインターフェースはアップル・マツキント
ッシュ・コンピュータのものでなくともよい。認識器は
ドラ″′゜シ3テ”ズ( Dragon system
s ) Kより市販されているもσ〕でなくともよい。
添付の付録Aはボイス●コントロール命令言語の命令文
規則を示しており、付録Bはボイス・ナビゲータ●シス
テムにより用いられろ.マツキントッシュのOSグロー
バルズのうちのいくつか會列挙しており,付録Cはボイ
ス・ナビゲータの実行可能コードのマイクロフィシュで
あり.付録Dはボイス・ナビゲータ●システムのための
開発者用リファレンスーマニュアルであり,付録Eはボ
イス・ナビゲータのユーザ用マニュアルであり,これら
全てを本文に参考として組み入れる。
本特許書類の開示ある部分は著作権保護の対象となるも
の(例えば.表のマイクロフィシュ・ユーザ用マニュア
ルおよびリファレンス●マニュアル)を含んでいる。著
作槓者は特許書類または特許開示物が特許商標局の特許
ファイルまたはレコード中にあるりであるから.その特
許書類または特許開示物の.いかなる者による複製にも
異議な唱えないが,そうでなければ,何であれ全ての著
作W11k保有丁る。
it6mnum) menuname  という名称の
メニ瓢の中の.ttemnum  という名称の項目X
見つげ,それを選択丁る。i temnumがOであれ
ば.メニ=LYそのまま保つ。
Ctlnam6  という名称の制限を見つげ,その長
方形の中に位置づける。
は0−〜9.−,+.X.1.=.およびクリアのため
の00 数字千一バヅド上のキーのためにキーダウンケ置く。
ズーム命令一@zoou フロント●ウインドウのズームーボックスの中に位置づ
ける。
(y.X) フロント・ウインドウの局部(ローカル)座標(V.X
)に位置づける。
(Y.X) 現在のスクリーンの全体(グローバル)座標にα置づけ
る。
現在のスクリーンの全体塵標(y.X)Kおいて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は画素であり,正または負のいづれの値も
とりうる。
ムープ●コンティニュアス命令− M O V I(δ
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り与えられる局部座標へカーソルケ移す。
フボー} ( 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り与え
られる全体座標へカーソル馨移す。スクリーンσ)グラ
フボート馨使用する。
オプション・キーを抑制(または保留)する。
オプション●千一を解放する。
シフト・キーを抑制(または保留)する。
シスト・キー馨解放する。
コマンド・キーを抑制(または保留)する。
コマンド●孝−ヲ解放する。
コントロール・キーを抑制(または保留)丁る。
コントロール●千一χ%放−f” ル。
フロント●ウインドウヲ後ろへ送る。
イレーズ命令一QERAS タイプされた最後のナムチャーズ( numchars
)を消去する。
タイプされる、次の文字を大文字化する。
ラウンテ命令一@LAUN (application
 −name ) application − name  という名称
ノアプリケーションへ進ム。このアプリケーションはレ
ベルが1のみ深いプート●ドライブ( boot dr
ive)上になげればならない。
ウェイト命令一@WAIT(nnn) 認識において何か他のことを行う前に,nnnの時間が
経過丁るのを待つ。
表B:マ1キントッシュのOSグローバルズマッキント
ッシュのオペレーティング●システムとのインターフェ
ースケ行うには,特定の低位のメモリ●グローバルズが
ボイス●コントロールにより管理される必要がある。以
下は最も重要なグローバルズY認■したものである。更
なる情報は” Inside MaOintOSh”,
VOIS,I−VK書かれている。
マクス●グローバルズ( Mouse Globals
 )Mtckey Bytas EQU SD6A− 
カーソル値に対丁るボイノタ;マウスの加速な制御する
のに用いられる。マウスが10画素より多く動かされる
ときは必ずタブレットを指すようにセクトする。
〔ポインタ〕
M Temp gQU 8828一低位のレベルの割込
みのマウス位置; @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次キー(オプション,コマン
ド,シフト,コントロール)χダウンにセットするよう
,そのビットを真にセットする。
〔コロンブス〕
J(rNEFilter EQU S29A−ゲット・
ネクスト●イヘント( Get Next Event
 )7 4 #夕のプロシージャ(proc) ;ゲッ
ト・ネクスト・イベントへの呼び出しを阻止するよう、
ボイス・コントロールのメイン●ループにセットする。
〔ポインタ〕
evtMax Ili:QU SIR一事象待ち行列中
の事象の最大数。この数になると,事象を行列中に置く
こと( Postjng )を止める。
EventQueue EQU S14A一事象待ち行
列のヘッダ,マツキントツシュの事象待ち行列の(ff
置。
〔10バイト〕 タイム●グローバルズ( Time GIOt)als
 )Ticks EQU S 1 6A一時間カウント
.ブート(1)OOt)  からの時間。ボイス●コン
トロールの動作の間の時間経過を計測丁るのに用いられ
る。
カーソル●グローバルズ( Cursor Globa
ls )CrsrCouple EQU S8CF− 
カーソルはマウスに結合しているか? @I,MS E
 および@cMsg Kより遠隔人カχ行っているとき
,カーソル聖切り離丁のに用いられろ。
crsr New gqu SF3CF.一 カー:/
ル}[fl゛たか?カーソルを動かした後,新しいカー
ソルと丁る。〔バイト〕 メニュー●クローバ”X (Menu Gl°bals
)MenuList EQU SAI −現在のmen
u Barのリスト構造。この処理は一つのアプリケー
ションに関係丁る全てのメニュ馨見つげるのに参照され
うる。
ウインドウ●グローバルズ( Window eloo
als)WindOW List EQU S9D6 
−  0次結合されたウインドウのリスト。このポイン
ターは一つのアプリケーションのための全ての存在丁る
ウインドウの連鎖へ導く。全ての局部命令のためのウイ
ンドウの待ち行列を見つげるのに用いる。
ウインドウーオフセット( Window Offse
 ts )これらの値はウインドウの特性を記述するウ
インドウの記録の中のオフセットである。1つのウイン
ドウが開かれると,これらのオフセットは計算するのに
用いられる。
the Port EQU O−GrafPtr ; 
@LMSEおよび@MovL命令のための局部座標。
portRect EQU SIO− ボートのレクタ
ング/l/ ( rectangle ) ( rec
t ) ;  関連ウインドウは@MOVL命令を形或
する。
control List EQU 1 40 − i
つのウインドウに関連する制御を見つげるのに用いられ
る。
00ntrl Title gQtJ 40−  ec
TaLノ命令のための制御タイトル( Title) 
’l比較するのに用いられる。
COntl Rect EQU 8 −  1つの制御
中のクリックの位置を計算するのに用いられる。
next WindOW EQU 144−  @NE
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,補正をす
る者 事件との関係

Claims (1)

  1. 【特許請求の範囲】 1、操作されることによってコンピュータの表示装置上
    のカーソルの動きを制御し、表示装置上のカーソルの位
    置に関連づけられた所望のアクションを指示するタイプ
    のポインティングデバイスの機能を音声に代用させる装
    置であってポインティングデバイスからの制御信号に応
    答してコンピューターのオペレーティングシステムがカ
    ーソルを動かし所望のアクションを支援し、更にコンピ
    ューターが英数字キーボードを有し、オペレーティング
    システムがキーボードによって特定される所定のフォー
    マットに従ってキーボードからの制御信号に別途応答す
    る装置において、 発声された音声を認識する音声認識手段と、発声された
    音声をキーボードによって特定される所定のフォーマッ
    トで表わされる制御信号にいったん変換することなくオ
    ペレーティングシステムによって支援される所望のアク
    ションを直接生成する制御信号に変換する解読手段と、
    を含む装置。 2、発声された音声をあらかじめ定められたコマンド言
    語で表現され、コンピューターのオペレーティングシス
    テムによって使用されるコマンドに変換する方法におい
    て、 発声されたある種の音声は前記オペレーティングシステ
    ムがとるアクションに対応するコマンドに変換し、 発声された別の種の音声は前記オペレーティングシステ
    ムの下で実行されるアプリケーシヨンプログラムにおい
    て処理されるテキストの一部として使用される関連テキ
    ストストリングを運ぶコマンドに変換する方法。 3、発声された音声からコマンドへの変換を支援するた
    めのテーブルを生成する方法であって、前記コマンドは
    コンピュータのオペレーティングシステムの制御に使用
    されて、オペレーティングシステムの下で実行され、メ
    ニューとコントロールボタンを含むアプリケーションプ
    ログラムにおいて所望のアクションを達成する方法にお
    いて、前記アプリケーシヨンプログラムの命令シーケン
    スを構文解析してメニューのエントリーとコントロール
    ボタンを識別し、 前記テーブル内に前記アプリケーションプログラムでみ
    つけられるメニューのエントリーとコントロールボタン
    毎にエントリーを含ませ、それぞれのエントリーに前記
    メニューのエントリー又は、コントロールボタンに対応
    する制御コマンドを含ませる方法。 4、ユーザーが厳密に定義された構文を有する正式言語
    でインスタンスを生成できるようにした方法において、 自然言語で表現され、前記構文に一致しないエントリー
    のリストをグラフィック表示し、ユーザーに前記リスト
    の中からエントリーを指示させ、 前記指示に応答して前記リストの特定されたエントリー
    に対応するインスタンスを自動的に生成する方法。
JP2166537A 1989-06-23 1990-06-25 音声制御コンピュータ・インターフェース Pending JPH03163623A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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