Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 688a832

Browse files
author
Gabor Szanto
committed
Version 2.0.0
Initial release. Why begin with 2.0? Because it's the current version number of all Superpowered SDKs.
0 parents commit 688a832

File tree

16 files changed

+2290
-0
lines changed

16 files changed

+2290
-0
lines changed

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/.DS_Store

‎README.md‎

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
<p align="center"><img width="450" src="https://superpowered.com/images/superpowered-animated.svg"></p>
2+
3+
Superpowered Inc develops the Superpowered Web Audio JavaScript and WebAssembly SDK ("JS/WASM SDK") for modern web browsers, websites, progressive web apps and more.
4+
5+
Developers can use Superpowered interactive audio features in JavaScript without the need of building, initializing or even touching WebAssembly or C++.
6+
7+
For the most up-to-date information, see: https://superpowered.com/js-wasm-overview
8+
9+
10+
# JavaScript + WebAssembly
11+
12+
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/
13+
14+
To create custom WebAssembly libraries using the Emscripten Bitcode version of the C++ SDK, please email hello@superpowered.com.
15+
16+
17+
# Supported Functionality
18+
19+
- Effects: echo, delay, bitcrusher, flanger, gate, roll, reverb, whoosh, compressor, clipper, limiter, 3 band EQ
20+
- Filters: resonant low-pass, resonant high-pass, low-shelf, high-shelf, bandpass, notch, parametric
21+
- Music Analysis: bpm detection, key detection, beatgrid detection, audio waveform, filter bank analysis
22+
- Object-based 3D Audio Spatializer
23+
- Mixing: stereo mixer, mono mixer, crossfading, mixing, volume, peak
24+
- Format conversion (32 bit, 24 bit, 16 bit)
25+
- Audio Resampler
26+
- Time domain to frequency domain, frequency domain to time domain
27+
- Time Stretching, Pitch Shifting
28+
- FFT: complex, real, real-polar
29+
- Web Audio I/O, support for ScriptProcessorNode, Workers, Worklets and Audio Worklet
30+
31+
32+
# Demos
33+
34+
Real-time (NOT RENDERED), low-latency time-stretching in the browser:\
35+
https://superpowered.com/js-wasm-sdk/example_timestretching/
36+
37+
Real-time low-latency reverb and filter in the browser:\
38+
https://superpowered.com/js-wasm-sdk/example_effects/
39+
40+
41+
# Supported Web Browsers
42+
43+
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.
44+
45+
46+
# Support
47+
48+
Superpowered offers multiple support options.
49+
50+
Developer Documentation (C++): https://superpowered.com/docs/
51+
52+
Developer Documentation (Javascript): https://superpowered.com/js-wasm-sdk/docs.html
53+
54+
Email: support@superpowered.zendesk.com
55+
56+
Knowledge base: https://superpowered.zendesk.com/hc/en-us
57+
58+
StackOverflow: https://stackoverflow.com/search?tab=newest&q=superpowered
59+
60+
YouTube: https://www.youtube.com/playlist?list=PLtRKsB6a4xFMXJrZ9wjscOow3nASBoEbU
61+
62+
Paid support options: https://superpowered.com/support
63+
64+
65+
# Licensing
66+
67+
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.
68+
69+
For details, please see: https://superpowered.com/licensing
70+
71+
For licensing inquiries, please email licensing@superpowered.com.
72+
73+
74+
# Custom Application Development Services
75+
76+
Superpowered offers custom development services focusing on low-latency, interactive audio applications for mobile, web, desktop and embedded.
77+
78+
For development inquiries, please email hello@superpowered.com.
79+
80+
81+
# Contact
82+
83+
If you want to be informed about new code releases, bug fixes, general news and information about Superpowered, please email hello@superpowered.com.
84+
85+
For licensing inquiries, please email licensing@superpowered.com.
86+
87+
88+
# Notes
89+
90+
Superpowered FFT benefits from ideas in Construction of a High-Performance FFT by Eric Postpischil (http://edp.org/resume.htm).
91+
92+
The Superpowered MP3 and AAC decoder benefits from optimizations by Ken Cooke.

‎docs.html‎

Lines changed: 1463 additions & 0 deletions
Large diffs are not rendered by default.

‎docs_js_css/main.css‎

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
@import url('https://fonts.googleapis.com/css?family=Poppins:300,300i,400,600&display=swap');
2+
3+
/* RESET */
4+
html, body, div, span, applet, object, iframe,
5+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
6+
a, abbr, acronym, address, big, cite, code,
7+
del, dfn, em, img, ins, kbd, q, s, samp,
8+
small, strike, strong, sub, sup, tt, var,
9+
b, u, i, center,
10+
dl, dt, dd, ol, ul, li,
11+
fieldset, form, label, legend,
12+
table, caption, tbody, tfoot, thead, tr, th, td,
13+
article, aside, canvas, details, embed,
14+
figure, figcaption, footer, header, hgroup,
15+
menu, nav, output, ruby, section, summary,
16+
time, mark, audio, video {
17+
margin: 0;
18+
padding: 0;
19+
border: 0;
20+
font-size: 100%;
21+
font: inherit;
22+
vertical-align: baseline;
23+
}
24+
/* HTML5 display-role reset for older browsers */
25+
article, aside, details, figcaption, figure,
26+
footer, header, hgroup, menu, nav, section {
27+
display: block;
28+
}
29+
body {
30+
line-height: 1;
31+
}
32+
ol, ul {
33+
list-style: none;
34+
}
35+
blockquote, q {
36+
quotes: none;
37+
}
38+
blockquote:before, blockquote:after,
39+
q:before, q:after {
40+
content: '';
41+
content: none;
42+
}
43+
table {
44+
border-collapse: collapse;
45+
border-spacing: 0;
46+
}
47+
48+
body {background-color: #ffffff; color: #000000; font-family: 'Poppins', sans-serif; line-height: 1.5; display: grid; grid-template-columns: max-content minmax(0, 1fr); grid-gap: 0rem; }
49+
h1, h2, h3 { margin: 1rem 0; font-size: 2rem; font-weight: 600; padding-top: 2rem; }
50+
h1 { padding-top: 0; }
51+
h2 { padding-top: 3rem; border-top: 2px solid #dddddd; }
52+
h3 { font-size: 1.5rem; }
53+
em { font-style: italic; }
54+
small { font-size: 80%; }
55+
p { margin: 2rem 0 0.5rem 0; }
56+
p + p { margin-top: 1rem; }
57+
main ol, main ul { margin: 1rem 0; }
58+
main ol { list-style-type: decimal; }
59+
main li { margin-left: 4rem; }
60+
61+
ul#toc { list-style-type: none; }
62+
ul#toc li { margin-bottom: 3px; }
63+
ul#toc span { display: inline-block; width: 3ch; margin-right: 1rem; background-color: #dddddd; padding: 1px 5px; border-radius: 3px; color: #000000; }
64+
ul#toc a { display: block; color: #000000; text-decoration: none; text-transform: uppercase; padding: 0 1rem; }
65+
ul#toc li.chapter { margin-top: 1rem; }
66+
ul#toc li.chapter a { font-weight: 600; }
67+
ul#toc li.chapter span { background-color: #000000; color: #ffffff; font-weight: normal; }
68+
ul#toc a:hover { color: #ffffff; background-color: #07a; }
69+
ul#toc a:hover span { background-color: transparent; color: #ffffff; }
70+
ul#toc li.current { background-color: #dddddd; }
71+
72+
div#tocbox { display: none; }
73+
main { grid-column: 2; grid-row: 1; padding: 2rem; }
74+
aside { grid-column: 1; grid-row: 1; font-size: 0.9rem; border-right: 2px solid #dddddd; }
75+
aside:hover { border-right-color: #07a; }
76+
aside div { position: -webkit-sticky; position: sticky; top: 0; padding: 0; }
77+
aside div > a { display: block; font-size: 1rem; color: #000000; text-decoration: none; margin: 0 1rem 1rem 1rem; }
78+
aside div > a:hover { color: #07a; }
79+
aside p { margin: 1rem; display: inline-block; cursor: pointer; }
80+
81+
body.tocClosed aside a, body.tocClosed aside ul { display: none; }
82+
83+
@media print, screen and (max-width: 900px) {
84+
body, div#tocbox { display: block; }
85+
aside { display: none; }
86+
}

‎docs_js_css/prism.css‎

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
/* PrismJS 1.17.1
2+
https://prismjs.com/download.html#themes=prism&languages=clike+javascript */
3+
/**
4+
* prism.js default theme for JavaScript, CSS and HTML
5+
* Based on dabblet (http://dabblet.com)
6+
* @author Lea Verou
7+
*/
8+
9+
code[class*="language-"],
10+
pre[class*="language-"] {
11+
color: black;
12+
background: none;
13+
text-shadow: 0 1px white;
14+
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
15+
font-size: 1em;
16+
text-align: left;
17+
white-space: pre;
18+
word-spacing: normal;
19+
word-break: normal;
20+
word-wrap: normal;
21+
line-height: 1.5;
22+
23+
-moz-tab-size: 4;
24+
-o-tab-size: 4;
25+
tab-size: 4;
26+
27+
-webkit-hyphens: none;
28+
-moz-hyphens: none;
29+
-ms-hyphens: none;
30+
hyphens: none;
31+
}
32+
33+
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
34+
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
35+
text-shadow: none;
36+
background: #b3d4fc;
37+
}
38+
39+
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
40+
code[class*="language-"]::selection, code[class*="language-"] ::selection {
41+
text-shadow: none;
42+
background: #b3d4fc;
43+
}
44+
45+
@media print {
46+
code[class*="language-"],
47+
pre[class*="language-"] {
48+
text-shadow: none;
49+
}
50+
}
51+
52+
/* Code blocks */
53+
pre[class*="language-"] {
54+
padding: 1em;
55+
margin: .5em 0;
56+
overflow: auto;
57+
}
58+
59+
:not(pre) > code[class*="language-"],
60+
pre[class*="language-"] {
61+
background: #f5f2f0;
62+
}
63+
64+
/* Inline code */
65+
:not(pre) > code[class*="language-"] {
66+
padding: .1em;
67+
border-radius: .3em;
68+
white-space: normal;
69+
}
70+
71+
.token.comment,
72+
.token.prolog,
73+
.token.doctype,
74+
.token.cdata {
75+
color: slategray;
76+
}
77+
78+
.token.punctuation {
79+
color: #999;
80+
}
81+
82+
.namespace {
83+
opacity: .7;
84+
}
85+
86+
.token.property,
87+
.token.tag,
88+
.token.boolean,
89+
.token.number,
90+
.token.constant,
91+
.token.symbol,
92+
.token.deleted {
93+
color: #905;
94+
}
95+
96+
.token.selector,
97+
.token.attr-name,
98+
.token.string,
99+
.token.char,
100+
.token.builtin,
101+
.token.inserted {
102+
color: #690;
103+
}
104+
105+
.token.operator,
106+
.token.entity,
107+
.token.url,
108+
.language-css .token.string,
109+
.style .token.string {
110+
color: #9a6e3a;
111+
background: hsla(0, 0%, 100%, .5);
112+
}
113+
114+
.token.atrule,
115+
.token.attr-value,
116+
.token.keyword {
117+
color: #07a;
118+
}
119+
120+
.token.function,
121+
.token.class-name {
122+
color: #DD4A68;
123+
}
124+
125+
.token.regex,
126+
.token.important,
127+
.token.variable {
128+
color: #e90;
129+
}
130+
131+
.token.important,
132+
.token.bold {
133+
font-weight: bold;
134+
}
135+
.token.italic {
136+
font-style: italic;
137+
}
138+
139+
.token.entity {
140+
cursor: help;
141+
}
142+

‎docs_js_css/prism.js‎

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /