音声入力の入力言語を音声入力コマンドで切り替え(ex. 日本語入力から英語入力)

音声入力の入力言語の切り替えをもっと簡単に、例えば「音声入力コマンド」を使ってできないか考えています。

Mac でテキストを音声入力する - Apple サポート



具体的に、音声入力を日本語から英語に変更したい時は、

1. 「キーボード」のFn+Fnを「タイプ」して、マイクボタンを起動

2. 「トラックパッド」でポインタを「クリック」、日本語を英語に変更

3. 「口」でテキストしたい言葉やコマンドを「話す」

というステップです。

この2のステップでトラックパッドに手を動かしクリックをしたくないので

2.「 口」で音声入力コマンド(たとえば、英語で音声入力のような言葉)を「話し」、日本語を英語に変更

したい。


音声が無理ならせめてキーボードショートカット。


高度なコマンド有効にするにチェックをいれても、適切なコマンドは見つかりませんでした。

Automatorで追加できないかも調べてるのですがうまくできず、できたという人や他にいいアイデアがあれば聞かせてください。

MacBook Pro, Mac OS X (10.6.4)

投稿日 2016/05/21 19:57

返信
返信: 10

2016/05/21 21:47 fanks1978 への返信

失礼致します。 私はMavericksを使える環境が無いので確認ができないのですが、El Capitanでは動作を確認できました。 こちらのサポートにある、『独自の音声入力コマンドを作成する』で対応できましたよ。 例えば、音声コマンド:に、『入力ソースを変更』として、対象:は、『すべてのアプリケーション』で、実施動作:にキーボードショートカット(私は ^ + Spaceで入力ソースを切り替えています)を入力してできました。


 → https://support.apple.com/kb/PH21514?locale=ja_JP&viewlocale=ja_JP


ユーザがアップロードしたファイル

2016/05/21 23:40 fanks1978 への返信

度々、失礼致します。


1)音声入力コマンドを使って、『(コンピュータ)、音声入力環境設定を開く』、『言語をクリック』、『英語をクリック』(あるいは、英語の番号をクリック)などの様に話すことで、言語を変更できそうです。


→ OS X El Capitan: 音声入力コマンドを使用して項目をクリックする


2)Terminal.appのdefaults find dictationコマンドで調べてみたところ、domainが、


com.apple.speech.recognition.AppleSpeechRecognition.prefs


で、Keyが


DictationIMLocaleIdentifier


で音声認識の言語を変更できました(El Capitanの場合)。


なので、Automator.appで音声認識のワークフローを作成する場合は、『Shell Scriptを実行』アクションを使って、


英語(アメリカ合衆国の場合は、en_US)に変更する場合は、


defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier en_US


日本語に変更する場合は、


defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier ja_JP


の各コマンドを実行すると良さそうです。


作成したワークフローをユーザー定義の音声入力コマンドに登録すると良いと思います。

2016/05/22 20:57 fanks1978 への返信

失礼致します。


1)添付して頂いた画像の『Log』の項目を見ると、正常にワークフローが実行できているようです(エラーの場合は、緑色のチェックが表示されない)。 System Preferences.appを表示した状態で、上記のワークフルーを実行した場合、 System Preferences.app>Dictation & Speech>Dictation>Language: の項目の選択表示は、見た目上は変化しません。 一旦、他のパンを表示さるか、System Preferences.appを一旦閉じた後で、再度、言語の項目を表示させてみるとどうでしょう?


2)私が動作確認を行った環境(El Capitanの、Automator.app ver. 2.6)がMavericksと異なるので、defaults writeコマンドで指定できるdomain名やkeyの名前も異なっているかもしれないです。 Terminal.appで、


defaults read com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier


のコマンドを実行した際に、ja_JPか、en_USが返ってくるかどうか確認してみてください。エラーになる場合は、domain名やkeyの名前が異なっているかもしれないです。 その場合、defaults find dictationコマンドを実行して、それっぽいdomainとkeyを探してみてください。


3)Automator.appの新規ワークフロー作成画面で、Dictation Commandを選択すると、添付して頂いた画像とは少し異なる編集画面になります。 OSの違いが原因かもしれないですが、Dictation Commandのワークフローの編集画面になっているかどうかを確認してみてください。


ユーザがアップロードしたファイル

ユーザがアップロードしたファイル

2016/05/23 08:05 T22T への返信

わかりやすい説明ありがとうございます。とても勉強になります。

結論を言うと、音声入力システムのバグではないかと思います。


画像のように「英語で入力」と音声入力コマンドは認識し、Dictation Commandsのウィンドウだけ英語に変わり、マイクは英語に変わらずテキストは日本語で入力されます。英語から日本語でも同じ現象が発生します。

ユーザがアップロードしたファイル

念のため質問にも解凍しておきます。

1) 一旦閉じたら変更されていました。

2) en_USとかえってきます。

つまり、Shell Scriptは機能していますね。

3)

ユーザがアップロードしたファイル

2016/05/24 20:29 fanks1978 への返信

度々、失礼致します。 


1)私の環境でも同様の現象を確認できました(確認不足ですみません)。 システム環境設定.appで言語の項目をクリックして直接変更した場合は、正常に音声入力の言語が変更されるのに対して、上記のdefaults writeコマンドでは、マイクや音声入力コマンドのリストの言語は変更になるものの、入力される言語は変化しないということは、何らかの不足がありそうだと考えました。 そこで、ネット上の情報を調べたところ、こちらのページに参考となるような情報が掲載されていました(2012年の情報)。 DictaionIMのプロセスを再起動する必要があるようです。 但し、私の環境(El Capitan)では、killall -HUP DictaionIM等のコマンドを追加しても、入力される言語は変更されなかったので、OSの違いが影響しているのかもしれないです。


→ http://apple.stackexchange.com/questions/59323/how-can-i-change-the-language-for-dictation-on-the-fly


2)同じページにはAppleScriptのGUI Scriptingの機能を使って、システム環境設定の言語の項目を変更するスクリプトも紹介されています。 実際に動かして様子を見る必要もありそうです。


3)マイクの下側に選択中の言語が表示されていますが、これをクリックしても音声認識の言語を変更でき、実際に入力される言語も正常でした。 (但し、実際にコマンドを受け付けるまで10秒程度置く必要がありました)

ユーザがアップロードしたファイル

2016/05/26 05:13 fanks1978 への返信

AppleScriptのGUI Scriptingについては、こちらのスレッドの説明が解りやすいと思います。 Automator.appの Dictation Commandのワークフローに『Run AppleScript』アクションを追加して、これを入れてやると良いと思います。 実行時にはSystem Preferences.appが起動してしまうので、Shell Scriptを使う場合よりも、ぎこちないというか、少し遅いというか、複雑な動きになります。


 → https://discussions.apple.com/message/28022214#28022214

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

音声入力の入力言語を音声入力コマンドで切り替え(ex. 日本語入力から英語入力)

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。