--- title: OscillatorNode slug: Web/API/OscillatorNode translation_of: Web/API/OscillatorNode ---
L'interface OscillatorNode représente un signal périodique, une sinusoïde par exemple. C'est un module de traitement audio {{domxref("AudioNode")}} qui crée un signal sinusoïdal à une fréquence donnée — c'est-à-dire génère une tonalité constante.
On crée un OscillatorNode en utilisant la méthode {{domxref("AudioContext.createOscillator")}}. Il a toujours exactement une sortie, et aucune entrée. Ses propriétés par défaut (voir {{domxref("AudioNode")}} pour la définition) sont :
01max2 (propriété ignorée dans le mode de calcul par défaut)speakersHérite des propriétés de ses parents, {{domxref("AudioNode")}}.
"sine", "square", "sawtooth", "triangle" et "custom". La valeur par défault is "sine". custom permet d'utiliser une {{domxref("PeriodicWave")}} pour décrire une forme d'onde personnalisée.Hérite des méthodes de ses parents, {{domxref("AudioNode")}}.
type = "custom". Elle remplace la méthode devenue obsolète {{domxref("OscillatorNode.setWaveTable")}}.ended, qui est émis une fois que la lecture du son est terminée.L'exemple suivant montre une utilisation basique d'un {{ domxref("AudioContext") }} pour créer un OscillatorNode. Pour un exemple appliqué, jetez un oeil à notre Violent Theremin demo (voir app.js pour l'intégralité du code).
// crée un contexteaudio var contexteAudio = new (window.AudioContext || window.webkitAudioContext)(); // create Oscillator node var oscillator = contexteAudio.createOscillator(); oscillator.connect(contexteAudio.destination); oscillator.type = 'square'; oscillator.frequency.value = 440; // valeur en hertz oscillator.start();
| Spécification | Statut | Commentaire |
|---|---|---|
| {{SpecName('Web Audio API', '#the-oscillatornode-interface', 'OscillatorNode')}} | {{Spec2('Web Audio API')}} |
{{Compat("api.OscillatorNode")}}