audio-oscillator
v3.1.1
Published
Oscillate periodic wave to array
Downloads
34
Readme
audio-oscillator
Generate periodic oscillation data.
Usage
const oscillate = require('audio-oscillator/sine')
const output = require('web-audio-write')()
// render sine sound stream
;(async function frame() {
await output(oscillate(new AudioBuffer({
channels: 2, sampleRate: 44100, length: 1024
}), 440))
frame()
})()
API
let array = oscillate.<waveform>(length=1024|dst, frequency=440|options?)
Generate periodic-function waveform
samples into a dst
float array / array of arrays / AudioBuffer. If length
is provided, a new mono array
is created. The phase of consequently generated chunks is aligned, if the same array is passed multiple times.
let oscillate = require('audio-oscillator')
let samples = new Float64Array(1024)
oscillate.sine(samples, 440)
// output array has additional properties of the data
// samples.phase, samples.frequency, samples.detune, samples.sampleRate
// next data phase is aligned with the previous data
oscillate.sine(samples)
options
Property | Default | Meaning
---|---|---
frequency
, f
| 440
| Frequency of oscillations, in Hz.
detune
| 0
| Detune of oscillations -100...+100
, in cents.
phase
, t
| 0
| Normalized initial phase of waveform, 0..1
.
sampleRate
, rate
| 44100
| Sample rate of output data.
waveform
Available waveforms with their additional options:
Type | Waveshape | Parameters
---|---|---
'sin'
| |
'cos'
| |
'saw'
| | inverse=false
'tri'
| | ratio=0.5
'rect'
| | ratio=0.5
'series'
| | real=[0, 1]
, imag=[0, 0]
, normalize=true
'clausen'
| | limit=10
'step'
| | samples=10
Related
- periodic-function − a collection of periodic functions.
License
© 2017 Dmitry Yv. MIT License