ボイス link
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
変数を使うとボイスファイルの名前をカスタマイズして、ディレクトリーと拡張子を省略できるようにします。
自動ボイス link
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
ファイルを探し、ファイルが存在すれば再生します。
多言語音声 link
Ren'Py の翻訳システムを利用して、複数の言語にゲームを吹き替える場合、 画像とファイルの翻訳 を利用できます。原語が英語、吹き替え版がフランス語のゲームで、次のようなダイアログがある場合
voice "omelette.ogg"
e "I like scrambled eggs with cheese..."
英語版を game/omelette.ogg
に、フランス語版を game/tl/french/omelette.ogg
に配置すると、ゲーム内でフランス語が有効になったとき、 Ren'Py はフランス語版を使用するようになります。
自動音声の場合も、 game/tl/<language>
から始まる翻訳ファイルのファイルパスと、 game/
から始まるオリジナルファイルのファイルパスが一致すれば、同じように動作します。
ボイスの関数 link
- _get_voice_info() link
現在の say ステートメントで再生されているボイスの情報を返します。この関数は say ステートメントの実行中のみ呼び出されます。
返されたオブジェクトは以下のフィールドを持ちます。
- VoiceInfo.filename link
再生されたボイスのファイル名か、ファイルが再生されていないなら None です。
- VoiceInfo.auto_filename link
Ren'Py が自動ボイスのために探したファイル名で、見つからなければ None です。
- VoiceInfo.tag link
話しているキャラクターに与えられた voice_tag パラメーターです。
- VoiceInfo.sustain link
ファイルがこのインタラクション中に再生されていたら False, 以前のインタラクションから継続していたら True です。
- voice(filename, tag=None) link
filename をボイスチャンネルで再生します。 voice ステートメントに相当します。
- filename
再生するファイルの名前です。この値は
config.voice_filename_format
とともに使用されて、再生されるファイルの名前となります。- tag
この値は None にするか、または再生するボイスタグの文字列にします。None の場合は次のインタラクションを起こすキャラクターの voice_tag がデフォルトとなります。
ボイスタグは、どのキャラクターが話しているかを指定するために使われ、各々のキャラクターのボイスをミュートにするかどうかをユーザーが切り替えられるようにします。
- voice_can_replay() link
現在のボイスをもう一度再生できる場合に true を返します。
- voice_replay() link
可能であれば現在のボイスを再度再生します。
- voice_sustain(ignored='', **kwargs) link
voice sustain ステートメントと等価です。
ボイスのアクション link
- PlayCharacterVoice(voice_tag, sample, selected=False) link
voice チャンネルで voice_tag のキャラクターが話すかのように sample を再生します。
- sample
音声ファイルのフルパスです。
- selected
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) link
mute が true の場合は、与えられた voice_tag で再生されるボイスをミュートにします。 mute が false の場合は、 voice_tag で再生されるボイスのミュートを解除します。
- ToggleVoiceMute(voice_tag, invert=False) link
voice_tag のミュート状態を切り替えます。基本的に与えられたタグがミュートのときに選択状態になりますが、 invert が true の場合はミュートでない時に選択状態になります。
- VoiceReplay() link
最も最近に再生されたボイスを再度再生します。