Skip to content

JavaScript audio time-stretching and pitch-shifting library

License

Notifications You must be signed in to change notification settings

jakubfiala/soundtouch-js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#soundtouch.js

JavaScript audio time-stretching and pitch-shifting library. Based on the C++ implementation of [SoundTouch](http://www.surina.net/soundtouch/ soundtouch).

Built by Ryan Berdeen. getWebAudioNode utility written by Adrian Holovaty. User-friendly PitchShifter wrapper by fiala.

##Setup

  • Include soundtouch.min.js in your HTML, or require('soundtouch-js') in Node (Node implementation is incomplete!).

##Usage

  • In order to run PitchShifter, you need a loaded and decoded AudioBuffer
  • After the buffer has been decoded, e.g. in the callback of AudioContext.decodeAudioData, create a new PitchShifter as follows
	//instantiate pitchshifter
	pitchshifter = new PitchShifter(context, buffer, 1024);
	//set pitch/tempo
	pitchshifter.tempo = 0.75;
	pitchshifter.pitch = 2;
  • to begin playback, connect the PitchShifter to the WebAudio destination (or another node), and disconnect it to pause.
  • note that PitchShifter is a pseudo-node, and cannot be connected to.

About

JavaScript audio time-stretching and pitch-shifting library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.4%
  • HTML 1.6%