オーディオ link

Ren'Py は以下のフォーマットのファイルを使用したバックグラウンドでの音楽、効果音再生をサポートしています。

  • OPUS
  • OGG Vorbis
  • MP3
  • WAV (非圧縮 PCM のみ)

Ren'Py は任意の数のオーディオチャンネルをサポートしています。デフォルトでは 3 つのノーマルチャンネルが定義されています。 :

  • music - 音楽再生用チャンネル。

  • sound - サウンドエフェクト用チャンネル。

  • voice - ボイス再生用チャンネル。

ノーマルチャンネルはオーディオの再生、キューに対応しますが、同時にひとつのオーディオファイルのみ再生します。新しいノーマルチャンネルは renpy.music.register_channel() で登録されます。

ゲーム内で設定画面の 'Music Volume', 'Sound Volume', 'Voice Volume' を設定してそれぞれのチャンネルの個々のボリュームを設定できます。

ノーマルチャンネルに加えて、特別なチャンネル audio があります。この audio チャンネルは同時に複数のオーディオの再生をサポートしますが、サウンドのキューや再生の停止はサポートしません。

サウンドはボタンや選択肢、イメージマップがフォーカスを持つか押されると再生するようにも設定出来ます。 Button Style Properties を参照してください。 2 つの設定変数 config.main_menu_musicconfig.game_menu_music それぞれ指定されたオーディオファイルをメインメニューとゲームメインメニューで再生するように出来ます。

ゲーム中に、 Ren'Py で曲と効果音を再生する通常の方法は 3 つの music/sound ステートメントを使用することです。

play ステートメント link

play ステートメントは曲や効果音を再生するために使用されます。ファイルが通常のノーマルチャンネルで再生中なら、停止して新しいファイルで置き換えます。

チャンネル名がキーワード play に続くことが期待されます。 ( 通常これは「sound 」、「 music 」「 voice 」のいずれかです。 ) この後にはオーディオファイルかファイルのリストが続きます。リストが指定されるとその要素が順番に再生されます。

fadeinfadeout 節は任意です。 fadeout は現在再生中の曲をフェードアウトする時間を秒数で指定し、 fadein は新しい曲をフェードインするのにかかる時間を指定します。 fadeout が指定されていないと、 config.fade_music が使用されます。

loop, noloop 節も任意です。 loop 節は曲をループし、 noloop 節は一度だけ再生します。両方とも指定されない場合はチャンネルのデフォルトが使用されます。

play music "mozart.ogg"
play sound "woof.mp3"
play myChannel "punch.wav" # 'myChannel' needs to be defined with renpy.music.register_channel().

"We can also play a list of sounds, or music."
play music [ "a.ogg", "b.ogg" ] fadeout 1.0 fadein 1.0

この auido チャンネルでは複数の play ステートメントで同時に複数のサウンドを再生します。

play audio "sfx1.opus"
play audio "sfx2.opus"

stop ステートメント link

stop ステートメントはキーワード stop で始まり、ストップする チャンネルが続きます。任意で fadeout 節も持ちます。

stop sound
stop music fadeout 1.0

queue ステートメント link

queue ステートメントはオーディオファイルをキューするために使用されます。それらはチャンネルが現在再生中のファイルを終了すると再生されます。

queue ステートメントはキーワード queue で始まり、再生するチャンネルの名前が続きます。任意で loopnoloop 節を取ります。

queue sound "woof.ogg"
queue music [ "a.ogg", "b.ogg" ]

これらのステートメントを使用する利点は lint を実行時にオーディオファイルの消失をチェック出来ることです。以下の関数は曲と効果音を python から制御出来るようにし、 ( 滅多に使用されませんが ) 先進的な機能を利用するために存在します。

部分再生 link

Ren'Py はオーディオファイルの部分的な再生をサポートします。このためにはファイルの始めの山括弧のなかで位置を指定します。部分再生指定は適切な名前と値のペアからなり、それぞれスペースで区切られます。

値はファイルの開始からの秒数と解釈されます。3つのプロパティー :

from

最初に再生を開始するときの位置を指定します。 (デフォルトでは 0.0 秒)

to

最初に再生を停止する位置を指定します。 (デフォルトでは 0.0 秒)

loop

二回目からの再生開始位置を指定します。 (デフォルトでは from で指定された開始位置またはそのファイルの開始位置です。 )

play music "<from 5 to 15.5>waves.opus"

5 秒から開始し、 10.5 秒間 waves.opus を再生します。

play music "<loop 6.333>song.opus"

song.opus を一回再生すると、 6.333 秒からループします。

Playing Silence link

3.0 秒の無音が欲しい場合、 "<silence 3.0>" のような名前のファイル名を使用して、指定された時間無音を再生できます。これにより再生位置を遅延できます。 例

play audio [ "<silence .5>", "boom.opus" ]

0.5 秒の無音の後、爆発音を再生します。

Audio ネームスペース link

playqueue ステートメントは audio ネームスペースでその引数を評価します。これにより define ステートメントでオーディオファイルにエイリアスを定義出来ます。

例えばこのように書くと

define audio.sunflower = "music/sun-flower-slow-jam.ogg"

このように使用します。

play music sunflower

関数 link

サウンドの関数 link

ほとんどの renpy.music 関数は renpy.sound にエイリアスを持ちます。これらの関数はデフォルトで music チャンネルではなく sound チャンネルに設定されており、ループしないことを除いて同じです。