私はMacOS Xのテキスト読み上げ機能が大好きです。私は英語を母国語としないので、Lionが登場してから追加されたすべての言語にとても満足しています。しかし、私は母国語(ドイツ語)だけでなく英語も使用しています。声を変えるのは少し苦痛です。快適にするには、必要な手順が多すぎます。
これを簡単にする方法はありますか?私はショートカットを探していました。おそらく、右隅のどこかにあるドロップダウンメニューで、何でも問題ありません。
検索が成功しなかったので、ここSuperUserでアドバイスを見つけたいと思います。どうもありがとう!
cuローマン
FastScriptsを使用して、このスクリプトにショートカットを割り当てました。
try
set old to the clipboard as record
end try
try
tell application "System Events" to keystroke "c" using command down
delay 0.05
say (the clipboard) using "Kyoko"
end try
try
set the clipboard to old
end try
Automatorでサービスを作成することもできます。
10.7と10.8にはバグがあり、メニューバーからサービスメニューにカーソルを合わせるまで、Automatorサービスのショートカットが常に機能するとは限りません。 WorkflowServiceRunnerは、テキストを話しているときに100%を超えるCPUを使用することもできます。
もう1つのオプションは、UIスクリプトを使用して2つの音声を切り替えることです。
tell application "System Preferences"
reveal anchor "TTS" of pane "com.Apple.preference.speech"
end tell
tell application "System Events" to tell process "System Preferences"
tell pop up button 1 of tab group 1 of window 1
click
delay 0.1
if value is "Alex" then
click menu item "Victoria" of menu 1
else
click menu item "Alex" of menu 1
end if
end tell
end tell
quit application "System Preferences"
Com.Apple.speech.voice.prefs.plistのSelectedVoiceIDキーの変更も機能しますが、変更をすぐに適用する方法がわかりません。
ラウリーありがとうございます。
ドイツ語と英語の音声で適切に機能するように、UIスクリプトのアプローチを拡張しました。問題は、システム言語が英語でない場合、システム以外のすべての言語が非表示になることです(現在選択されていない場合)。選択する必要があります:希望の言語に到達するために、最初にもっと多くの声を表示します。私のコードは少し優雅さが欠けていますが、機能します。ここにあります(更新されました):
tell application "System Preferences"
reveal anchor "TTS" of pane "com.Apple.preference.speech"
end tell
set tom to 0
tell application "System Events" to tell process "System Preferences"
tell pop up button 1 of tab group 1 of window 1
click
delay 0.2 -- without this the value was sometimes "Loading Voices…"
if value is "Tom" then
click menu item "Anna" of menu 1
else
click menu item "Mehr Stimmen anzeigen" of menu 1 -- show up all available voice
set tom to 1
end if
end tell
end tell
if tom is 1 then
delay 0.5
tell application "System Events" to tell process "System Preferences"
tell pop up button 1 of tab group 1 of window 1
click
delay 0.2 -- without this the value was sometimes "Loading Voices…"
click menu item "Tom" of menu 1
end tell
end tell
end if
quit application "System Preferences"
bash-script Voices を取得した場合、~/Library/Preferences/com.Apple.speech.voice.prefs.plist
を直接変更する必要はありません。これにより、必要なすべてのコマンドライン機能が実際に追加されます。
Apple Voicesを使用して標準の音声をAlexに変更するスクリプトは、次のようになります。
on run
do Shell script "voices -d Alex"
end run
私は端末を好みます。多言語メニューバーの侵入をテストする代わりに、言語切り替えのニーズに合わせて、この(明らかに単純で愚かな)シェルスクリプト(音声を使用)を作成しました。これで、デフォルトの言語を変更するために私がすることは、ターミナルにポップしてspeak swedish
またはspeak french
と入力することだけです。これは私のワークフローに非常によく合います。私はあなたがあなたに合った解決策を見つけることができることを願っています。
# Choose a voice in one of some selected languages
# Use "voices" from https://github.com/mklement0/voices#manual-installation
if [[ $1 = "" ]]
then
echo "ERROR. No language specified. Type a language as in 'speak hebrew'"
fi
if [[ $1 = "swedish" || $1 = "Swedish" ]]
then
voices -d Klara
fi
if [[ $1 = "english" || $1 = "English" ]]
then
voices -d Daniel
fi
if [[ $1 = "american" || $1 = "American" ]]
then
voices -d Alex
fi
if [[ $1 = "french" || $1 = "French" ]]
then
voices -d Aurelie
fi
if [[ $1 = "spanish" || $1 = "Spanish" ]]
then
voices -d Jorge
fi
スクリプトに「speak.command」として保存し、chmod + xし、適切なエイリアスを.bash_profileに追加して、speak
と入力して呼び出します。