audioairwindows brings Chris Johnson's Airwindows plug-ins, 528 of them, to audiodsp's audio graph on CPython and MicroPython-compatible firmware.
On CPython 3.11 or later:
pip install omnipython-airwindowsThat installs a prebuilt wheel, and omnipython-audiodsp 0.6.10 or later beside it. Install lists the platforms that have a wheel and how to build from source on the rest.
On MicroPython, build this repository into the firmware next to audiodsp 0.6.10 or later: Install has the command.
from array import array
import audiocore, audioairwindows
RATE = 48000
noise, x = array("h"), 1
for _ in range(RATE // 50):
x = (x * 1103515245 + 12345) & 0x7fffffff
noise.append((x >> 16) % 20001 - 10000)
verb = audioairwindows.Galactic(sample_rate=RATE, channel_count=1, replace=0.3)
verb.play(audiocore.RawSample(noise, sample_rate=RATE, channel_count=1))
for row in range(12):
loudest = 0
for _ in range(48):
block = array("h", bytes(audiocore.get_buffer(verb)[1]))
loudest = max(loudest, max(abs(v) for v in block))
print("%.2f s %5d" % (row * 48 * 256 / RATE, loudest))It prints the loudest sample of each quarter second or so, the same on CPython and MicroPython:
0.00 s 247
0.26 s 343
0.51 s 307
0.77 s 243
1.02 s 325
1.28 s 203
1.54 s 194
1.79 s 194
2.05 s 155
2.30 s 144
2.56 s 86
2.82 s 92
The effects are Chris Johnson's Airwindows, MIT licensed; NOTICE says what came from where.
OmniPython is made by PyDevices.
