audio-oscillator

3.1.1 • Public • Published

audio-oscillator Build Status unstable Greenkeeper badge

Generate periodic oscillation data.

Usage

$ npm install audio-oscillator

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' sine
'cos' cosine
'saw' sawtooth inverse=false
'tri' triangle ratio=0.5
'rect' square ratio=0.5
'series' fourier real=[0, 1], imag=[0, 0], normalize=true
'clausen' clausen limit=10
'step' step samples=10

Related

License

© 2017 Dmitry Yv. MIT License

Readme

Keywords

Package Sidebar

Install

npm i audio-oscillator

Weekly Downloads

5

Version

3.1.1

License

MIT

Unpacked Size

17.9 kB

Total Files

17

Last publish

Collaborators

  • dy