1

NSSpeechSynthesizerクラスを使用してテキストを読み取るOSXアプリがあります。rateのプロパティを使用して行われる読み取りの速度を設定できる必要がありますNSSpeechSynthesizer。ただし、音声が異なれば、ベースラインの読み上げ率も範囲も異なります。問題は、音声からこの範囲を取得する方法が見つからないため、音声に受け入れられる値がわからないことです。範囲の違いから抽象化して、ユーザーに低速/通常/高速などを選択させたいので、これは重要です。ただし、ベースラインが1分間に180ワードの音声の場合、値100は遅いと見なされます。これは、ベースラインが1分あたり100ワードの音声の場合には明らかに当てはまりません。

それらの範囲を取得する方法はありますか?のクラスリファレンスで役立つものは見つかりませんでしたNSSpeechSynthesizer

4

2 に答える 2

1

変更する前に音声のレートを取得でき、許容範囲はデフォルトのレート±50WPMなどであると見積もることができます。

とはいえ、これを使用してスライダーを設定する場合は、ユーザーを「自然な」音の範囲のみに制限しないように注意してください。多くの視覚障害者を含む一部の人々は、リスニング時間を節約するために、立ち上がることができる限り速く意図的にそれをクランクアップします。

于 2011-12-07T20:34:21.363 に答える
0

まあ、これはあなたが探していた答えではないことを私は知っていますが、私が知る限り、AppleはNSSpeechSynthesizerオブジェクトのインスタンスのベースライン速度を変更する方法を一般に公開していません(これは、あなたが言ったように、「レート」インスタンスがありますが、それはそれぞれの異なる声に対して一定のレートを作ることはできません)。このため、そしてあなたがそれを気に入らないことを私は知っています、あなたはそれらがほぼ一致するまで遅いものをより速くそしてより速いものを遅くしなければならないでしょう。申し訳ありませんが、私が知る限り、Appleはベースラインレートを変更する方法を提供していません。ハッピーコーディング!

〜Monkeyanator

于 2011-12-06T12:22:16.513 に答える