Name | pedalboard JSON |
Version |
0.9.16
JSON |
| download |
home_page | None |
Summary | A Python library for adding effects to audio. |
upload_time | 2024-09-18 17:13:36 |
maintainer | None |
docs_url | None |
author | Peter Sobot |
requires_python | None |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
![Pedalboard Logo](https://user-images.githubusercontent.com/213293/131147303-4805181a-c7d5-4afe-afb2-f591a4b8e586.png)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/spotify/pedalboard/blob/master/LICENSE)
[![Documentation](https://img.shields.io/badge/Documentation-on%20github.io-brightgreen)](https://spotify.github.io/pedalboard)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pedalboard)](https://pypi.org/project/pedalboard)
[![Supported Platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Windows%20%7C%20Linux-green)](https://pypi.org/project/pedalboard)
[![Apple Silicon support for macOS and Linux (Docker)](https://img.shields.io/badge/Apple%20Silicon-macOS%20and%20Linux-brightgreen)](https://pypi.org/project/pedalboard)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/pedalboard)](https://pypi.org/project/pedalboard)
[![Test Badge](https://github.com/spotify/pedalboard/actions/workflows/all.yml/badge.svg)](https://github.com/spotify/pedalboard/actions/workflows/all.yml)
[![Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/psobot/8736467e9952991ef44a67915ee7c762/raw/coverage.json)](https://gist.githubusercontent.com/psobot/8736467e9952991ef44a67915ee7c762/raw/coverage.json)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/pedalboard)](https://pypistats.org/packages/pedalboard)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7817838.svg)](https://doi.org/10.5281/zenodo.7817838)
[![GitHub Repo stars](https://img.shields.io/github/stars/spotify/pedalboard?style=social)](https://github.com/spotify/pedalboard/stargazers)
`pedalboard` is a Python library for working with audio: reading, writing, rendering, adding effects, and more. It supports most popular audio file formats and a number of common audio effects out of the box, and also allows the use of [VST3®](https://www.steinberg.net/en/company/technologies/vst3.html) and [Audio Unit](https://en.wikipedia.org/wiki/Audio_Units) formats for loading third-party software instruments and effects.
`pedalboard` was built by [Spotify's Audio Intelligence Lab](https://research.atspotify.com/audio-intelligence/) to enable using studio-quality audio effects from within Python and TensorFlow. Internally at Spotify, `pedalboard` is used for [data augmentation](https://en.wikipedia.org/wiki/Data_augmentation) to improve machine learning models and to help power features like [Spotify's AI DJ](https://newsroom.spotify.com/2023-02-22/spotify-debuts-a-new-ai-dj-right-in-your-pocket/) and [AI Voice Translation](https://newsroom.spotify.com/2023-09-25/ai-voice-translation-pilot-lex-fridman-dax-shepard-steven-bartlett/). `pedalboard` also helps in the process of content creation, making it possible to add effects to audio without using a Digital Audio Workstation.
[![Documentation](https://img.shields.io/badge/Documentation-on%20github.io-brightgreen)](https://spotify.github.io/pedalboard)
## Features
- Built-in audio I/O utilities ([pedalboard.io](https://spotify.github.io/pedalboard/reference/pedalboard.io.html))
- Support for reading and writing AIFF, FLAC, MP3, OGG, and WAV files on all platforms with no dependencies
- Additional support for reading AAC, AC3, WMA, and other formats depending on platform
- Support for on-the-fly resampling of audio files and streams with `O(1)` memory usage
- Live audio effects via <a href="https://spotify.github.io/pedalboard/reference/pedalboard.io.html#pedalboard.io.AudioStream"><code class="docutils literal"><span class="pre">AudioStream</span></code></a>
- Built-in support for a number of basic audio transformations, including:
- Guitar-style effects: `Chorus`, `Distortion`, `Phaser`, `Clipping`
- Loudness and dynamic range effects: `Compressor`, `Gain`, `Limiter`
- Equalizers and filters: `HighpassFilter`, `LadderFilter`, `LowpassFilter`
- Spatial effects: `Convolution`, `Delay`, `Reverb`
- Pitch effects: `PitchShift`
- Lossy compression: `GSMFullRateCompressor`, `MP3Compressor`
- Quality reduction: `Resample`, `Bitcrush`
- Supports VST3® instrument and effect plugins on macOS, Windows, and Linux (<a href="https://spotify.github.io/pedalboard/reference/pedalboard.html#pedalboard.load_plugin"><code class="docutils literal"><span class="pre">pedalboard.load_plugin</span></code></a>)
- Supports instrument and effect Audio Units on macOS
- Strong thread-safety, memory usage, and speed guarantees
- Releases Python's Global Interpreter Lock (GIL) to allow use of multiple CPU cores
- No need to use `multiprocessing`!
- Even when only using one thread:
- Processes audio up to **300x** faster than [pySoX](https://github.com/rabitt/pysox) for single transforms, and 2-5x faster than [SoxBindings](https://github.com/pseeth/soxbindings) (via [iCorv](https://github.com/iCorv/pedalboard_with_tfdata))
- Reads audio files up to **4x** faster than [librosa.load](https://librosa.org/doc/main/generated/librosa.load.html) (in many cases)
- Tested compatibility with TensorFlow - can be used in `tf.data` pipelines!
## Installation
`pedalboard` is available via PyPI (via [Platform Wheels](https://packaging.python.org/guides/distributing-packages-using-setuptools/#platform-wheels)):
```
pip install pedalboard # That's it! No other dependencies required.
```
If you are new to Python, follow [INSTALLATION.md](https://github.com/spotify/pedalboard/blob/master/INSTALLATION.md) for a robust guide.
### Compatibility
`pedalboard` is thoroughly tested with Python 3.8, 3.9, 3.10, 3.11, 3.12, and 3.13.
- Linux
- Tested heavily in production use cases at Spotify
- Tested automatically on GitHub with VSTs
- Platform `manylinux` and `musllinux` wheels built for `x86_64` (Intel/AMD) and `aarch64` (ARM/Apple Silicon)
- Most Linux VSTs require a relatively modern Linux installation (with glibc > 2.27)
- macOS
- Tested manually with VSTs and Audio Units
- Tested automatically on GitHub with VSTs
- Platform wheels available for both Intel and Apple Silicon
- Compatible with a wide range of VSTs and Audio Units
- Windows
- Tested automatically on GitHub with VSTs
- Platform wheels available for `amd64` (x86-64, Intel/AMD)
## Examples
> **Note**: If you'd rather watch a video instead of reading examples or documentation, <strong>watch <a href="https://www.youtube.com/watch?v=NYhkqXpFAlg" target="_blank"><em>Working with Audio in Python (feat. Pedalboard)</em> on YouTube</a></strong>.
### Quick start
```python
from pedalboard import Pedalboard, Chorus, Reverb
from pedalboard.io import AudioFile
# Make a Pedalboard object, containing multiple audio plugins:
board = Pedalboard([Chorus(), Reverb(room_size=0.25)])
# Open an audio file for reading, just like a regular file:
with AudioFile('some-file.wav') as f:
# Open an audio file to write to:
with AudioFile('output.wav', 'w', f.samplerate, f.num_channels) as o:
# Read one second of audio at a time, until the file is empty:
while f.tell() < f.frames:
chunk = f.read(f.samplerate)
# Run the audio through our pedalboard:
effected = board(chunk, f.samplerate, reset=False)
# Write the output to our output file:
o.write(effected)
```
> **Note**: For more information about how to process audio through
> Pedalboard plugins, including how the `reset` parameter works,
> see <a href="https://spotify.github.io/pedalboard/reference/pedalboard.html#pedalboard.Plugin.process">
> the documentation for <code class="docutils literal"><span class="pre">pedalboard.Plugin.process</span></code></a>.
### Making a guitar-style pedalboard
```python
# Don't do import *! (It just makes this example smaller)
from pedalboard import *
from pedalboard.io import AudioFile
# Read in a whole file, resampling to our desired sample rate:
samplerate = 44100.0
with AudioFile('guitar-input.wav').resampled_to(samplerate) as f:
audio = f.read(f.frames)
# Make a pretty interesting sounding guitar pedalboard:
board = Pedalboard([
Compressor(threshold_db=-50, ratio=25),
Gain(gain_db=30),
Chorus(),
LadderFilter(mode=LadderFilter.Mode.HPF12, cutoff_hz=900),
Phaser(),
Convolution("./guitar_amp.wav", 1.0),
Reverb(room_size=0.25),
])
# Pedalboard objects behave like lists, so you can add plugins:
board.append(Compressor(threshold_db=-25, ratio=10))
board.append(Gain(gain_db=10))
board.append(Limiter())
# ... or change parameters easily:
board[0].threshold_db = -40
# Run the audio through this pedalboard!
effected = board(audio, samplerate)
# Write the audio back as a wav file:
with AudioFile('processed-output.wav', 'w', samplerate, effected.shape[0]) as f:
f.write(effected)
```
### Using VST3® or Audio Unit instrument and effect plugins
```python
from pedalboard import Pedalboard, Reverb, load_plugin
from pedalboard.io import AudioFile
from mido import Message # not part of Pedalboard, but convenient!
# Load a VST3 or Audio Unit plugin from a known path on disk:
instrument = load_plugin("./VSTs/Magical8BitPlug2.vst3")
effect = load_plugin("./VSTs/RoughRider3.vst3")
print(effect.parameters.keys())
# dict_keys([
# 'sc_hpf_hz', 'input_lvl_db', 'sensitivity_db',
# 'ratio', 'attack_ms', 'release_ms', 'makeup_db',
# 'mix', 'output_lvl_db', 'sc_active',
# 'full_bandwidth', 'bypass', 'program',
# ])
# Set the "ratio" parameter to 15
effect.ratio = 15
# Render some audio by passing MIDI to an instrument:
sample_rate = 44100
audio = instrument(
[Message("note_on", note=60), Message("note_off", note=60, time=5)],
duration=5, # seconds
sample_rate=sample_rate,
)
# Apply effects to this audio:
effected = effect(audio, sample_rate)
# ...or put the effect into a chain with other plugins:
board = Pedalboard([effect, Reverb()])
# ...and run that pedalboard with the same VST instance!
effected = board(audio, sample_rate)
```
### Creating parallel effects chains
This example creates a delayed pitch-shift effect by running
multiple Pedalboards in parallel on the same audio. `Pedalboard`
objects are themselves `Plugin` objects, so you can nest them
as much as you like:
```python
from pedalboard import Pedalboard, Compressor, Delay, Distortion, Gain, PitchShift, Reverb, Mix
passthrough = Gain(gain_db=0)
delay_and_pitch_shift = Pedalboard([
Delay(delay_seconds=0.25, mix=1.0),
PitchShift(semitones=7),
Gain(gain_db=-3),
])
delay_longer_and_more_pitch_shift = Pedalboard([
Delay(delay_seconds=0.5, mix=1.0),
PitchShift(semitones=12),
Gain(gain_db=-6),
])
board = Pedalboard([
# Put a compressor at the front of the chain:
Compressor(),
# Run all of these pedalboards simultaneously with the Mix plugin:
Mix([
passthrough,
delay_and_pitch_shift,
delay_longer_and_more_pitch_shift,
]),
# Add a reverb on the final mix:
Reverb()
])
```
### Running Pedalboard on Live Audio
`pedalboard` supports streaming live audio through
<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>,
allowing for real-time manipulation of audio by adding effects in Python.
```python
from pedalboard import Pedalboard, Chorus, Compressor, Delay, Gain, Reverb, Phaser
from pedalboard.io import AudioStream
# Open up an audio stream:
with AudioStream(
input_device_name="Apogee Jam+", # Guitar interface
output_device_name="MacBook Pro Speakers"
) as stream:
# Audio is now streaming through this pedalboard and out of your speakers!
stream.plugins = Pedalboard([
Compressor(threshold_db=-50, ratio=25),
Gain(gain_db=30),
Chorus(),
Phaser(),
Convolution("./guitar_amp.wav", 1.0),
Reverb(room_size=0.25),
])
input("Press enter to stop streaming...")
# The live AudioStream is now closed, and audio has stopped.
```
### Using Pedalboard in `tf.data` Pipelines
```python
import tensorflow as tf
sr = 48000
# Put whatever plugins you like in here:
plugins = pedalboard.Pedalboard([pedalboard.Gain(), pedalboard.Reverb()])
# Make a dataset containing random noise:
# NOTE: for real training, here's where you'd want to load your audio somehow:
ds = tf.data.Dataset.from_tensor_slices([np.random.rand(sr)])
# Apply our Pedalboard instance to the tf.data Pipeline:
ds = ds.map(lambda audio: tf.numpy_function(plugins.process, [audio, sr], tf.float32))
# Create and train a (dummy) ML model on this audio:
model = tf.keras.models.Sequential([tf.keras.layers.InputLayer(input_shape=(sr,)), tf.keras.layers.Dense(1)])
model.compile(loss="mse")
model.fit(ds.map(lambda effected: (effected, 1)).batch(1), epochs=10)
```
For more examples, see:
- [the "examples" folder of this repository](https://github.com/spotify/pedalboard/tree/master/examples)
- [the "Pedalboard Demo" Colab notebook](https://colab.research.google.com/drive/1bHjhJj1aCoOlXKl_lOfG99Xs3qWVrhch)
- [_Working with Audio in Python (feat. Pedalboard)_ by Peter Sobot at EuroPython 2022](https://www.youtube.com/watch?v=NYhkqXpFAlg)
- [an interactive web demo on Hugging Face Spaces and Gradio](https://huggingface.co/spaces/akhaliq/pedalboard) (via [@AK391](https://github.com/AK391))
## Contributing
Contributions to `pedalboard` are welcomed! See [CONTRIBUTING.md](https://github.com/spotify/pedalboard/blob/master/CONTRIBUTING.md) for details.
## Citing
To cite `pedalboard` in academic work, use [its entry on Zenodo](https://doi.org/10.5281/zenodo.7817838): [![DOI 7817838](https://zenodo.org/badge/DOI/10.5281/zenodo.7817838.svg)](https://doi.org/10.5281/zenodo.7817838)
To cite via BibTeX:
```tex
@software{sobot_peter_2023_7817838,
author = {Sobot, Peter},
title = {Pedalboard},
month = jul,
year = 2021,
publisher = {Zenodo},
doi = {10.5281/zenodo.7817838},
url = {https://doi.org/10.5281/zenodo.7817838}
}
```
## License
`pedalboard` is Copyright 2021-2024 Spotify AB.
`pedalboard` is licensed under the [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.en.html). `pedalboard` includes a number of libraries that are statically compiled, and which carry the following licenses:
- The core audio processing code is pulled from [JUCE 6](https://juce.com/), which is [dual-licensed under a commercial license and the GPLv3](https://juce.com/juce-6-licence).
- The [VST3 SDK](https://github.com/steinbergmedia/vst3sdk), bundled with JUCE, is owned by [Steinberg® Media Technologies GmbH](https://www.steinberg.net/en/home.html) and licensed under the GPLv3.
- The `PitchShift` plugin and `time_stretch` functions use [the Rubber Band Library](https://github.com/breakfastquay/rubberband), which is [dual-licensed under a commercial license](https://breakfastquay.com/technology/license.html) and the GPLv2 (or newer). [FFTW](https://www.fftw.org/) is also included to speed up Rubber Band, and [is licensed under the GPLv2 (or newer)](https://www.fftw.org/doc/License-and-Copyright.html).
- The `MP3Compressor` plugin uses [libmp3lame from the LAME project](https://lame.sourceforge.io/), which is [licensed under the LGPLv2](https://github.com/lameproject/lame/blob/master/README) and [upgraded to the GPLv3 for inclusion in this project (as permitted by the LGPLv2)](https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility).
- The `GSMFullRateCompressor` plugin uses [libgsm](http://quut.com/gsm/), which is [licensed under the ISC license](https://github.com/timothytylee/libgsm/blob/master/COPYRIGHT) and [compatible with the GPLv3](https://www.gnu.org/licenses/license-list.en.html#ISC).
_VST is a registered trademark of Steinberg Media Technologies GmbH._
Raw data
{
"_id": null,
"home_page": null,
"name": "pedalboard",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Peter Sobot",
"author_email": "psobot@spotify.com",
"download_url": null,
"platform": null,
"description": "![Pedalboard Logo](https://user-images.githubusercontent.com/213293/131147303-4805181a-c7d5-4afe-afb2-f591a4b8e586.png)\n\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/spotify/pedalboard/blob/master/LICENSE)\n[![Documentation](https://img.shields.io/badge/Documentation-on%20github.io-brightgreen)](https://spotify.github.io/pedalboard)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pedalboard)](https://pypi.org/project/pedalboard)\n[![Supported Platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Windows%20%7C%20Linux-green)](https://pypi.org/project/pedalboard)\n[![Apple Silicon support for macOS and Linux (Docker)](https://img.shields.io/badge/Apple%20Silicon-macOS%20and%20Linux-brightgreen)](https://pypi.org/project/pedalboard)\n[![PyPI - Wheel](https://img.shields.io/pypi/wheel/pedalboard)](https://pypi.org/project/pedalboard)\n[![Test Badge](https://github.com/spotify/pedalboard/actions/workflows/all.yml/badge.svg)](https://github.com/spotify/pedalboard/actions/workflows/all.yml)\n[![Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/psobot/8736467e9952991ef44a67915ee7c762/raw/coverage.json)](https://gist.githubusercontent.com/psobot/8736467e9952991ef44a67915ee7c762/raw/coverage.json)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/pedalboard)](https://pypistats.org/packages/pedalboard)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7817838.svg)](https://doi.org/10.5281/zenodo.7817838)\n[![GitHub Repo stars](https://img.shields.io/github/stars/spotify/pedalboard?style=social)](https://github.com/spotify/pedalboard/stargazers)\n\n\n`pedalboard` is a Python library for working with audio: reading, writing, rendering, adding effects, and more. It supports most popular audio file formats and a number of common audio effects out of the box, and also allows the use of [VST3\u00ae](https://www.steinberg.net/en/company/technologies/vst3.html) and [Audio Unit](https://en.wikipedia.org/wiki/Audio_Units) formats for loading third-party software instruments and effects.\n\n`pedalboard` was built by [Spotify's Audio Intelligence Lab](https://research.atspotify.com/audio-intelligence/) to enable using studio-quality audio effects from within Python and TensorFlow. Internally at Spotify, `pedalboard` is used for [data augmentation](https://en.wikipedia.org/wiki/Data_augmentation) to improve machine learning models and to help power features like [Spotify's AI DJ](https://newsroom.spotify.com/2023-02-22/spotify-debuts-a-new-ai-dj-right-in-your-pocket/) and [AI Voice Translation](https://newsroom.spotify.com/2023-09-25/ai-voice-translation-pilot-lex-fridman-dax-shepard-steven-bartlett/). `pedalboard` also helps in the process of content creation, making it possible to add effects to audio without using a Digital Audio Workstation.\n\n[![Documentation](https://img.shields.io/badge/Documentation-on%20github.io-brightgreen)](https://spotify.github.io/pedalboard)\n\n## Features \n\n - Built-in audio I/O utilities ([pedalboard.io](https://spotify.github.io/pedalboard/reference/pedalboard.io.html))\n - Support for reading and writing AIFF, FLAC, MP3, OGG, and WAV files on all platforms with no dependencies\n - Additional support for reading AAC, AC3, WMA, and other formats depending on platform\n - Support for on-the-fly resampling of audio files and streams with `O(1)` memory usage\n - Live audio effects via <a href=\"https://spotify.github.io/pedalboard/reference/pedalboard.io.html#pedalboard.io.AudioStream\"><code class=\"docutils literal\"><span class=\"pre\">AudioStream</span></code></a>\n - Built-in support for a number of basic audio transformations, including:\n - Guitar-style effects: `Chorus`, `Distortion`, `Phaser`, `Clipping`\n - Loudness and dynamic range effects: `Compressor`, `Gain`, `Limiter`\n - Equalizers and filters: `HighpassFilter`, `LadderFilter`, `LowpassFilter`\n - Spatial effects: `Convolution`, `Delay`, `Reverb`\n - Pitch effects: `PitchShift`\n - Lossy compression: `GSMFullRateCompressor`, `MP3Compressor`\n - Quality reduction: `Resample`, `Bitcrush`\n - Supports VST3\u00ae instrument and effect plugins on macOS, Windows, and Linux (<a href=\"https://spotify.github.io/pedalboard/reference/pedalboard.html#pedalboard.load_plugin\"><code class=\"docutils literal\"><span class=\"pre\">pedalboard.load_plugin</span></code></a>)\n - Supports instrument and effect Audio Units on macOS\n - Strong thread-safety, memory usage, and speed guarantees\n - Releases Python's Global Interpreter Lock (GIL) to allow use of multiple CPU cores\n - No need to use `multiprocessing`!\n - Even when only using one thread:\n - Processes audio up to **300x** faster than [pySoX](https://github.com/rabitt/pysox) for single transforms, and 2-5x faster than [SoxBindings](https://github.com/pseeth/soxbindings) (via [iCorv](https://github.com/iCorv/pedalboard_with_tfdata))\n - Reads audio files up to **4x** faster than [librosa.load](https://librosa.org/doc/main/generated/librosa.load.html) (in many cases)\n - Tested compatibility with TensorFlow - can be used in `tf.data` pipelines!\n\n## Installation\n\n`pedalboard` is available via PyPI (via [Platform Wheels](https://packaging.python.org/guides/distributing-packages-using-setuptools/#platform-wheels)):\n```\npip install pedalboard # That's it! No other dependencies required.\n```\n\nIf you are new to Python, follow [INSTALLATION.md](https://github.com/spotify/pedalboard/blob/master/INSTALLATION.md) for a robust guide.\n\n### Compatibility\n\n`pedalboard` is thoroughly tested with Python 3.8, 3.9, 3.10, 3.11, 3.12, and 3.13.\n\n- Linux\n - Tested heavily in production use cases at Spotify\n - Tested automatically on GitHub with VSTs\n - Platform `manylinux` and `musllinux` wheels built for `x86_64` (Intel/AMD) and `aarch64` (ARM/Apple Silicon)\n - Most Linux VSTs require a relatively modern Linux installation (with glibc > 2.27)\n- macOS\n - Tested manually with VSTs and Audio Units\n - Tested automatically on GitHub with VSTs\n - Platform wheels available for both Intel and Apple Silicon\n - Compatible with a wide range of VSTs and Audio Units\n- Windows\n - Tested automatically on GitHub with VSTs\n - Platform wheels available for `amd64` (x86-64, Intel/AMD)\n\n## Examples\n\n> **Note**: If you'd rather watch a video instead of reading examples or documentation, <strong>watch <a href=\"https://www.youtube.com/watch?v=NYhkqXpFAlg\" target=\"_blank\"><em>Working with Audio in Python (feat. Pedalboard)</em> on YouTube</a></strong>.\n\n### Quick start\n\n```python\nfrom pedalboard import Pedalboard, Chorus, Reverb\nfrom pedalboard.io import AudioFile\n\n# Make a Pedalboard object, containing multiple audio plugins:\nboard = Pedalboard([Chorus(), Reverb(room_size=0.25)])\n\n# Open an audio file for reading, just like a regular file:\nwith AudioFile('some-file.wav') as f:\n \n # Open an audio file to write to:\n with AudioFile('output.wav', 'w', f.samplerate, f.num_channels) as o:\n \n # Read one second of audio at a time, until the file is empty:\n while f.tell() < f.frames:\n chunk = f.read(f.samplerate)\n \n # Run the audio through our pedalboard:\n effected = board(chunk, f.samplerate, reset=False)\n \n # Write the output to our output file:\n o.write(effected)\n```\n\n> **Note**: For more information about how to process audio through\n> Pedalboard plugins, including how the `reset` parameter works,\n> see <a href=\"https://spotify.github.io/pedalboard/reference/pedalboard.html#pedalboard.Plugin.process\">\n> the documentation for <code class=\"docutils literal\"><span class=\"pre\">pedalboard.Plugin.process</span></code></a>.\n\n### Making a guitar-style pedalboard\n\n```python\n# Don't do import *! (It just makes this example smaller)\nfrom pedalboard import *\nfrom pedalboard.io import AudioFile\n\n# Read in a whole file, resampling to our desired sample rate:\nsamplerate = 44100.0\nwith AudioFile('guitar-input.wav').resampled_to(samplerate) as f:\n audio = f.read(f.frames)\n\n# Make a pretty interesting sounding guitar pedalboard:\nboard = Pedalboard([\n Compressor(threshold_db=-50, ratio=25),\n Gain(gain_db=30),\n Chorus(),\n LadderFilter(mode=LadderFilter.Mode.HPF12, cutoff_hz=900),\n Phaser(),\n Convolution(\"./guitar_amp.wav\", 1.0),\n Reverb(room_size=0.25),\n])\n\n# Pedalboard objects behave like lists, so you can add plugins:\nboard.append(Compressor(threshold_db=-25, ratio=10))\nboard.append(Gain(gain_db=10))\nboard.append(Limiter())\n\n# ... or change parameters easily:\nboard[0].threshold_db = -40\n\n# Run the audio through this pedalboard!\neffected = board(audio, samplerate)\n\n# Write the audio back as a wav file:\nwith AudioFile('processed-output.wav', 'w', samplerate, effected.shape[0]) as f:\n f.write(effected)\n```\n\n### Using VST3\u00ae or Audio Unit instrument and effect plugins\n\n```python\nfrom pedalboard import Pedalboard, Reverb, load_plugin\nfrom pedalboard.io import AudioFile\nfrom mido import Message # not part of Pedalboard, but convenient!\n\n# Load a VST3 or Audio Unit plugin from a known path on disk:\ninstrument = load_plugin(\"./VSTs/Magical8BitPlug2.vst3\")\neffect = load_plugin(\"./VSTs/RoughRider3.vst3\")\n\nprint(effect.parameters.keys())\n# dict_keys([\n# 'sc_hpf_hz', 'input_lvl_db', 'sensitivity_db',\n# 'ratio', 'attack_ms', 'release_ms', 'makeup_db',\n# 'mix', 'output_lvl_db', 'sc_active',\n# 'full_bandwidth', 'bypass', 'program',\n# ])\n\n# Set the \"ratio\" parameter to 15\neffect.ratio = 15\n\n# Render some audio by passing MIDI to an instrument:\nsample_rate = 44100\naudio = instrument(\n [Message(\"note_on\", note=60), Message(\"note_off\", note=60, time=5)],\n duration=5, # seconds\n sample_rate=sample_rate,\n)\n\n# Apply effects to this audio:\neffected = effect(audio, sample_rate)\n\n# ...or put the effect into a chain with other plugins:\nboard = Pedalboard([effect, Reverb()])\n# ...and run that pedalboard with the same VST instance!\neffected = board(audio, sample_rate)\n```\n\n### Creating parallel effects chains\n\nThis example creates a delayed pitch-shift effect by running\nmultiple Pedalboards in parallel on the same audio. `Pedalboard`\nobjects are themselves `Plugin` objects, so you can nest them\nas much as you like:\n\n```python\nfrom pedalboard import Pedalboard, Compressor, Delay, Distortion, Gain, PitchShift, Reverb, Mix\n\npassthrough = Gain(gain_db=0)\n\ndelay_and_pitch_shift = Pedalboard([\n Delay(delay_seconds=0.25, mix=1.0),\n PitchShift(semitones=7),\n Gain(gain_db=-3),\n])\n\ndelay_longer_and_more_pitch_shift = Pedalboard([\n Delay(delay_seconds=0.5, mix=1.0),\n PitchShift(semitones=12),\n Gain(gain_db=-6),\n])\n\nboard = Pedalboard([\n # Put a compressor at the front of the chain:\n Compressor(),\n # Run all of these pedalboards simultaneously with the Mix plugin:\n Mix([\n passthrough,\n delay_and_pitch_shift,\n delay_longer_and_more_pitch_shift,\n ]),\n # Add a reverb on the final mix:\n Reverb()\n])\n```\n\n### Running Pedalboard on Live Audio\n\n`pedalboard` supports streaming live audio through\n<a href=\"https://spotify.github.io/pedalboard/reference/pedalboard.io.html#pedalboard.io.AudioStream\">\nan <code class=\"docutils literal\"><span class=\"pre\">AudioStream</span></code> object</a>,\nallowing for real-time manipulation of audio by adding effects in Python.\n\n```python\nfrom pedalboard import Pedalboard, Chorus, Compressor, Delay, Gain, Reverb, Phaser\nfrom pedalboard.io import AudioStream\n\n# Open up an audio stream:\nwith AudioStream(\n input_device_name=\"Apogee Jam+\", # Guitar interface\n output_device_name=\"MacBook Pro Speakers\"\n) as stream:\n # Audio is now streaming through this pedalboard and out of your speakers!\n stream.plugins = Pedalboard([\n Compressor(threshold_db=-50, ratio=25),\n Gain(gain_db=30),\n Chorus(),\n Phaser(),\n Convolution(\"./guitar_amp.wav\", 1.0),\n Reverb(room_size=0.25),\n ])\n input(\"Press enter to stop streaming...\")\n\n# The live AudioStream is now closed, and audio has stopped.\n```\n\n### Using Pedalboard in `tf.data` Pipelines\n\n```python\nimport tensorflow as tf \n\nsr = 48000 \n\n# Put whatever plugins you like in here:\nplugins = pedalboard.Pedalboard([pedalboard.Gain(), pedalboard.Reverb()]) \n\n# Make a dataset containing random noise:\n# NOTE: for real training, here's where you'd want to load your audio somehow:\nds = tf.data.Dataset.from_tensor_slices([np.random.rand(sr)])\n\n# Apply our Pedalboard instance to the tf.data Pipeline:\nds = ds.map(lambda audio: tf.numpy_function(plugins.process, [audio, sr], tf.float32)) \n\n# Create and train a (dummy) ML model on this audio:\nmodel = tf.keras.models.Sequential([tf.keras.layers.InputLayer(input_shape=(sr,)), tf.keras.layers.Dense(1)])\nmodel.compile(loss=\"mse\") \nmodel.fit(ds.map(lambda effected: (effected, 1)).batch(1), epochs=10)\n```\n\nFor more examples, see:\n - [the \"examples\" folder of this repository](https://github.com/spotify/pedalboard/tree/master/examples)\n - [the \"Pedalboard Demo\" Colab notebook](https://colab.research.google.com/drive/1bHjhJj1aCoOlXKl_lOfG99Xs3qWVrhch)\n - [_Working with Audio in Python (feat. Pedalboard)_ by Peter Sobot at EuroPython 2022](https://www.youtube.com/watch?v=NYhkqXpFAlg)\n - [an interactive web demo on Hugging Face Spaces and Gradio](https://huggingface.co/spaces/akhaliq/pedalboard) (via [@AK391](https://github.com/AK391)) \n\n## Contributing\n\nContributions to `pedalboard` are welcomed! See [CONTRIBUTING.md](https://github.com/spotify/pedalboard/blob/master/CONTRIBUTING.md) for details.\n\n## Citing\n\nTo cite `pedalboard` in academic work, use [its entry on Zenodo](https://doi.org/10.5281/zenodo.7817838): [![DOI 7817838](https://zenodo.org/badge/DOI/10.5281/zenodo.7817838.svg)](https://doi.org/10.5281/zenodo.7817838)\n\nTo cite via BibTeX:\n\n```tex\n@software{sobot_peter_2023_7817838,\n author = {Sobot, Peter},\n title = {Pedalboard},\n month = jul,\n year = 2021,\n publisher = {Zenodo},\n doi = {10.5281/zenodo.7817838},\n url = {https://doi.org/10.5281/zenodo.7817838}\n}\n```\n\n## License\n`pedalboard` is Copyright 2021-2024 Spotify AB.\n\n`pedalboard` is licensed under the [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.en.html). `pedalboard` includes a number of libraries that are statically compiled, and which carry the following licenses:\n\n - The core audio processing code is pulled from [JUCE 6](https://juce.com/), which is [dual-licensed under a commercial license and the GPLv3](https://juce.com/juce-6-licence).\n - The [VST3 SDK](https://github.com/steinbergmedia/vst3sdk), bundled with JUCE, is owned by [Steinberg\u00ae Media Technologies GmbH](https://www.steinberg.net/en/home.html) and licensed under the GPLv3.\n - The `PitchShift` plugin and `time_stretch` functions use [the Rubber Band Library](https://github.com/breakfastquay/rubberband), which is [dual-licensed under a commercial license](https://breakfastquay.com/technology/license.html) and the GPLv2 (or newer). [FFTW](https://www.fftw.org/) is also included to speed up Rubber Band, and [is licensed under the GPLv2 (or newer)](https://www.fftw.org/doc/License-and-Copyright.html).\n - The `MP3Compressor` plugin uses [libmp3lame from the LAME project](https://lame.sourceforge.io/), which is [licensed under the LGPLv2](https://github.com/lameproject/lame/blob/master/README) and [upgraded to the GPLv3 for inclusion in this project (as permitted by the LGPLv2)](https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility).\n - The `GSMFullRateCompressor` plugin uses [libgsm](http://quut.com/gsm/), which is [licensed under the ISC license](https://github.com/timothytylee/libgsm/blob/master/COPYRIGHT) and [compatible with the GPLv3](https://www.gnu.org/licenses/license-list.en.html#ISC).\n\n_VST is a registered trademark of Steinberg Media Technologies GmbH._\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python library for adding effects to audio.",
"version": "0.9.16",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ebd2faec9c347334358227a54540abf75fc0dea0f07d2ec704cbc94e0d2f22ed",
"md5": "8f92db3b759715ab7cfa8c7b1d6a2875",
"sha256": "9d68f2a0816f4b611ef9e6fd2d216c0f89840c7aa855efdb499b63b5e8014009"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp310-cp310-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "8f92db3b759715ab7cfa8c7b1d6a2875",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 2615302,
"upload_time": "2024-09-18T17:13:36",
"upload_time_iso_8601": "2024-09-18T17:13:36.411389Z",
"url": "https://files.pythonhosted.org/packages/eb/d2/faec9c347334358227a54540abf75fc0dea0f07d2ec704cbc94e0d2f22ed/pedalboard-0.9.16-cp310-cp310-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c9eae3549f4ff6816a7b16e1e8e782a6bd6356a41ebd969fd2d93f776256c879",
"md5": "1b5b69cac1ade037dce3363a3ff6d325",
"sha256": "2ac0f9c57a89c2e437a41288cd5da42d65d737457848fd95adfba7c97bb99914"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "1b5b69cac1ade037dce3363a3ff6d325",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 2400485,
"upload_time": "2024-09-18T17:13:38",
"upload_time_iso_8601": "2024-09-18T17:13:38.922050Z",
"url": "https://files.pythonhosted.org/packages/c9/ea/e3549f4ff6816a7b16e1e8e782a6bd6356a41ebd969fd2d93f776256c879/pedalboard-0.9.16-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e5b5e5c633e197b79acf308aa8690bdc99342495f3ed2c5033111442601fe91",
"md5": "f801177d3bdf1e84fe970d4d2bcbf5c2",
"sha256": "89270613982174fb0ce6d10e6f251d78ef15aa21438c22753db87d974d5e2b27"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "f801177d3bdf1e84fe970d4d2bcbf5c2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 7602277,
"upload_time": "2024-09-18T17:13:40",
"upload_time_iso_8601": "2024-09-18T17:13:40.946633Z",
"url": "https://files.pythonhosted.org/packages/0e/5b/5e5c633e197b79acf308aa8690bdc99342495f3ed2c5033111442601fe91/pedalboard-0.9.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f9410e4dd72cd938a12e46d9b4b48df20c15a139390c2a99f31bb11c9dcd0652",
"md5": "e49c31be21157b14296a20a13b2d333b",
"sha256": "5712fe0f07eb0a0955681b867c2aff7f57e3d4d8dbf05a3d6f1eb0404cb0e679"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e49c31be21157b14296a20a13b2d333b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 7858565,
"upload_time": "2024-09-18T17:13:43",
"upload_time_iso_8601": "2024-09-18T17:13:43.398836Z",
"url": "https://files.pythonhosted.org/packages/f9/41/0e4dd72cd938a12e46d9b4b48df20c15a139390c2a99f31bb11c9dcd0652/pedalboard-0.9.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "12c7c8a42233e149c96875e71e7a0aa16d6d0b9a68311965d652803a1814afee",
"md5": "6ed9aae75e23bbac88ee52670eca04e7",
"sha256": "b040271cc9eadaa14f0a0afdc2393e8b11fe1ed6967de0ed2957b3dc0b2d1431"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp310-cp310-musllinux_1_1_aarch64.whl",
"has_sig": false,
"md5_digest": "6ed9aae75e23bbac88ee52670eca04e7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 7019040,
"upload_time": "2024-09-18T17:13:46",
"upload_time_iso_8601": "2024-09-18T17:13:46.657926Z",
"url": "https://files.pythonhosted.org/packages/12/c7/c8a42233e149c96875e71e7a0aa16d6d0b9a68311965d652803a1814afee/pedalboard-0.9.16-cp310-cp310-musllinux_1_1_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "517ae11f0ce0a8aaa327b3d4bd308f8ac0116ddaed9fa0f1bc3a57271c97da62",
"md5": "59742b06d315dd00987fd9e918a039cf",
"sha256": "29ba6f8d785060f4c2e9e659d3ab45559c1ce222b468dc1676f6345dcc17b6df"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "59742b06d315dd00987fd9e918a039cf",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 7180224,
"upload_time": "2024-09-18T17:13:48",
"upload_time_iso_8601": "2024-09-18T17:13:48.661064Z",
"url": "https://files.pythonhosted.org/packages/51/7a/e11f0ce0a8aaa327b3d4bd308f8ac0116ddaed9fa0f1bc3a57271c97da62/pedalboard-0.9.16-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74dc02f5c2b9307964304e9d6231ce7061381319ee8b3894fe08ea39e4e62081",
"md5": "e6ada901e1c2be77620e0cbffbfc7ba0",
"sha256": "6f82a4941e9ad72a0c672994fa45453521eedf05081367b77c0a09cdabc25b9c"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "e6ada901e1c2be77620e0cbffbfc7ba0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3105377,
"upload_time": "2024-09-18T17:13:50",
"upload_time_iso_8601": "2024-09-18T17:13:50.266296Z",
"url": "https://files.pythonhosted.org/packages/74/dc/02f5c2b9307964304e9d6231ce7061381319ee8b3894fe08ea39e4e62081/pedalboard-0.9.16-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "92385b6bab2de1adcbd71a52505ac23c49d57f1e970cf76d514802c353deb841",
"md5": "93c646699157d771e344eb1e76d9693a",
"sha256": "57f1a78e9d253263360d8de1d6bc24d37f827511fae63035a4d5b0477a891401"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp311-cp311-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "93c646699157d771e344eb1e76d9693a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 2616438,
"upload_time": "2024-09-18T17:13:52",
"upload_time_iso_8601": "2024-09-18T17:13:52.053930Z",
"url": "https://files.pythonhosted.org/packages/92/38/5b6bab2de1adcbd71a52505ac23c49d57f1e970cf76d514802c353deb841/pedalboard-0.9.16-cp311-cp311-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7a9e62a4a4bc6ad63d27cbe88cf5c4ce66bfb6306de093fa2f8d834b0a457c31",
"md5": "846408a7aeb71d865f16ac63b3323c0b",
"sha256": "c90e80f3b8a6397b4918aabf4635053b8c62d55414038defa9906c378443f2f0"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "846408a7aeb71d865f16ac63b3323c0b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 2401276,
"upload_time": "2024-09-18T17:13:53",
"upload_time_iso_8601": "2024-09-18T17:13:53.439284Z",
"url": "https://files.pythonhosted.org/packages/7a/9e/62a4a4bc6ad63d27cbe88cf5c4ce66bfb6306de093fa2f8d834b0a457c31/pedalboard-0.9.16-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b7c160fa96cfacc84617e1a512866c0c5d442656af88108133eb72bd06325549",
"md5": "157bb139829b5c7647f57a8a3683c134",
"sha256": "8873a52e06b41336f06f93306bb113545485bbf3759f30d5f6bf887c5056902d"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "157bb139829b5c7647f57a8a3683c134",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 7604019,
"upload_time": "2024-09-18T17:13:54",
"upload_time_iso_8601": "2024-09-18T17:13:54.772584Z",
"url": "https://files.pythonhosted.org/packages/b7/c1/60fa96cfacc84617e1a512866c0c5d442656af88108133eb72bd06325549/pedalboard-0.9.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a038b05541be56015600417a1c8e739aea6fff88434b0eb014ee450f4304c625",
"md5": "c7e942df833bf532416664535915901c",
"sha256": "e870cac507fdae73fa0bfbe6d1d5de380228862d4eba9164d1615e9bccaf6d04"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c7e942df833bf532416664535915901c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 7858146,
"upload_time": "2024-09-18T17:13:56",
"upload_time_iso_8601": "2024-09-18T17:13:56.536713Z",
"url": "https://files.pythonhosted.org/packages/a0/38/b05541be56015600417a1c8e739aea6fff88434b0eb014ee450f4304c625/pedalboard-0.9.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bc7f319758b75fca05483ab834ba19ff56a3170b91be3c1ab291bf6efcce270e",
"md5": "152c5644adcb36fa44d19533e9a1d587",
"sha256": "abdb338b9231c509e0ed900507f128a65a79a272c3c284fa3912c53751a4f3c3"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "152c5644adcb36fa44d19533e9a1d587",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3106331,
"upload_time": "2024-09-18T17:13:57",
"upload_time_iso_8601": "2024-09-18T17:13:57.967954Z",
"url": "https://files.pythonhosted.org/packages/bc/7f/319758b75fca05483ab834ba19ff56a3170b91be3c1ab291bf6efcce270e/pedalboard-0.9.16-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "83afb7de13536d1e7e1e5998f3b73e5cd342296e0f8be00acc31318a7e54e4e6",
"md5": "0fbb728085fcac42c720d8e13fad33b2",
"sha256": "0f352356fdb8e6246a0577a62ce003781c2a5fa9ba0f6b09cf344e5a51142288"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-macosx_10_14_universal2.whl",
"has_sig": false,
"md5_digest": "0fbb728085fcac42c720d8e13fad33b2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 4980631,
"upload_time": "2024-09-18T17:13:59",
"upload_time_iso_8601": "2024-09-18T17:13:59.570182Z",
"url": "https://files.pythonhosted.org/packages/83/af/b7de13536d1e7e1e5998f3b73e5cd342296e0f8be00acc31318a7e54e4e6/pedalboard-0.9.16-cp312-cp312-macosx_10_14_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7158e053eab9654c51a652bac846853ee3149c3b8aa083fecf6236d1fe675235",
"md5": "8e7f38d47a39de9c5105171db71c30ee",
"sha256": "4b92ab1c940d27dcd520cd376a61aa99d442edd27b6787ee6193ad7f8bd799e5"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "8e7f38d47a39de9c5105171db71c30ee",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 2629466,
"upload_time": "2024-09-18T17:14:01",
"upload_time_iso_8601": "2024-09-18T17:14:01.079906Z",
"url": "https://files.pythonhosted.org/packages/71/58/e053eab9654c51a652bac846853ee3149c3b8aa083fecf6236d1fe675235/pedalboard-0.9.16-cp312-cp312-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f592bf8b59bc50e1a233958456558ac8809053b19f129e7851db13ad64be7883",
"md5": "9c13b09c21605f11da4cb264750662cd",
"sha256": "2b6161453ac8f8f28f67b49eeaf58f41448f61b54a73e151c0a59626ab574d08"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9c13b09c21605f11da4cb264750662cd",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 2409484,
"upload_time": "2024-09-18T17:14:02",
"upload_time_iso_8601": "2024-09-18T17:14:02.417539Z",
"url": "https://files.pythonhosted.org/packages/f5/92/bf8b59bc50e1a233958456558ac8809053b19f129e7851db13ad64be7883/pedalboard-0.9.16-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6e3e9910129edc8cddcc5c2dea5e3ee39eabeb363f141aac1d938f8783181357",
"md5": "54d08d79f3c61a66c6eee16c9655a002",
"sha256": "7e32ad20a3ffc13324cbf17a1c3fae9c08a391edabcfa371d2ad0ed08bedfffb"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "54d08d79f3c61a66c6eee16c9655a002",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 7601509,
"upload_time": "2024-09-18T17:14:05",
"upload_time_iso_8601": "2024-09-18T17:14:05.391840Z",
"url": "https://files.pythonhosted.org/packages/6e/3e/9910129edc8cddcc5c2dea5e3ee39eabeb363f141aac1d938f8783181357/pedalboard-0.9.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3905fb3641ceb261146e2cca76d748216fda50578ffb106e51518ad8023a9cf7",
"md5": "b33cdecab7e8316e1aad416d32957328",
"sha256": "eac5dd6627bbd8c239c916bffbb7c5d9588d99867591d2e43ab6efd79f75ccbc"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "b33cdecab7e8316e1aad416d32957328",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 7866587,
"upload_time": "2024-09-18T17:14:07",
"upload_time_iso_8601": "2024-09-18T17:14:07.490510Z",
"url": "https://files.pythonhosted.org/packages/39/05/fb3641ceb261146e2cca76d748216fda50578ffb106e51518ad8023a9cf7/pedalboard-0.9.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "30f83009508d7114136b47c47cc142a2463acd7daebe9504f6771ea895d947a9",
"md5": "f16ee9a8faa884695a5f766f6d33b5f7",
"sha256": "3a523fba1756d1bed0f5e3ae9816d70ffa971457f67adf4efd03cca0310a879a"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-musllinux_1_1_aarch64.whl",
"has_sig": false,
"md5_digest": "f16ee9a8faa884695a5f766f6d33b5f7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 7034022,
"upload_time": "2024-09-18T17:14:09",
"upload_time_iso_8601": "2024-09-18T17:14:09.597870Z",
"url": "https://files.pythonhosted.org/packages/30/f8/3009508d7114136b47c47cc142a2463acd7daebe9504f6771ea895d947a9/pedalboard-0.9.16-cp312-cp312-musllinux_1_1_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2a8ba35cee6a33274c135440aec3f0ae0782b9a0019aca0ec13a062cf5cd3c3e",
"md5": "4c47828ce1a8a991606b3102fdff9687",
"sha256": "dece4acbc8d43f6a0b44c4af48fdeb90c181890babe88c77cfcee726fbb73865"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "4c47828ce1a8a991606b3102fdff9687",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 7203279,
"upload_time": "2024-09-18T17:14:11",
"upload_time_iso_8601": "2024-09-18T17:14:11.693420Z",
"url": "https://files.pythonhosted.org/packages/2a/8b/a35cee6a33274c135440aec3f0ae0782b9a0019aca0ec13a062cf5cd3c3e/pedalboard-0.9.16-cp312-cp312-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eac66b42fac86cdba73669a19a667e995322c6719b61ebdedd7fac32db475d95",
"md5": "61f9f2f32ba8253e209de900be0576e7",
"sha256": "3d2a815c0fd045a252fdfa57baa9bf35e7dff5e1ddcda8bf1a9ae59b53d3e798"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "61f9f2f32ba8253e209de900be0576e7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 2657323,
"upload_time": "2024-09-18T17:14:13",
"upload_time_iso_8601": "2024-09-18T17:14:13.436442Z",
"url": "https://files.pythonhosted.org/packages/ea/c6/6b42fac86cdba73669a19a667e995322c6719b61ebdedd7fac32db475d95/pedalboard-0.9.16-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5a3fc66f6b5d3729805c32f8a764b5a19da258e3af8a1ba3c41508eeaa9abd00",
"md5": "4ce76161ac911ea3f16402f7b24c4af1",
"sha256": "6baf122b22403e5bff2477f37e17e457ad7db1621948debf558f8b2cfe64f39e"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "4ce76161ac911ea3f16402f7b24c4af1",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3106175,
"upload_time": "2024-09-18T17:14:14",
"upload_time_iso_8601": "2024-09-18T17:14:14.743193Z",
"url": "https://files.pythonhosted.org/packages/5a/3f/c66f6b5d3729805c32f8a764b5a19da258e3af8a1ba3c41508eeaa9abd00/pedalboard-0.9.16-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6f3efed6202a68c51c26196f5da09385d9eb74b34f0fb72cc3eab80df505a6ce",
"md5": "fa659a599d5be6aff930ad8da9003a27",
"sha256": "b84fe32ab13b50076e21d1e79bbef7c00f43bb3623c84d7ced1022b0d9ed55ca"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "fa659a599d5be6aff930ad8da9003a27",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 2629618,
"upload_time": "2024-09-18T17:14:16",
"upload_time_iso_8601": "2024-09-18T17:14:16.689794Z",
"url": "https://files.pythonhosted.org/packages/6f/3e/fed6202a68c51c26196f5da09385d9eb74b34f0fb72cc3eab80df505a6ce/pedalboard-0.9.16-cp313-cp313-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d99cf9c8f5bd63c17523176308028a7a624978a8f7dd9d3c3b33487ba2aa66dd",
"md5": "492473748faf567cc2a62490be2c619f",
"sha256": "031e6833c5983c3fe0a96bc4ff04790663a9e95a01c402828bd5a4eff4b8b541"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "492473748faf567cc2a62490be2c619f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 2409439,
"upload_time": "2024-09-18T17:14:18",
"upload_time_iso_8601": "2024-09-18T17:14:18.553877Z",
"url": "https://files.pythonhosted.org/packages/d9/9c/f9c8f5bd63c17523176308028a7a624978a8f7dd9d3c3b33487ba2aa66dd/pedalboard-0.9.16-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9295373d6a2d7018c1fb7f1d8c3ff40ae5c788dc2b51a3a3d32dcd3ce96086a3",
"md5": "858fd58b56c4ef16995e9a8ccb80dea4",
"sha256": "4be376b2727341cac2540e9f0f3b1d0bb2449ceed7f92399bcfabae052ae7a1a"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "858fd58b56c4ef16995e9a8ccb80dea4",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 7601509,
"upload_time": "2024-09-18T17:14:20",
"upload_time_iso_8601": "2024-09-18T17:14:20.872168Z",
"url": "https://files.pythonhosted.org/packages/92/95/373d6a2d7018c1fb7f1d8c3ff40ae5c788dc2b51a3a3d32dcd3ce96086a3/pedalboard-0.9.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "792cf876c2ae94dffb283ffe9c5b788dcc32430580fd99a5e99cf5ae25ef669d",
"md5": "655dc56d5ed7e87a8545ee90fac52457",
"sha256": "0e46117dc1b62af13bdd4a7ac53b6d92b3a001f2c68ce89bacced9bfcaafe295"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "655dc56d5ed7e87a8545ee90fac52457",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 7866581,
"upload_time": "2024-09-18T17:14:22",
"upload_time_iso_8601": "2024-09-18T17:14:22.551170Z",
"url": "https://files.pythonhosted.org/packages/79/2c/f876c2ae94dffb283ffe9c5b788dcc32430580fd99a5e99cf5ae25ef669d/pedalboard-0.9.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b981ca0059e343f306b276b6dce136095cfae82723da6022989f656449620fcc",
"md5": "42c6bd6e8eef86a3dbd175fa357b5b3d",
"sha256": "8ffadf7de250d4ccc45929f88b49979d9243077b910fb352eb3cc7231f240d8e"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313t-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "42c6bd6e8eef86a3dbd175fa357b5b3d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 2672545,
"upload_time": "2024-09-18T17:14:25",
"upload_time_iso_8601": "2024-09-18T17:14:25.971643Z",
"url": "https://files.pythonhosted.org/packages/b9/81/ca0059e343f306b276b6dce136095cfae82723da6022989f656449620fcc/pedalboard-0.9.16-cp313-cp313t-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9d0485e55fc2ce426790c03aeb49cc91a6d518ac85bca953cd833386dd9a319c",
"md5": "82f6eb720df1cb33a36e5f92bc420a05",
"sha256": "a260d2c5bc79f90340e5eef985919da92188dea9b493b4756d622f6e7e151028"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313t-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "82f6eb720df1cb33a36e5f92bc420a05",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 2450465,
"upload_time": "2024-09-18T17:14:27",
"upload_time_iso_8601": "2024-09-18T17:14:27.349825Z",
"url": "https://files.pythonhosted.org/packages/9d/04/85e55fc2ce426790c03aeb49cc91a6d518ac85bca953cd833386dd9a319c/pedalboard-0.9.16-cp313-cp313t-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9c97e7dd59c5ebd3f60b959330c46a335ba9e4d024d44c48179ace5e88f4ca3c",
"md5": "6897760d0805c4143ba2cff24ad9dcf6",
"sha256": "8abf69fe280c0c834750072692d5ebb3b4ba7ef49d50b369946d4743a723bb49"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "6897760d0805c4143ba2cff24ad9dcf6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 7638953,
"upload_time": "2024-09-18T17:14:28",
"upload_time_iso_8601": "2024-09-18T17:14:28.793914Z",
"url": "https://files.pythonhosted.org/packages/9c/97/e7dd59c5ebd3f60b959330c46a335ba9e4d024d44c48179ace5e88f4ca3c/pedalboard-0.9.16-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a8c737a857a8ea7578e467f26888024c3314867297c54f3a63d58f219ff14ee7",
"md5": "7f3acc914f6b9ab3bbd867e23e9078dc",
"sha256": "03e73da46d6678a8adbd1ebc70bf38e4316918e44514eb9b1d7989bfb43cb30c"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7f3acc914f6b9ab3bbd867e23e9078dc",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 7900748,
"upload_time": "2024-09-18T17:14:30",
"upload_time_iso_8601": "2024-09-18T17:14:30.252709Z",
"url": "https://files.pythonhosted.org/packages/a8/c7/37a857a8ea7578e467f26888024c3314867297c54f3a63d58f219ff14ee7/pedalboard-0.9.16-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fe110996856a87d8ff37f4b2783b1173f0d47b552910c9a3ae914a38d52a2229",
"md5": "9e43a005c57a1b15838e0593825ec009",
"sha256": "1eea9fb96672014a663fa7309133c6506ebdd28d84249a7708eae18c0cabb35c"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "9e43a005c57a1b15838e0593825ec009",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 3106352,
"upload_time": "2024-09-18T17:14:24",
"upload_time_iso_8601": "2024-09-18T17:14:24.662058Z",
"url": "https://files.pythonhosted.org/packages/fe/11/0996856a87d8ff37f4b2783b1173f0d47b552910c9a3ae914a38d52a2229/pedalboard-0.9.16-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3e96f48c7b6504b4c53181ba878fe92c144e618138991691f6e10991d7c59dce",
"md5": "9e0270cef9695576074348e24a4345b7",
"sha256": "16b2610ad1923e0f49d1e6923c2b740c8da9a2db2c5315f56e857b7a862f1fdd"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp39-cp39-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "9e0270cef9695576074348e24a4345b7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 2615417,
"upload_time": "2024-09-18T17:14:31",
"upload_time_iso_8601": "2024-09-18T17:14:31.787237Z",
"url": "https://files.pythonhosted.org/packages/3e/96/f48c7b6504b4c53181ba878fe92c144e618138991691f6e10991d7c59dce/pedalboard-0.9.16-cp39-cp39-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "504a104b53d52a8f9a36e847d2908059e6c6475b43ac0491f2078cc22e0b9782",
"md5": "256cea43143f4d2c8889a39c25486e48",
"sha256": "c47265698416d6e1042c21eaf027eb643f2e4f83421383f7ab783f7fb9320bd4"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "256cea43143f4d2c8889a39c25486e48",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 2400631,
"upload_time": "2024-09-18T17:14:33",
"upload_time_iso_8601": "2024-09-18T17:14:33.215097Z",
"url": "https://files.pythonhosted.org/packages/50/4a/104b53d52a8f9a36e847d2908059e6c6475b43ac0491f2078cc22e0b9782/pedalboard-0.9.16-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4137b5369ce3ff91a2f71b0d4170fcf10d7b5171473716678e06a9fdbb051ac5",
"md5": "9e4b9aaf8cb5c085e4aa10603f9a7a56",
"sha256": "822f3184dd09f07c29b7b0d4281fa834d9a94ed8aa86037c0c739e8907132f9f"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "9e4b9aaf8cb5c085e4aa10603f9a7a56",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 7602239,
"upload_time": "2024-09-18T17:14:34",
"upload_time_iso_8601": "2024-09-18T17:14:34.568003Z",
"url": "https://files.pythonhosted.org/packages/41/37/b5369ce3ff91a2f71b0d4170fcf10d7b5171473716678e06a9fdbb051ac5/pedalboard-0.9.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf210df8a3192699424f7803daabaff71699030ef85e5c248db7d0df4d9d1943",
"md5": "511d3aa71f05db6989b58265bd208ee7",
"sha256": "8635d57f72be0f2eb8ca523dacec5bd13736ccffe5f70109c586a6b750fdeb33"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "511d3aa71f05db6989b58265bd208ee7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 7858799,
"upload_time": "2024-09-18T17:14:36",
"upload_time_iso_8601": "2024-09-18T17:14:36.597573Z",
"url": "https://files.pythonhosted.org/packages/bf/21/0df8a3192699424f7803daabaff71699030ef85e5c248db7d0df4d9d1943/pedalboard-0.9.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "88ac5f61d1baa599b1f316a21eb4907b5d7ce9890329a1c6faaeff88c60576ec",
"md5": "e2c089aabc53c97c5042e648c8809069",
"sha256": "d46f917322065fe780778c416e016ab79e6a3d8ba75df9a71ae368142aba3443"
},
"downloads": -1,
"filename": "pedalboard-0.9.16-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "e2c089aabc53c97c5042e648c8809069",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3133212,
"upload_time": "2024-09-18T17:14:38",
"upload_time_iso_8601": "2024-09-18T17:14:38.418707Z",
"url": "https://files.pythonhosted.org/packages/88/ac/5f61d1baa599b1f316a21eb4907b5d7ce9890329a1c6faaeff88c60576ec/pedalboard-0.9.16-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-18 17:13:36",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pedalboard"
}