ボイス 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 にはボイスタグ機能が含まれており、特定キャラクターのボイスをミュートするかどうか選択できます。このシステムを利用するにはそれぞれの 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?"

自動ボイス 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_tagvolume に設定します。

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

最も最近に再生されたボイスを再度再生します。