Web Audio API 4.2.3. Lifetime 和訳

の翻訳が少し古いようで、2012年8月に追加された 4.2.3 Lifetime が含まれていない。
ので、そこだけ和訳。というか超意訳。

4.2.3. Lifetime

4.2.3. Lifetime
This section is informative.

4.2.3 ライフタイム
この節は参考情報です。

An implementation may choose any method to avoid unnecessary resource usage and unbounded memory growth of unused/finished nodes. The following is a description to help guide the general expectation of how node lifetime would be managed.

実装では、必要のないリソース利用や、未使用または終了しているノードがキリなくメモリを使うのを避ける為に、何らかの方法を選ぶでしょう。
続く説明は、一般的に期待されるノードライフタイムの管理の仕方を案内するものです。

An AudioNode will live as long as there are any references to it. There are several types of references:

何かしら参照される限り、AudioNode は生き続けるでしょう。
参照には何種類かのタイプがあります。

1. A normal JavaScript reference obeying normal garbage collection rules.
2. A playing reference for both AudioBufferSourceNodes and OscillatorNodes. These nodes maintain a playing reference to themselves while they are currently playing.
3. A connection reference which occurs if another AudioNode is connected to it.
4. A tail-time reference which an AudioNode maintains on itself as long as it has any internal processing state which has not yet been emitted. For example, a ConvolverNode has a tail which continues to play even after receiving silent input (think about clapping your hands in a large concert hall and continuing to hear the sound reverberate throughout the hall). Some AudioNodes have this property. Please see details for specific nodes.

1。 JavaScript 参照。通常のガベージコレクションのルールに従います。
2。 AudioBufferSourceNodesとOscillatorNodesの再生中の参照。 再生している間これらのノードは、自分自身への再生用の参照を維持します。
3。 接続参照。別のAudioNodeから接続されている場合に発生します。
4。 tail-time 参照。何かしらの内部プロセスで未解放のステートになっている場合は、その間、自分自身を維持します。
例えば、ConvolverNodeは無音の入力を受けた後でも再生し続ける tail を持ちます。(大きいコンサート・ホールで柏手を打つと、ホール中で響きわたる音が聞こえるのをイメージして下さい)。
いくつかの AudioNodes は、この特性を持ちます。
特定のノードの詳細を見てください。

Any AudioNodes which are connected in a cycle and are directly or indirectly connected to the AudioDestinationNode of the AudioContext will stay alive as long as the AudioContext is alive.

参照の循環の中で接続され、直接または間接的に AudioContext の AudioDestinationNode に接続されるどんな AudioNodes も、AudioContext が生きている間は、生きているままでしょう。

When an AudioNode has no references it will be deleted. But before it is deleted, it will disconnect itself from any other AudioNodes which it is connected to. In this way it releases all connection references (3) it has to other nodes.

参照を全く持たない AudioNode は削除されるでしょう。
しかし、削除される前に、それに接続されるいかなる他のAudioNodesからもそれ自体を外すでしょう。
このように、それは他のノードに持っているすべての接続参照(3)を解放します。

Regardless of any of the above references, it can be assumed that the AudioNode will be deleted when its AudioContext is deleted.

上記の参照のどれかにかかわらず、AudioContextが削除されるとき、AudioNodeが削除されると考えて良いです。