質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Q&A

解決済

2回答

802閲覧

アクセシビリティの読み上げ機能の上限値の限界を超える方法

Kchan_01

総合スコア110

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

0グッド

0クリップ

投稿2020/04/23 06:11

編集2020/04/23 13:51

Macのアクセシビリティにある読み上げ機能で画面上で設定できる上限値を超えることは可能でしょうか。
調べてみたところ、speaking rateの設定は、terminalで -r をつけることでrateを設定できるようです。

確認したところ、kyokoでの読み上げ設定の上限値は720でした。
環境設定でバーを使って設定できる上限値は、rate 350です。
デフォルトで720に設定することは可能でしょうか。

terminal

1say hello -r 720

もし可能だとしたら、
/Library/Preferences/ByHost/
にある設定ファイルの中からplutilコマンドを使用して、設定変更ができるかと思うのですが、どこで設定されているのか調べる方法がわかりません。

ご存知の方がいらっしゃいましたら教えて下さい。

##参考にしたサイト
macos - Is it possible to change the speech rate in OS X say command? - Super User
https://superuser.com/questions/679099/is-it-possible-to-change-the-speech-rate-in-os-x-say-command

##追記 2020/04/23 15:32
Techniques for Customizing Synthesized Speech
https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/SpeechSynthesisProgrammingGuide/FineTuning/FineTuning.html#//apple_ref/doc/uid/TP40004365-CH5-SW3

上記のサイトの記述からSpeech SynthesisでSpotlightで検索すると下記のファイルが引っかかりました。

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AVFoundation.framework/Versions/A/Frameworks/AVFAudio.framework/Versions/A/Headers/AVSpeechSynthesis.h

ファイル内に下記のような記述があることから、このファイルがspeech機能の根幹を担っているようであると判断しました。おそらく、このファイルがどの設定ファイルを参照しているかわかれば、そこを辿って、上限値を設定できると思うのですが、このAVSpeechSynthesis.hというファイルからrateの参照先を調べる方法はありますでしょうか。

extern const float AVSpeechUtteranceMinimumSpeechRate API_AVAILABLE(ios(7.0), watchos(1.0), tvos(7.0), macos(10.14)); @property(nonatomic) float rate; // Values are pinned between AVSpeechUtteranceMinimumSpeechRate and AVSpeechUtteranceMaximumSpeechRate.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

今頃気がついたので、すでに解決済みのようですが...

macOS の Preferences の plist であれば、Python 等を使わなくても macOS の defaults コマンドで読み書き可能です。

読み出しは、

defaults read com.apple.speech.voice.prefs VoiceRateDataArray

で、

( ( 1886745202, 369275107, 180 ) )

のように参照できて、書き込みは

defaults write com.apple.speech.voice.prefs VoiceRateDataArray " ( ( 1886745202, 369275107, 400 ) )"

のような感じで、書き込み可能です。

投稿2020/04/23 13:48

編集2020/04/23 13:51
CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

grepで見つけました。設定ファイルを直接書き換えるので、やる人は自己責任でお願いします。

terminal

1plutil -convert json ~/Library/Preferences/com.apple.speech.voice.prefs.plist -o - | python -c 'import json, sys;d=json.load(sys.stdin);[x.__setitem__(-1, 720) for x in d["VoiceRateDataArray"]];json.dump(d, sys.stdout)' | plutil -convert binary1 -o ~/Library/Preferences/com.apple.speech.voice.prefs.plist - 2 3killall com.apple.speech.speechsynthesisd 4killall SpeechSynthesisServer

投稿2020/04/23 09:22

Kchan_01

総合スコア110

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問