Ren'Py では台詞と同時にボイスを再生出来ます。このためには voice
ステートメントで再生するボイスファイルの名前を指定します
voice "line0001.ogg"
"Welcome to Ren'Py"
通常再生中のボイスは次の動作が始まると停止されます。 voice sustain
ステートメントを使うと次の動作にもまたがってボイスの再生を続けます。:
voice "line0001.ogg"
"Welcome to Ren'Py..."
voice sustain
"... your digital storytelling engine."
config.voice_filename_format
変数を使うとボイスファイルの名前をカスタマイズして、ディレクトリーと拡張子を省略できるようにします。
Ren'Py にはボイスタグ機能が含まれており、特定キャラクターのボイスをミュートするかどうか選択できます。このシステムを利用するにはそれぞれの Character()
に voice_tag
引数を与え、 SetVoiceMute()
または ToggleVoiceMute()
アクションを使ってプレイヤーがボイスの切り替えをできるようにします。
例
define e = Character("Eileen", voice_tag="eileen")
define l = Character("Lucy", voice_tag="lucy")
screen voice_toggle:
vbox:
textbutton "Mute Eileen" action ToggleVoiceMute("eileen")
textbutton "Mute Lucy" action ToggleVoiceMute("lucy")
label start:
show screen voice_toggle
voice "e01.ogg"
e "You can turn a character's voice on and off."
voice "l01.ogg"
l "Yeah! Now I can finally shut you up!"
voice "l02.ogg"
l "Wait... that means they can mute me as well! Really?"
Ren'Py は再生するボイスファイルの自動的な決定をサポートしており、台詞毎に voice ステートメントを書かなくてもボイスを再生出来るようにします。
これは各行の台詞に対応する識別子と一致するボイスファイルを作成して行われます。使用する識別子の決定には先ずランチャーから「 Extract Dialogue 」、「 Tab-delimited Spreadsheet (dialogue.tab) 」、「 Continue 」を選択して台詞をスプレッドシートに出力します。これはスプレッドシートのプログラムでロード可能な dialogue.tab ファイルを作成します。
スプレッドシートの最初の行は使用する識別子で、他の行には台詞のより詳しい情報が載ります。
Ren'Py でボイスを自動的に再生させるには、config.auto_voice
に {id}
を含む文字列を設定してください。台詞が表示されると、 {id}
が台詞の識別子に置き換えられ、ファイル名となります。そのファイル名が見つかれば、再生されます。
例えば以下のようなスクリプトがあり、
config.auto_voice = "voice/{id}.ogg"
台詞の識別子が demo_minigame_03fc91ef
なら、対応する行が表示されるとRen'Py は voice/demo_minigame_03fc91ef.ogg
ファイルを探し、ファイルが存在すれば再生します。
_get_voice_info
() link現在の say ステートメントで再生されているボイスの情報を返します。この関数は say ステートメントの実行中のみ呼び出されます。
返されたオブジェクトは以下のフィールドを持ちます。
VoiceInfo.
filename
link再生されたボイスのファイル名か、ファイルが再生されていないなら None です。
VoiceInfo.
auto_filename
linkRen'Py が自動ボイスのために探したファイル名で、見つからなければ None です。
VoiceInfo.
tag
link話しているキャラクターに与えられた voice_tag パラメーターです。
VoiceInfo.
sustain
linkファイルがこのインタラクション中に再生されていたら False, 以前のインタラクションから継続していたら True です。
voice
(filename, tag=None)filename をボイスチャンネルで再生します。 voice ステートメントに相当します。
再生するファイルの名前です。この値は config.voice_filename_format
とともに使用されて、再生されるファイルの名前となります。
この値は None にするか、または再生するボイスタグの文字列にします。None の場合は次のインタラクションを起こすキャラクターの voice_tag がデフォルトとなります。
ボイスタグは、どのキャラクターが話しているかを指定するために使われ、各々のキャラクターのボイスをミュートにするかどうかをユーザーが切り替えられるようにします。
voice_can_replay
() link現在のボイスをもう一度再生できる場合に true を返します。
voice_replay
() link可能であれば現在のボイスを再度再生します。
voice_sustain
(ignored=u'', **kwargs) linkvoice sustain ステートメントと等価です。
PlayCharacterVoice
(voice_tag, sample, selected=False) linkvoice チャンネルで voice_tag のキャラクターが話すかのように sample を再生します。
音声ファイルのフルパスです。
True なら、このアクションを使用するボタンは sample が再生中は selected としてマークされます。
SetCharacterVolume
(voice_tag, volume=None) link各キャラクターのボリュームを調整出来るようにします。 volume が None なら、 voice_tag のボリュームの値を変更する BarValue を返します。そうでなければ voice_tag を volume に設定します。
volume は 0.0 から 1.0 までの数字で、 voice チャンネルに対するミキサーボリュームの割り合いとして解釈されます。
SetVoiceMute
(voice_tag, mute) linkmute が true の場合は、与えられた voice_tag で再生されるボイスをミュートにします。 mute が false の場合は、 voice_tag で再生されるボイスのミュートを解除します。
ToggleVoiceMute
(voice_tag, invert=False) linkvoice_tag のミュート状態を切り替えます。基本的に与えられたタグがミュートのときに選択状態になりますが、 invert が true の場合はミュートでない時に選択状態になります。
VoiceReplay
(*args, **kwargs) link最も最近に再生されたボイスを再度再生します。