Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 1.37 KB

README.md

File metadata and controls

79 lines (53 loc) · 1.37 KB

Libsamplerate.js

This repository provides a build of the samplerate conversion library in JavaScript/wasm.

Install

Using npm:

npm install @toots/libsamplerate.js

Using yarn:

yarn add @toots/libsamplerate.js

Using pnpm:

pnpm install @toots/libsamplerate.js

In a HTML page:

When using webpack, the package should point to the correct libsamplerate_browser.js file automatically.

When using directly as a script, you can load the libsamplerate_node.js file as:

<script src="libsamplerate_node.js"></script>

How to use?

The encoding API should be quite straight forward:

import { Samplerate, Converter } from "@toots/libsamplerate.js";

const exec = async () => {
  await Samplerate.initialized;
  
  const resampler = new Samplerate(Converter.FASTEST);

  const result = resampler.process({
    data: buffer, // buffer is a Float32Aray or a Int16Array
    ratio: 1.5,
    last: false
  });

  const converted = result.data; // same type as buffer above
  const used = result.used; // input samples effectively used

  // Close:
  resampler.close();
}

exec();

Author

Romain Beauxis [email protected]

Code derived from libmp3lame-js by: Andreas Krennmair [email protected]

License

libsamplerate.js is published under the license terms as samplerate.