Difference between revisions of "Tutorial:Audio (日本語)"

(New translation)
Line 1: Line 1:
LÖVEのオーディオは[[love.audio]]モジュール内で、OpenALを利用して再生されます。love.audioは[[Source]]という単一のオーディオオブジェクトを持っています。下記のようにして、読み込んで再生できます。
+
LÖVE では、音声は [[love.audio (日本語)|love.audio]] モジュールの領域であり、OpenAL を使用して再生されます。 love.audio には単一の音声オブジェクト型 - [[Source (日本語)|Source]] があります。このようにすると音声を読み込んで再生することができます:
 
<source lang="lua">
 
<source lang="lua">
sound = love.audio.newSource("pling.wav", "static") -- the "static" tells LÖVE to load the file into memory, good for short sound effects
+
sound = love.audio.newSource("pling.wav", "static") -- "static" はファイルを一括でメモリへ読み込むことを LÖVE に指定します。短い効果音に対して適しています。
music = love.audio.newSource("techno.ogg") -- if "static" is omitted, LÖVE will stream the file from disk, good for longer music tracks
+
music = love.audio.newSource("techno.ogg") -- "static" を省略した場合は、ファイルを段階的にメモリへ読み込むことを LÖVE に指定します。長めの楽曲に対して適しています。
love.audio.play(sound)
+
sound:play()
love.audio.play(music)
+
music:play()
 
</source>
 
</source>
  
== フォーマットについて ==
+
== 対応形式 ==
 +
 
 +
LÖVE は [[love.sound (日本語)|love.sound]] モジュールのお陰で、多数の音声形式に対応しており、全て復号化して扱います。次のものが対応形式として該当します:
  
LÖVEは沢山のオーディオフォーマットに対応しています。ありがとう、[[love.sound]]。対応しているファイルフォーマットは下記の通りです。
 
 
* MP3
 
