SkillAgentSearch skills...

Crossfade

Simple cross fader between two AudioNodes for WebAudio.

Install / Use

/learn @notthetup/Crossfade
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

crossfade

Simple cross fader between two AudioNodes for WebAudio.

npm version

Usage

npm install crossfader
var crossfader = require('crossfader');
var c = crossfader(context, node1, node2);
c.connect(context.destination);

document.getElementById('slider').addEventListener('input', function(){
	c.fade.value = parseFloat(this.value);
});

API

Constructor

eg : var c = crossfader(context, node1, node2);

  • context: AudioContext - The AudioContext within which the AudioNodes have been created.
  • node1 : AudioNode - Any AudioNode within the AudioContext. Will be assigned to the negative value of the fade property.
  • node2 : AudioNode - Any AudioNode within the AudioContext. Will be assigned to the negative value of the fade property.

Methods

  • connect : Connect the crossfade Node to other AudioNodes. eg :

    c.connect(context.destination);
    
    • arguments :
      • destination : AudioNode - The AudioNode to connect the output of the crossfader to.
  • disconnect : Disconnect the crossfade Node from other AudioNodes. eg :

    c.disconnect();
    

Properties

  • fade: AudioParam - A value in the range [-1,1] that defines how much to cross fade between node1 and node2.

    eg:

    c.fade.value = 0.5; //Cross fade position with equal volume from both AudioNodes
    c.fade.linearRampToValueAtTime(1, context.currentTime + 5); // Automation
    

    fade property is an AudioParam and supports all AudioParam automation methods.

    • A fade value of -1 implies 100% volume on node1, and 0% volume on node2, while a fade value of 1 implies 0% volume on node1, and 100% volume on node2.

    • The mapping between the value of fade and the volume follows the equal power curve.

Credits

Thanks to tambien for the his idea of using a generator + shaper to create a-rate, first class, custom AudioParams (like fade in this case).

License

MIT

See License file

Related Skills

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated8mo ago
Forks0

Languages

JavaScript

Security Score

77/100

Audited on Jul 18, 2025

No findings