Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mmckegg/soundbank-overdrive
A simple audio distortion effect based on wave shaping with automatable filter and gain controls.
https://github.com/mmckegg/soundbank-overdrive
Last synced: 4 months ago
JSON representation
A simple audio distortion effect based on wave shaping with automatable filter and gain controls.
- Host: GitHub
- URL: https://github.com/mmckegg/soundbank-overdrive
- Owner: mmckegg
- Archived: true
- Created: 2014-03-02T09:12:36.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-08-31T15:07:59.000Z (over 10 years ago)
- Last Synced: 2024-08-06T07:14:14.401Z (4 months ago)
- Language: JavaScript
- Size: 250 KB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
soundbank-overdrive
===A simple audio distortion effect based on wave shaping with automatable filter and gain controls.
Based on Nick Thompson's [Overdrive](https://github.com/nick-thompson/wa-overdrive), but modified to allow direct [AudioParam](https://developer.mozilla.org/en-US/docs/Web/API/AudioParam) manipulation allowing easy automation and modulation.
## Install
```bash
$ npm install soundbank-overdrive
```## API
```js
var Overdrive = require('soundbank-overdrive')
```### Overdrive(audioContext)
Create a [AudioNode](https://developer.mozilla.org/en-US/docs/Web/API/AudioNode) processor instance.
### node.gain ([AudioParam](https://developer.mozilla.org/en-US/docs/Web/API/AudioParam))
This goes up to 11 (and beyond)!
### node.preBand (AudioParam)
Wet/dry amount of preband filtering.
### node.color (AudioParam)
Preband filter frequency cutoff.
### postCut (AudioParam)
Post filter frequency cutoff
## Example
```
var Overdrive = require('soundbank-overdrive')var audioContext = new AudioContext()
var overdrive = Overdrive(audioContext)
overdrive.connect(audioContext.destination)overdrive.gain.value = 20
overdrive.preBand.value = 5000
overdrive.postCut.value = 600var player = audioContext.createBufferSource()
player.buffer = audioContext.sampleCache['duh.wav']
player.connect(overdrive)
player.start()
```