Skip to content

Writing Wave files

SpessaSynth has a helper function for writing wave files.

audioBufferToWav

Converts an audio buffer into a fully valid wave file.

const file = audioBufferToWav(audioBuffer, normalizeAudio = true, channelOffset = 0, metadata = {}, loop = undefined, channelCount = all);
- audioBuffer - AudioBuffer - the buffer to write. Multiple channels are allowed. - normalizeAudio - optional boolean - if true, the gain of the entire song will be adjusted, so the max sample is always 32,767 or min is always -32,768 (whichever is greater). Recommended. - channelOffset - optional number - if the buffer has more than two channels, you can specify the channel offset to use. This is especially useful in one output mode - metadata - optional Object described below. All options are string and are optional: - title - the song’s title - artist - the song’s artist - album - the song’s album - genre - the song’s genre - loop - optional Object that will write loop points to the file (using the cue chunk) - start - start time in seconds - end - end time in seconds - channelCount - optional number that limits the channel count to a given number. Otherwise, all channels from channelOffset to the last channel are used.

The metadata uses the INFO chunk to write the information. It is encoded with utf-8