Maison >interface Web >js tutoriel >Tutoriel API audio Web HTML5: construire un pavé de synthé virtuel
Cet article explore l'API audio Web HTML5, démontrant comment créer un coussin de synthé virtuel de base avec divers effets audio. Nous couvrirons la création d'un audio-texte, le chargement et la lecture de fichiers audio, l'ajout de contrôle de volume, de boucle, de réverbération et de filtres. Bien que jQuery simplifie la manipulation de Dom, il n'est pas strictement nécessaire pour l'API audio Web lui-même.
Concepts clés:
AudioContext
gère les nœuds audio, fournissant un environnement structuré pour le chargement, le décodage et la manipulation des données audio. ConvolverNode
) et le filtrage (BiquadFilterNode
). Construire le pavé de synthé:
La structure HTML utilise quatre divs représentant les pads de synthé, chacun lié à un fichier audio via un attribut data-sound
. JQuery est utilisé pour une manipulation DOM plus facile. Un fichier JavaScript séparé gère les interactions API audio Web.
<code class="language-html"><div id="sp"> <div id="pad1" data-sound="kick.wav"></div> <div id="pad2" data-sound="snare.wav"></div> <div id="pad3" data-sound="tin.wav"></div> <div id="pad4" data-sound="hat.wav"></div> </div></code>
Contexte audio et chargement de fichiers:
un AudioContext
est créé, et une fonction loadAudio
gère le chargement et le décodage asynchrones des fichiers audio en utilisant XMLHttpRequest
et decodeAudioData
.
<code class="language-javascript">var context = new AudioContext(); function loadAudio(object, url) { var request = new XMLHttpRequest(); request.open('GET', url, true); request.responseType = 'arraybuffer'; request.onload = function() { context.decodeAudioData(request.response, function(buffer) { object.buffer = buffer; }); }; request.send(); }</code>
jouer des sons et ajouter des contrôles:
La fonction addAudioProperties
améliore chaque div pad div avec des propriétés pour la source sonore, le contrôle du volume (GainNode
) et la méthode A play
. Les auditeurs d'événements déclenchent la lecture sonore sur les clics. Le contrôle de volume est implémenté à l'aide des entrées de plage.
<code class="language-javascript">function addAudioProperties(object) { // ... (code to add properties and play method) ... } $(function() { $('#sp div').each(function() { addAudioProperties(this); }); $('#sp div').click(function() { this.play(); }); // ... (code for volume control) ... });</code>
boucle, réverbération et filtrage:
La boucle est ajoutée à l'aide d'un bouton de boucle et modifiant la propriété AudioBufferSourceNode
S loop
. Reverb est implémenté à l'aide d'un ConvolverNode
et d'un fichier de réponse impulsif. Un filtre BIQUAD passe-bas (BiquadFilterNode
) permet des ajustements de fréquence et de qualité.
Conclusion:
Ce tutoriel fournit une introduction pratique à l'API audio Web. Le code complet, y compris HTML, CSS et JavaScript, vous permet de créer un pavé de synthé virtuel fonctionnel, démontrant des concepts et des techniques clés pour créer des applications audio interactives. N'oubliez pas qu'il s'agit d'un exemple simplifié; L'API audio Web offre des capacités beaucoup plus étendues pour créer des expériences audio complexes et sophistiquées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!