* MP3
* OGG
+
* Ogg Vorbis
* WAV
+
* WAVE
* 他にもいわゆる「tracker」フォーマット - XM, MIDI, MODの他、12種類ものフォーマットに対応しています。(訳者注:trackerは日本国外ではわりと著名な音楽制作ソフトの1カテゴリなんですが、日本でマニアックなフォーマットかも。ご注意。)
+
* また各種トラッカー形式に関しても熟考することができます。 ― XM, MOD, [http://sourceforge.net/p/modplug-xmms/git/ci/master/tree/libmodplug/README#l39 およびその他にも二十種類以上の形式]。
 +
 
 +
推奨形式は Ogg Vorbis および 16-bit WAVE です。その他の形式は細かい部分で奇癖がある場合があります。例えば MP3 復号器では、使用された符号器に依存するサンプルへ詰め物を挿入する場合があります。これらの問題は音声ファイルを復号化するために LOVE が使用しているライブラリによるものであり LÖVE 内部で直接的な修正を行うことができません。
 +
 
 +
== 静的と段階的の比較 ==
 +
 
 +
留意して欲しいことは、 <code>[[love.audio.newSource (日本語)|love.audio.newSource]]</code> の第二引数へ "static" を渡した場合は、音声ファイルはメモリへ展開されるため、従ってこの方法にて 5MB の .ogg ファイルを読み込むと、 RAM を ~50MB ほど消費して展開されてしまいます。このような場合は "static" を使用しないことを考慮してください。
 +
 
 +
"static" を省略した場合は音声ファイルは演奏しながら段階的に読み込まれるため、重量級のファイルを取り扱う場合は多くのメモリを節約することができます。
  
== 静的読み込み vs. ストリーミング ==
+
== 音声制御 ==
  
<code>[[love.audio.newSource]]</code>の第二引数"static"にご注意。静的読み込みモードを示すこの指定を行うと、サウンドファイルはメモリに読み込まれるのですが、5MBの.ogg圧縮フォーマットを展開すると50MBにもなります。このことは熟慮が必要なケースがあります。
+
一時停止、停止、音量の変更、繰り返し、音程変更、などを行うには、単純に [[Source (日本語)|Source]] の関連メソッドを呼び出します。
この"static"指定を省くと、ストリーミング再生するようになります。特に大きなファイルを再生するとき、メモリ消費量を大きく抑えることができます。
 
  
== オーディオコントロール ==
 
一時停止、停止、音量変更、ループ、ピッチ、などなど……オーディオオブジェクト[[Source]]の備えるシンプルなメソッドを呼ぶだけで、簡単に制御できます。
 
 
<source lang="lua">
 
<source lang="lua">
 
src1 = love.audio.newSource("bang.wav", "static")
 
src1 = love.audio.newSource("bang.wav", "static")
 
src2 = love.audio.newSource("bgm.mp3")
 
src2 = love.audio.newSource("bgm.mp3")
  
src1:setVolume(0.9) -- 90% of ordinary volume
+
 
src1:setPitch(0.5) -- one octave lower
+
src1:setVolume(0.9) -- 通常音量を 90% にします。
 +
src1:setPitch(0.5) -- 1オクターブ下げます。
 
src2:setVolume(0.7)
 
src2:setVolume(0.7)
  
love.audio.play(src1)
+
src1:play()
love.audio.play(src2)
+
src2:play()
 
</source>
 
</source>
  
その他の詳細については[[Source|Sourceのドキュメント]]から参照できます。
+
さらなる詳細情報は [[Source (日本語)|Source のドキュメンテーション]] にて見つけることができます。
  
[[Category:Tutorials (日本語)]]
+
== 関連 ==
 +
* [[TEsound (日本語)|TEsound]] - 音響効果と楽曲の利用をより容易にするための音声管理器。
 +
* [[Minimalist Sound Manager (日本語)|Minimalist Sound Manager]] - love.audio の利用をより容易してソースの自動管理をするための[[Snippets (日本語)|コード断片]]です。
  
{{#set:LOVE Version=0.6.1}}
+
== そのほかの言語 ==
{{#set:Description=[[love.audio]]の使い方のチュートリアル}}
+
{{i18n|Tutorial:Audio}}
  
 +
[[Category:Tutorials]]
  
== その他の言語 ==
+
{{#set:LOVE Version=0.6.1}}
{{i18n|Tutorial:Audio}}
+
{{#set:Description=[[love.audio (日本語)|love.audio]] の使用方法を学習するための教本。}}
 +
{{#set:Tutorial=Yes}}

Revision as of 05:20, 26 August 2016

LÖVE では、音声は love.audio モジュールの領域であり、OpenAL を使用して再生されます。 love.audio には単一の音声オブジェクト型 - Source があります。このようにすると音声を読み込んで再生することができます:

sound = love.audio.newSource("pling.wav", "static") -- "static" はファイルを一括でメモリへ読み込むことを LÖVE に指定します。短い効果音に対して適しています。
music = love.audio.newSource("techno.ogg") -- "static" を省略した場合は、ファイルを段階的にメモリへ読み込むことを LÖVE に指定します。長めの楽曲に対して適しています。
sound:play()
music:play()

対応形式

LÖVE は love.sound モジュールのお陰で、多数の音声形式に対応しており、全て復号化して扱います。次のものが対応形式として該当します:

推奨形式は Ogg Vorbis および 16-bit WAVE です。その他の形式は細かい部分で奇癖がある場合があります。例えば MP3 復号器では、使用された符号器に依存するサンプルへ詰め物を挿入する場合があります。これらの問題は音声ファイルを復号化するために LOVE が使用しているライブラリによるものであり LÖVE 内部で直接的な修正を行うことができません。

静的と段階的の比較

留意して欲しいことは、 love.audio.newSource の第二引数へ "static" を渡した場合は、音声ファイルはメモリへ展開されるため、従ってこの方法にて 5MB の .ogg ファイルを読み込むと、 RAM を ~50MB ほど消費して展開されてしまいます。このような場合は "static" を使用しないことを考慮してください。

"static" を省略した場合は音声ファイルは演奏しながら段階的に読み込まれるため、重量級のファイルを取り扱う場合は多くのメモリを節約することができます。

音声制御

一時停止、停止、音量の変更、繰り返し、音程変更、などを行うには、単純に Source の関連メソッドを呼び出します。

src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")


src1:setVolume(0.9) -- 通常音量を 90% にします。
src1:setPitch(0.5) -- 1オクターブ下げます。
src2:setVolume(0.7)

src1:play()
src2:play()

さらなる詳細情報は Source のドキュメンテーション にて見つけることができます。

関連

そのほかの言語