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

(New translation)
m (improved translations (decode/r -> 復号化/器からデコード/ダー、encode/r → 符号化/器からエンコード/ダーへ)、padding → 詰め物からパディング)
Line 1: Line 1:
LÖVE では、音声は [[love.audio (日本語)|love.audio]] モジュールの領域であり、OpenAL を使用して再生されます。 love.audio には単一の音声オブジェクト型 - [[Source (日本語)|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") -- "static" はファイルを一括でメモリへ読み込むことを LÖVE に指定します。短い効果音に対して適しています。
 
sound = love.audio.newSource("pling.wav", "static") -- "static" はファイルを一括でメモリへ読み込むことを LÖVE に指定します。短い効果音に対して適しています。
Line 9: Line 9:
 
== 対応形式 ==
 
== 対応形式 ==
  
LÖVE は [[love.sound (日本語)|love.sound]] モジュールのお陰で、多数の音声形式に対応しており、全て復号化して扱います。次のものが対応形式として該当します:
+
LÖVE は [[love.sound (日本語)|love.sound]] モジュールにより様々な音声形式に対応しています。処理時には全てデコードして扱います。下記の形式に対応しています:
  
 
* MP3
 
* MP3
 
* Ogg Vorbis
 
* Ogg Vorbis
 
* WAVE
 
* WAVE
* また各種トラッカー形式に関しても熟考することができます。 ― XM, MOD, [http://sourceforge.net/p/modplug-xmms/git/ci/master/tree/libmodplug/README#l39 およびその他にも二十種類以上の形式]。
+
* 各種トラッカー形式に関しても熟考することができます。 ― XM, MOD, [http://sourceforge.net/p/modplug-xmms/git/ci/master/tree/libmodplug/README#l39 およびその他二十種類以上の形式]。
  
推奨形式は Ogg Vorbis および 16-bit WAVE です。その他の形式は細かい部分で奇癖がある場合があります。例えば MP3 復号器では、使用された符号器に依存するサンプルへ詰め物を挿入する場合があります。これらの問題は音声ファイルを復号化するために LOVE が使用しているライブラリによるものであり LÖVE 内部で直接的な修正を行うことができません。
+
推奨形式は Ogg Vorbis および 16-bit WAVE です。それ以外の形式は細部で奇癖がある場合があります。例えば MP3 デコーダーでは、作成時に使用されたエンコーダーによりサンプルのパディング挿入処理を行うことがあります。これらの問題は LÖVE が音声ファイルのデコードに使用しているライブラリが原因ですので LÖVE の内部で直接的な修正を行うことはできません。
  
 
== 静的と段階的の比較 ==
 
== 静的と段階的の比較 ==
  
留意して欲しいことは、 <code>[[love.audio.newSource (日本語)|love.audio.newSource]]</code> の第二引数へ "static" を渡した場合は、音声ファイルはメモリへ展開されるため、従ってこの方法にて 5MB の .ogg ファイルを読み込むと、 RAM を ~50MB ほど消費して展開されてしまいます。このような場合は "static" を使用しないことを考慮してください。
+
<code>[[love.audio.newSource (日本語)|love.audio.newSource]]</code> の第二引数へ "static" を渡した場合は、音声ファイルはメモリへ展開されるため、従ってこの方法にて 5MB の .ogg ファイルを読み込むと、 RAM を ~50MB ほど消費して展開されてしまうことを覚えておいてください。このような場合は "static" を使用しないことを考慮してください。
  
"static" を省略した場合は音声ファイルは演奏しながら段階的に読み込まれるため、重量級のファイルを取り扱う場合は多くのメモリを節約することができます。
+
"static" を省略した場合、音声ファイルは演奏しながら段階的に読み込まれます。これを重量級のファイルを取り扱う場合に使用するとメモリを大幅に節約することができます。
  
== 音声制御 ==
+
== 再生操作 ==
  
 
一時停止、停止、音量の変更、繰り返し、音程変更、などを行うには、単純に [[Source (日本語)|Source]] の関連メソッドを呼び出します。
 
一時停止、停止、音量の変更、繰り返し、音程変更、などを行うには、単純に [[Source (日本語)|Source]] の関連メソッドを呼び出します。
Line 41: Line 41:
 
</source>
 
</source>
  
さらなる詳細情報は [[Source (日本語)|Source のドキュメンテーション]] にて見つけることができます。
+
より詳しい情報は [[Source (日本語)|Source のドキュメンテーション]] にあります。
  
 
== 関連 ==
 
== 関連 ==
 
* [[TEsound (日本語)|TEsound]] - 音響効果と楽曲の利用をより容易にするための音声管理器。
 
* [[TEsound (日本語)|TEsound]] - 音響効果と楽曲の利用をより容易にするための音声管理器。
* [[Minimalist Sound Manager (日本語)|Minimalist Sound Manager]] - love.audio の利用をより容易してソースの自動管理をするための[[Snippets (日本語)|コード断片]]です。
+
* [[Minimalist Sound Manager (日本語)|Minimalist Sound Manager]] - love.audio の利用をより容易してソースの自動管理をするための[[https://love2d.org/wiki/Category:Snippets (日本語)|コード断片]]です。
  
 
== そのほかの言語 ==
 
== そのほかの言語 ==

Revision as of 06:16, 15 May 2017

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 デコーダーでは、作成時に使用されたエンコーダーによりサンプルのパディング挿入処理を行うことがあります。これらの問題は LÖVE が音声ファイルのデコードに使用しているライブラリが原因ですので 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 のドキュメンテーション にあります。

関連

そのほかの言語