Skip to content

Commit

Permalink
Add faster and more accurate WindowedSinc interpolators. (#375)
Browse files Browse the repository at this point in the history
* Try speeding up resamplers with SIMD.

* Speed up all resamplers by ~25%.

* temp, kinda works

* Reworking logic in steps

* temp

* It works for everything but WindowedSinc

* Working and fast for Linear and 0OH

* working

* god I hate this, givin gup

* Implement faster WindowedSinc interpolators.

* Disable mostly-fast-math.

* Update default resampler quality to WindowedSinc32.

* Really, clang-format?

* Remove extra speed tests.

* More cleanup.

* Update version.
  • Loading branch information
psobot committed Sep 13, 2024
1 parent ee16bb8 commit 3a323bf
Show file tree
Hide file tree
Showing 34 changed files with 259,047 additions and 111 deletions.
2 changes: 1 addition & 1 deletion docs/_static/documentation_options.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: 'v0.9.14',
VERSION: 'v0.9.15',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
Expand Down
8 changes: 4 additions & 4 deletions docs/compatibility.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<meta property="og:title" content="Plugin Compatibility" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://spotify.github.io/pedalboard/compatibility.html" />
<meta property="og:site_name" content="Pedalboard v0.9.14 Documentation" />
<meta property="og:site_name" content="Pedalboard v0.9.15 Documentation" />
<meta property="og:description" content="pedalboard allows loading VST3® and Audio Unit plugins, which could contain any code. Most plugins that have been tested work just fine with pedalboard, but some plugins may not work with pedalboar..." />
<meta property="og:image" content="https://repository-images.githubusercontent.com/383471193/0f79b949-9b91-4436-bfc4-05d30ef384cc" />
<meta property="og:image:alt" content="🎛 🔊 Documentation for Pedalboard: A Python library for working with audio." />
<meta name="description" content="pedalboard allows loading VST3® and Audio Unit plugins, which could contain any code. Most plugins that have been tested work just fine with pedalboard, but some plugins may not work with pedalboar..." />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Pedalboard Internals" href="internals.html" /><link rel="prev" title="Frequently Asked Questions" href="faq.html" />

<link rel="shortcut icon" href="_static/favicon.ico"/><meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>Plugin Compatibility - Pedalboard v0.9.14 Documentation</title>
<title>Plugin Compatibility - Pedalboard v0.9.15 Documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
Expand Down Expand Up @@ -132,7 +132,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">Pedalboard v0.9.14 Documentation</div></a>
<a href="index.html"><div class="brand">Pedalboard v0.9.15 Documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
Expand All @@ -158,7 +158,7 @@
<img class="sidebar-logo" src="_static/pedalboard_logo_small.png" alt="Logo"/>
</div>

<span class="sidebar-brand-text">Pedalboard v0.9.14 Documentation</span>
<span class="sidebar-brand-text">Pedalboard v0.9.15 Documentation</span>

</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
Expand Down
10 changes: 5 additions & 5 deletions docs/examples.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<meta property="og:title" content="Examples" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://spotify.github.io/pedalboard/examples.html" />
<meta property="og:site_name" content="Pedalboard v0.9.14 Documentation" />
<meta property="og:site_name" content="Pedalboard v0.9.15 Documentation" />
<meta property="og:description" content="Note: If you’d rather watch a video instead of reading examples or documentation,. Quick start: Note: For more information about how to process audio through Pedalboard plugins, including how the r..." />
<meta property="og:image" content="https://repository-images.githubusercontent.com/383471193/0f79b949-9b91-4436-bfc4-05d30ef384cc" />
<meta property="og:image:alt" content="🎛 🔊 Documentation for Pedalboard: A Python library for working with audio." />
<meta name="description" content="Note: If you’d rather watch a video instead of reading examples or documentation,. Quick start: Note: For more information about how to process audio through Pedalboard plugins, including how the r..." />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Frequently Asked Questions" href="faq.html" /><link rel="prev" title="The pedalboard.io API" href="reference/pedalboard.io.html" />

<link rel="shortcut icon" href="_static/favicon.ico"/><meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>Examples - Pedalboard v0.9.14 Documentation</title>
<title>Examples - Pedalboard v0.9.15 Documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
Expand Down Expand Up @@ -132,7 +132,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">Pedalboard v0.9.14 Documentation</div></a>
<a href="index.html"><div class="brand">Pedalboard v0.9.15 Documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
Expand All @@ -158,7 +158,7 @@
<img class="sidebar-logo" src="_static/pedalboard_logo_small.png" alt="Logo"/>
</div>

<span class="sidebar-brand-text">Pedalboard v0.9.14 Documentation</span>
<span class="sidebar-brand-text">Pedalboard v0.9.15 Documentation</span>

</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
Expand Down Expand Up @@ -365,7 +365,7 @@ <h2>Creating parallel effects chains<a class="headerlink" href="#creating-parall
</section>
<section id="running-pedalboard-on-live-audio">
<h2>Running Pedalboard on Live Audio<a class="headerlink" href="#running-pedalboard-on-live-audio" title="Permalink to this heading">#</a></h2>
<p>On macOS or Windows, Pedalboard supports streaming live audio through
<p><code class="docutils literal notranslate"><span class="pre">pedalboard</span></code> supports streaming live audio through
<span class="raw-html-m2r"><a href="https://spotify.github.io/pedalboard/reference/pedalboard.io.html#pedalboard.io.AudioStream">
an <code class="docutils literal"><span class="pre">AudioStream</span></code> object</a></span>,
allowing for real-time manipulation of audio by adding effects in Python.</p>
Expand Down
8 changes: 4 additions & 4 deletions docs/faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<meta property="og:title" content="Frequently Asked Questions" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://spotify.github.io/pedalboard/faq.html" />
<meta property="og:site_name" content="Pedalboard v0.9.14 Documentation" />
<meta property="og:site_name" content="Pedalboard v0.9.15 Documentation" />
<meta property="og:description" content="Can Pedalboard be used with live (real-time) audio?: As of version 0.7.0, yes! See the pedalboard.io.AudioStream class for more details. Does Pedalboard support changing a plugin’s parameters over ..." />
<meta property="og:image" content="https://repository-images.githubusercontent.com/383471193/0f79b949-9b91-4436-bfc4-05d30ef384cc" />
<meta property="og:image:alt" content="🎛 🔊 Documentation for Pedalboard: A Python library for working with audio." />
<meta name="description" content="Can Pedalboard be used with live (real-time) audio?: As of version 0.7.0, yes! See the pedalboard.io.AudioStream class for more details. Does Pedalboard support changing a plugin’s parameters over ..." />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Plugin Compatibility" href="compatibility.html" /><link rel="prev" title="Examples" href="examples.html" />

<link rel="shortcut icon" href="_static/favicon.ico"/><meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>Frequently Asked Questions - Pedalboard v0.9.14 Documentation</title>
<title>Frequently Asked Questions - Pedalboard v0.9.15 Documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
Expand Down Expand Up @@ -132,7 +132,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">Pedalboard v0.9.14 Documentation</div></a>
<a href="index.html"><div class="brand">Pedalboard v0.9.15 Documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
Expand All @@ -158,7 +158,7 @@
<img class="sidebar-logo" src="_static/pedalboard_logo_small.png" alt="Logo"/>
</div>

<span class="sidebar-brand-text">Pedalboard v0.9.14 Documentation</span>
<span class="sidebar-brand-text">Pedalboard v0.9.15 Documentation</span>

</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
Expand Down
22 changes: 17 additions & 5 deletions docs/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />

<link rel="shortcut icon" href="_static/favicon.ico"/><meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Index - Pedalboard v0.9.14 Documentation</title>
<link rel="shortcut icon" href="_static/favicon.ico"/><meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Index - Pedalboard v0.9.15 Documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
Expand Down Expand Up @@ -122,7 +122,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">Pedalboard v0.9.14 Documentation</div></a>
<a href="index.html"><div class="brand">Pedalboard v0.9.15 Documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
Expand All @@ -148,7 +148,7 @@
<img class="sidebar-logo" src="_static/pedalboard_logo_small.png" alt="Logo"/>
</div>

<span class="sidebar-brand-text">Pedalboard v0.9.14 Documentation</span>
<span class="sidebar-brand-text">Pedalboard v0.9.15 Documentation</span>

</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
Expand Down Expand Up @@ -1133,15 +1133,27 @@ <h2>W</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc">WindowedSinc (pedalboard.Resample.Quality attribute)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc128">WindowedSinc128 (pedalboard.Resample.Quality attribute)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc16">WindowedSinc16 (pedalboard.Resample.Quality attribute)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc256">WindowedSinc256 (pedalboard.Resample.Quality attribute)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc32">WindowedSinc32 (pedalboard.Resample.Quality attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc64">WindowedSinc64 (pedalboard.Resample.Quality attribute)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc8">WindowedSinc8 (pedalboard.Resample.Quality attribute)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.write">write() (pedalboard.io.AudioStream method)</a>

<ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.WriteableAudioFile.write">(pedalboard.io.WriteableAudioFile method)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.WriteableAudioFile">WriteableAudioFile (class in pedalboard.io)</a>
</li>
</ul></td>
Expand Down
8 changes: 4 additions & 4 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<meta property="og:title" content="Pedalboard Documentation" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://spotify.github.io/pedalboard/index.html" />
<meta property="og:site_name" content="Pedalboard v0.9.14 Documentation" />
<meta property="og:site_name" content="Pedalboard v0.9.15 Documentation" />
<meta property="og:description" content="🎛 🔊 Documentation for Pedalboard: A Python library for working with audio." />
<meta property="og:image" content="https://repository-images.githubusercontent.com/383471193/0f79b949-9b91-4436-bfc4-05d30ef384cc" />
<meta property="og:image:alt" content="🎛 🔊 Documentation for Pedalboard: A Python library for working with audio." />
<meta name="description" content="Pedalboard Logo License: GPL v3 Documentation PyPI - Python Version Supported Platforms Apple Silicon support for macOS and Linux (Docker) PyPI - Wheel Test Badge Coverage Badge PyPI - Downloads DO..." />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="The pedalboard API" href="reference/pedalboard.html" />

<link rel="shortcut icon" href="_static/favicon.ico"/><meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>Pedalboard v0.9.14 Documentation</title>
<title>Pedalboard v0.9.15 Documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
Expand Down Expand Up @@ -132,7 +132,7 @@
</label>
</div>
<div class="header-center">
<a href="#"><div class="brand">Pedalboard v0.9.14 Documentation</div></a>
<a href="#"><div class="brand">Pedalboard v0.9.15 Documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
Expand All @@ -158,7 +158,7 @@
<img class="sidebar-logo" src="_static/pedalboard_logo_small.png" alt="Logo"/>
</div>

<span class="sidebar-brand-text">Pedalboard v0.9.14 Documentation</span>
<span class="sidebar-brand-text">Pedalboard v0.9.15 Documentation</span>

</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
Expand Down
8 changes: 4 additions & 4 deletions docs/internals.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<meta property="og:title" content="Pedalboard Internals" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://spotify.github.io/pedalboard/internals.html" />
<meta property="og:site_name" content="Pedalboard v0.9.14 Documentation" />
<meta property="og:site_name" content="Pedalboard v0.9.15 Documentation" />
<meta property="og:description" content="Pedalboard is a Python wrapper around JUCE, an open-source cross-platform C++ library for developing audio applications. Most of Pedalboard is written in C++ using pybind11, a library for binding C..." />
<meta property="og:image" content="https://repository-images.githubusercontent.com/383471193/0f79b949-9b91-4436-bfc4-05d30ef384cc" />
<meta property="og:image:alt" content="🎛 🔊 Documentation for Pedalboard: A Python library for working with audio." />
<meta name="description" content="Pedalboard is a Python wrapper around JUCE, an open-source cross-platform C++ library for developing audio applications. Most of Pedalboard is written in C++ using pybind11, a library for binding C..." />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="License" href="license.html" /><link rel="prev" title="Plugin Compatibility" href="compatibility.html" />

<link rel="shortcut icon" href="_static/favicon.ico"/><meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>Pedalboard Internals - Pedalboard v0.9.14 Documentation</title>
<title>Pedalboard Internals - Pedalboard v0.9.15 Documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
Expand Down Expand Up @@ -132,7 +132,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">Pedalboard v0.9.14 Documentation</div></a>
<a href="index.html"><div class="brand">Pedalboard v0.9.15 Documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
Expand All @@ -158,7 +158,7 @@
<img class="sidebar-logo" src="_static/pedalboard_logo_small.png" alt="Logo"/>
</div>

<span class="sidebar-brand-text">Pedalboard v0.9.14 Documentation</span>
<span class="sidebar-brand-text">Pedalboard v0.9.15 Documentation</span>

</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
Expand Down
Loading

0 comments on commit 3a323bf

Please sign in to comment.