ボイス link

Ren'Py includes support for playing back voice in conjunction with dialogue. This is done through the voice statement, which gives the voice filename to play:

voice "line0001.ogg"
"Welcome to Ren'Py"

Normally, a playing voice is stopped at the start of the next interaction. The voice sustain statement can sustain voice playback through an interaction.

voice "line0001.ogg"
"Welcome to Ren'Py..."

voice sustain
"... your digital storytelling engine."

config.voice_filename_format 変数を使うとボイスファイルの名前をカスタマイズでき、ディレクトリーと拡張子を省略できるようになります。

ボイスタグ link

Ren'Py includes a voice tag system that makes it possible to selectively mute or unmute a character's voice. To take advantage of this system, supply a voice_tag argument to each Character(), and use the SetVoiceMute() or ToggleVoiceMute() actions to allow the player to toggle the voice.

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 ステートメントを書かなくてもボイスを再生出来るようにします。

This is done by creating voice files that match the identifier for each line of dialogue. To determine the identifiers to use , first export the dialogue to a spreadsheet by choosing from the launcher "Extract Dialogue", "Tab-delimited Spreadsheet (dialogue.tab)", and "Continue". This will produce a file, dialogue.tab, that can be loaded in a spreadsheet program.

スプレッドシートの最初の行は使用する識別子で、他の行には台詞のより詳しい情報が載ります。

To make Ren'Py automatically play voices, set config.auto_voice to a string containing {id}. When dialogue occurs, {id} is replaced with the dialogue identifier, forming a filename. If the filename exists, it is played.

例えば以下のようなスクリプトがあり、

config.auto_voice = "voice/{id}.ogg"

台詞の識別子が demo_minigame_03fc91ef なら、対応する行が表示されるとRen'Py は voice/demo_minigame_03fc91ef.ogg ファイルを探し、ファイルが存在すれば再生します。

ボイスの関数 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 if the file was played as part of this interaction. True if it was sustained from a previous interaction.

voice(filename, tag=None)

filename をボイスチャンネルで再生します。 voice ステートメントと等価です。

filename

再生するファイルの名前です。この値は config.voice_filename_format とともに使用されることで、再生されるファイルの名前となります。

tag

この値は None にするか、または再生するボイスタグの文字列にします。None の場合は、既定値として次の動作におけるキャラクターの voice_tag となります。

ボイスタグは、どのキャラクターが話しているかを指定するために使われ、各々のキャラクターのボイスをミュートにするかどうかをユーザーが切り替えられるようにします。

voice_can_replay() link

現在のボイスをもう一度再生できる場合に true を返します。

voice_replay() link

可能であれば現在のボイスを再度再生します。

voice_sustain(ignored=u'', **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 のボリュームの値を変更する value を返します。そうでなければそれを 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(*args, **kwargs) link

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