spotify / pedalboard

🎛 🔊 A Python library for audio.
https://spotify.github.io/pedalboard
GNU General Public License v3.0
5.11k stars 261 forks source link

Crash when Appending Effects to Pedalboard Object on Windows 11 #355

Open g7gg opened 1 month ago

g7gg commented 1 month ago

I'm facing a consistent crash when attempting to append any effects to a Pedalboard instance in a Windows 11 environment. This issue occurs specifically when using the append() method of the Pedalboard class. It crashes without throwing any Python exceptions or messages, just a 2 second delay before crashing entirely.

Error reproducing: **1. Run a script on Windows 11 that appends an effect (e.g., Reverb) to a Pedalboard object and processes a simple audio file.

  1. Observe Behavior: The script crashes during the execution of the append() method.**

This works perfectly fine on Arch/Ubuntu/Debain Linux, but for some reason it doesn't for windows.

import soundfile as sf
import sounddevice as sd
from pedalboard import Pedalboard, Reverb
import numpy as np

def read_and_process_audio(file_path):
    # Read audio file
    audio_data, sample_rate = sf.read(file_path)
    print("Audio file read successfully.")

    # Create a Pedalboard object, add a Reverb effect
    board = Pedalboard()
    reverb = Reverb(room_size=0.5, damping=0.5, wet_level=0.3, dry_level=0.7)
    board.append(reverb)
    print("Reverb effect added to the pedalboard.")

    # Process the audio file with the pedalboard
    processed_audio = board(audio_data, sample_rate)
    print("Audio processed with reverb effect.")

    return processed_audio, sample_rate

def play_audio(audio_data, sample_rate):
    # Play processed audio
    print("Starting playback...")
    sd.play(audio_data, sample_rate)
    sd.wait()  # Wait until the audio has finished playing
    print("Playback finished.")

if __name__ == "__main__":
    file_path = "file.flac"
    processed_audio, sample_rate = read_and_process_audio(file_path)
    play_audio(processed_audio, sample_rate)
g7gg commented 1 month ago

Quick update:

I tried it with an old version of pedalboard (0.8.2) and it worked, it looks like its an issue with the latest release.