OscillatorNode

L'interface OscillatorNode représente un signal périodique, une sinusoïde par exemple. C'est un module de traitement audio 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 AudioContext.createOscillator. Il a toujours exactement une sortie, et aucune entrée. Ses propriétés par défaut (voir AudioNode pour la définition) sont :

  • Nombre d'entrées : 0
  • Nombre de sorties : 1
  • Mode de calcul des canaux : max
  • Nombre de canaux : 2 (propriété ignorée dans le mode de calcul par défaut)
  • Interprétation des canaux : speakers

Propriétés

Hérite des propriétés de ses parents, AudioNode.

OscillatorNode.frequency
AudioParam de type a-rate représentant la fréquence d'oscillation en Hertz (la propriété frequency est en lecture seule, mais sa sous-propriété value ne l'est pas).
OscillatorNode.detune
AudioParam de type a-rate représentant le désaccordage de l' oscillation exprimé en cents  (la propriété detune est en lecture seule, mais sa sous-propriété value ne l'est pas).
OscillatorNode.type
AudioParam de type a-rate indiquant la forme de l'onde générée. Différentes ondes produisent différentes tonalités.

Méthodes

Hérite des méthodes de ses parents, AudioNode.

OscillatorNode.start()
Cette méthode déclenche la lecture du son.
OscillatorNode.stop()
Cette méthode interrompt la lecture du son.
OscillatorNode.setPeriodicWave()
Cette méthode définit une PeriodicWave qui peut être utilisée pour donner sa forme à la sortie de l'oscillateur, quand on utilise l'attribut type = "custom". Elle remplace la méthode devenue obsolète OscillatorNode.setWaveTable.

Event handlers

OscillatorNode.onended
Propriété utilisée pour assigner un gestionnaire d'évènement à l'évènement ended, qui est émis uen fois que la lecture du son est terminée.

Exemples

L'exemple suivant montre une utilisation basique d'un 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();

Specifications

Specification Status Comment
Web Audio API
La définition de 'OscillatorNode' dans cette spécification.
Version de travail  

Compatibilité avec les navigateurs

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 14 webkit 23 Pas de support 15 webkit
22 (unprefixed)
6 webkit
Feature Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support Pas de support 28 webkit 25 1.2 Pas de support Pas de support webkit

Voir également

 

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : marie-ototoi, Goofy, fscholz, Poyoman39
 Dernière mise à jour par : marie-ototoi,