NeXTSTEP Programming Mastermind

    types-fourier-transform
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.5 • Public • Published

    fourier-transform stable Build Status

    Minimalistic and efficient FFT implementation for 2n-size inputs. Includes regular and asm.js versions.

    npm install fourier-transform

    var ft = require('fourier-transform')
    var db = require('decibels')
    var sine = require('audio-oscillator/sin')
    
    // generate sine wave 440 Hz
    var waveform = sine(1024, 440)
    
    //get normalized magnitudes for frequencies from 0 to 22050 with interval 44100/1024 ≈ 43Hz
    var spectrum = ft(waveform)
    
    //convert to decibels
    var decibels = spectrum.map((value) => db.fromGain(value))

    To use asm.js version, require as require('fourier-transform/asm'). That is ~35% faster.

    Thanks

    To all the existing fft packages, without them this one would not be possible. Special thanks to @corbanbrook for the most efficient implementation in dsp.js. This package is based on dsp.js RFFT, which is based on RealFFT.

    Contribute

    If you find it slow, difficult or broken, please post an issue. If you have ideas or know-hows for better implementation - PR’s are welcome.

    Related

    Install

    npm i types-fourier-transform

    DownloadsWeekly Downloads

    1

    Version

    1.1.5

    License

    MIT

    Unpacked Size

    35.4 kB

    Total Files

    22

    Last publish

    Collaborators

    • andreyl34