--- title: AudioParam slug: Web/API/AudioParam tags: - API - Experimental - Reference - Web Audio API translation_of: Web/API/AudioParam ---
{{APIRef("Web Audio API")}}
L'interface AudioParam
représente un paramètre audio, en général un paramètre d'un {{domxref ("AudioNode")}} tel qu'un {{ domxref("GainNode.gain") }}. On peut lui donner une valeur spécifique ou définir une variation de valeur qui intervient à un certain moment et selon un certain fonctionnement.
Il y a deux sortes de AudioParam
, a-rate et k-rate :
AudioParam
a-rate réévalue la valeur du paramètre audio pour chaque trame d'échantillons du signal audio.AudioParam
k-rate utilise la même valeur de paramètre audio initial pour l'ensemble du bloc traité, c'est-à-dire 128 échantillons.Chaque {{domxref ("AudioNode")}} définit lequel de ses paramètres sont a-rate ou k-rate.
Chaque AudioParam
a une liste d'événements, initialement vide, qui définit quand et comment les valeurs changent. Si cette liste n'est pas vide, les modifications faites directement avec AudioParam.value
sont ignorées. Cette liste d'événements permet de planifier les changements qui doivent se produire à des moments très précis à l'aide de courbes d'automatisation chronologiques arbitraires. Les informations de temps utilisées sont celles définies par {{domxref ("AudioContext.currentTime")}}.
Hérite des propriétés de son parent, AudioNode
.
AudioParam
.AudioParam.defaultValue
. Même s'il peut être modifié, toute modification qui a lieu alors que des événements d'automatisation sont prévus - événements programmés en utilisant les méthodes de la AudioParam
- est ignorée, sans lever aucune exceptionHérite des propriétés de son parent, AudioNode.
AudioParam
à un moment précis, startTime
, tel que mesuré par rapport à {{domxref ("AudioContext.currentTime")}}. La nouvelle valeur est passée en argument.AudioParam
. Le changement commence à l'heure prévue pour l'événement précédent, évolue selon une rampe linéaire jusqu'à la nouvelle valeur passée dans l'argument value
, et atteint la nouvelle valeur à l'heure indiquée par le paramètre endTime
.AudioParam
. Le changement commence à l'heure prévue pour l'événement précédent, suit une rampe exponentielle jusqu'à la nouvelle valeur passée dans l'argument value
, et atteint la nouvelle valeur à l'heure indiquée par le paramètre endTime
.AudioParam
. Le changement commence à l'heure spécifiée par l'argument startTime
et de façon exponentielle tend vers la valeur donnée par le paramètre target
. Le taux de décroissance exponentielle est définie par le paramètre timeConstant
. C'est le temps nécessaire à un système continu linéaire du premier ordre invariant dans le temps pour atteindre la valeur de 1 - 1 / e (environ 63,2%) donné une réponse d'entrée de l'étape (passage de 0 à 1 en valeur), Plus il est grand, plus la transition sera facile. Ceci est utile pour la décroissance ou la libération de portions d'enveloppes.AudioParam
selon un jeu de valeurs, défini par le paramètre values
({{domxref ("Float32Array")}}), mis à l'échelle pour s'adapter à l'intervalle de temps donné, en commençant à startTime
.AudioParam
.AudioParam
mais maintient sa valeur à un certain moment, en attendant que d'autres changements soient effectués. La nouvelle valeur est passée en argument.Ce premier exemple simple montre la définition de la valeur de gain
d'un
{{domxref("GainNode")}}. gain
est un exemple de paramètre audio de type a-rate, car sa valeur peut potentiellement être différente pour chaque trame d'échantillon.
var AudioContext = window.AudioContext || window.webkitAudioContext; var audioCtx = new AudioContext(); var gainNode = audioCtx.createGain(); gainNode.gain.value = 0;
Ce deuxième exemple montre la définition de plusieurs paramètres d'un {{ domxref("BiquadFilterNode") }}. Ce sont des exemples de paramètre audio de type k-rate AudioParam's, comme les valeurs sont définies une fois pour l'ensemble des échantillons.
var AudioContext = window.AudioContext || window.webkitAudioContext; var audioCtx = new AudioContext(); var biquadFilter = audioCtx.createBiquadFilter(); biquadFilter.type = "lowshelf"; biquadFilter.frequency.value = 1000; biquadFilter.gain.value = 25;
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('Web Audio API', '#AudioParam-section', 'AudioParam')}} | {{Spec2('Web Audio API')}} |
{{Compat("api.AudioParam")}}