superpoweredSDK / web-audio-javascript-webassembly-SDK-interactive-audio

🌐 Superpowered Web Audio JavaScript and WebAssembly SDK for modern web browsers. Allows developers to implement low-latency interactive audio features into web sites and web apps with a friendly Javascript API. https://superpowered.com
152 stars 16 forks source link
audio audioworklet javascript javascript-audio javascript-audio-library javascript-framework javascript-library spatialization time-stretch wasm web-audio web-audio-api web-audio-library web-audio-module web-audio-worklet webassembly

Superpowered Inc develops the Superpowered Web Audio JavaScript and WebAssembly SDK ("JS/WASM SDK") for modern web browsers, websites, progressive web apps and more.

Developers can use Superpowered interactive audio features in JavaScript without the need of building, initializing or even touching WebAssembly or C++.

For the most up-to-date information, see: https://docs.superpowered.com/?lang=js

JavaScript + WebAssembly

The JS/WASM SDK is contained in this repository. For C++ SDKs for native apps, we offer Superpowered C++ Audio SDK, C++ Networking SDK, and C++ Crypto SDK featuring low-power and real-time latency. They can be found here: https://github.com/superpoweredSDK/Low-Latency-Android-iOS-Linux-Windows-tvOS-macOS-Interactive-Audio-Platform/

Installation and Usage

npm install @superpoweredsdk/web

See usage guide over at https://docs.superpowered.com/getting-started/how-to-integrate?lang=js

Supported Functionality

Demos

Real-time (NOT RENDERED), low-latency time-stretching in the browser:\ https://superpowered.com/js-wasm-sdk/example_timestretching/

Real-time low-latency reverb and filter in the browser:\ https://superpowered.com/js-wasm-sdk/example_effects/

Real-time low-latency guitar distortion in the browser:\ https://superpowered.com/js-wasm-sdk/example_guitardistortion/

Supported Web Browsers

The Superpowered Web Audio JavaScript and WebAssembly SDK supports the following web browsers: official public stable versions of all major web browsers, including desktop and mobile variants (iOS, Android), such as Chrome, Safari, Firefox and Opera. The only exception is Microsoft Edge, that requires developer build version 74 minimum.

Support

Superpowered offers multiple support options.

Developer Documentation (C++ and JavaScript): https://docs.superpowered.com

Email: support@superpowered.zendesk.com

Knowledge base: https://superpowered.zendesk.com/hc/en-us

StackOverflow: https://stackoverflow.com/search?tab=newest&q=superpowered

YouTube: https://www.youtube.com/playlist?list=PLtRKsB6a4xFMXJrZ9wjscOow3nASBoEbU

Paid support options: https://superpowered.com/support

Licensing

JS/WASM SDK is licensed separately on a case-by-case basis. Parties interested in using JS/WASM SDK must contact licensing@superpowered.com. Free license may be available at our sole discretion. Parties are encouraged to experiment and create private applications with the JS/WASM SDK, but may not launch publicly and/or without a license, which we shall grant at our sole discretion. Please note that any unauthorized use of JS/WASM SDK may result in interruption of service without notice.

For details, please see: https://superpowered.com/licensing

For licensing inquiries, please email licensing@superpowered.com.

Custom Application Development Services

Superpowered offers custom development services focusing on low-latency, interactive audio applications for mobile, web, desktop and embedded.

For development inquiries, please email hello@superpowered.com.

Contact

If you want to be informed about new code releases, bug fixes, general news and information about Superpowered, please email hello@superpowered.com.

For licensing inquiries, please email licensing@superpowered.com.

Notes

Superpowered FFT benefits from ideas in Construction of a High-Performance FFT by Eric Postpischil (http://edp.org/resume.htm).

The Superpowered MP3 and AAC decoder benefits from optimizations by Ken Cooke.