Files
mm-d-flat/index.html
T
2020-05-20 23:37:03 -05:00

156 lines
6.3 KiB
HTML

<!doctype html>
<!--
Made with love by MindfulMinun
https://benjic.xyz
-->
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<title>D♭</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#1e1e1e">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css">
<style media="screen">
*, *::before, *::after { box-sizing: border-box; }
:root {
--input-color: rgb(255 255 255 / .52);
--input-border: #424242;
}
html, body {
font-family: "Roboto", Helvetica, Arial, sans-serif;
line-height; 1.15;
height: 100%;
margin: 0;
background-color: #1e1e1e;
color: white;
}
body { display: flex; }
a[href] { color: var(--accent); }
input, audio {
display: block;
margin: 1em 0;
}
audio {
width: 100%;
}
button {
/* display: inline-block;
background: 0; border: 0; font: inherit; color: inherit;
border: 1px solid #727272;
padding: .25em .5em;
cursor: pointer; */
background: 0; border: 0; font: inherit;
color: var(--input-color);
font-size: 87.5%;
border: 2px solid var(--input-border);
outline: 0;
padding: .5em .75em;
}
select {
/* background: 0; border: 0; font: inherit; color: inherit; */
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
background: 0;
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzU0NTQ1NCI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiPjwvcGF0aD48L3N2Zz4=);
background-position: right 50%;
background-repeat: no-repeat;
outline: 0;
border: 2px solid var(--input-border);
border-radius: 0;
color: var(--input-color);
font: inherit;
font-size: 87.5%;
/* padding: .5em 1.5em .5em 1em; */
padding: .5em 1.5em .5em .5em;
min-width: 120px;
}
button:focus,
select:focus {
border-color: #448aff;
}
.container {
width: 840px;
max-width: 100%;
margin: 0 auto;
padding: 1em;
}
</style>
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
onload="renderMathInElement(document.body, {
fleqn: true,
delimiters: [
{ left: '$$', right: '$$', display: true },
{ left: '$', right: '$', display: false }
]
});"></script> -->
</head>
<body>
<div class="container">
<p>
Drag and drop an audio file anywhere or <button id="choose">choose one from your filesystem.</button>
</p>
<p>
<label>
Filter:
<select id="processorSelect">
<option value="noop" selected>noop</option>
<option value="derivative">derivative</option>
<option value="integral">integral</option>
<option value="subtract-overlap">subtract-overlap</option>
<option value="isolate-overlap" disabled>isolate-overlap</option>
<option value="mono">mono</option>
</select>
</label>
</p>
<audio controls></audio>
<ul>
<li>
<code>noop</code>
<p>Leaves the audio unchanged.</p>
</li>
<li>
<code>derivative</code>
<p>
Approximates the first derivative of the audio as a function respect to time.
Sounds like a <strong>high-pass filter</strong>.
</p>
</li>
<li>
<code>integral</code>
<p>
Approximates the first integral of the audio as a function respect to time. Plus C of zero. Sounds like a <strong>low-pass filter</strong>.
</p>
</li>
<li>
<code>subtract-overlap</code>
<p>Inverts the amplitude of every even-numbered channel and merges all channels to mono. This effectively cancels the sounds the left and right channels share in common. Quick-and-dirty way of removing vocals.</p>
</li>
<li>
<code>isolate-overlap</code>
<p>The opposite of subtract-overlap. You think it'd be simple but I can't get it to work :/</p>
</li>
<li>
<code>mono</code>
<p>
Converts the audio to mono by taking the arithmetic average of the samples.
</p>
</li>
</ul>
</div>
<input id="file" type="file" hidden>
<script src="./dist/main.js"></script>
</body>
</html>