Ren'Py は、音声合成機でテキストやその他のインターフェイス要素を読み上げる、セルフボイシング機能に対応しています。これは、Ren'Py のゲームで視覚障害者の操作性を向上を目的としています。
セルフボイシングモードは、v
キーにより切り替えられます。
セルフボイシングモード中はキーボードナビゲーションが変更され、上下矢印キーにより、画面上のすべてのフォーカス可能な displayable を辿ることが可能となります。
displayable がフォーカスされると、Ren'Py は displayable に関連付けられたテキストを発話します。displayable がフォーカスされていない場合は、Ren'Py は画面上のフォーカス不可能なテキストを発話します。これは一般に、会話や、ゲームを構成するその他のテキストを含みます。
Ren'Py はオペレーティングシステムが提供する音声合成サービスに依存しています。音声合成の速度や使われる声を調整するには、お使いのプラットフォームの発話設定を調整してください。
Windows では、Ren'Py は Microsoft Speech API を使用します。音声合成の設定は、「音声認識」コントロールパネルの「音声合成」タブから変更できます。
Mac OS X では、Ren'Py は say
コマンドを使用します。音声合成の設定は、「音声入力と読み上げ」コントロールパネルの「テキスト読み上げ」タブから変更することができます。
Linux では、Ren'Py は espeak
コマンドを使用します。セルフボイシング機能を動かす前に、パッケージマネージャーで espeak をインストールしておく必要があります。
Android, iOS, Chrome OS ではセルフボイシング機能に対応していません
config.tts_voice
変数を使用するとプラットフォームによってデフォルトのボイスが選択出来ます。
init python:
if renpy.windows:
config.tts_voice = "Mark"
elif renpy.macintosh:
config.tts_voice = "Alex"
elif renpy.linux:
config.tts_voice = "english_rp"
利用可能なボイスはプラットフォームにより異なります.
Ren'Py のセルフボイシング機能は、displayable からテキストを抽出し、プレイヤーに対して読み上げます。Ren'Py は2つの場所からテキストを抽出します。
Ren'Py は Text displayable からテキストを抽出し、プレイヤーに対して読み上げられるようにします。
代替テキストは、displayable の alt
スタイルプロパティーで与えられます。テキストとして、ボタンに与えられるアクションや、バーに与えられる値も可能です。
代替テキストは Ren'Py の文字列翻訳システムを使用して翻訳されます。代替テキストは displayable やその子から取り出したテキストより優先されますが、そのような子のテキストでは "[text]" のような文字列置換が利用可能です。他の文字列置は許可されません。
例
screen information(message, planet, badness):
text message:
color color_from_badness(badness)
alt "Information for you : [text]. Badness is " + str(badness)
text "ORIGIN_OF_MESSAGE_{color=#f00}[planet!u]{/color}":
alt "Origin of message is " + planet
上記の例では badness
と planet
変数は "[badness]" のように使用して直接は置換できません。手動での文字列結合をしてください。
who_alt や what_alt パラメーターを Character に与えると、それぞれそのキャラクター名と本文に alt スタイルプロパティーが設定されます。例えば通常はイタリックの使用で思考であることを示し、セルフボイシングではその内容で思考であることを明示するキャラクターを定義します。
define thought = Character(None, what_italic=True, what_alt="I think, [text]")
叙述テキストはセルフボイシング有効時にナレーターによって表示される ( 話される ) テキストです。セルフボイシングが無効だとテキストは表示されません。セルフボイシングテキストはキャラクター同様に定義される sv
変数を使用します。
alt
= ... linkセルフボイシング有効時にテキストをナレーターに読み上げさせる character ライクなオブジェクトです。
例
e "Hang on, this is gonna be a bumpy ride!"
alt "And then the sun exploded..."
# A complex and exciting cut scene.
show event sun_exploding
pause 10
叙述テキストを制御する変数もあります。
config.descriptive_text_character
= None linkナレーターの代わりに叙述テキストを表示するキャラクターオブジェクトか、 None を指定するべきです。
Shif+alt+V でセルフボイシングデバッグモードになります。これは、読み上げるテキストをスクリーン上に表示する開発目的の機能です。