Commit Graph

2754 Commits

Author SHA1 Message Date
Scott Shawcroft 4789508629
Merge pull request #8087 from anecdata/ap_chan
validate wifi Access Point channel
2023-06-20 13:14:04 -07:00
Dan Halbert f5c03e64e5 fix typos: "CTX mode" -> "CTR mode" 2023-06-20 12:50:36 -04:00
anecdata b0e0b4adce ap channel validation 2023-06-15 20:20:17 -05:00
Jeff Epler 666fb94ca3
Merge pull request #8056 from jepler/matrixportal-s3
Add Adafruit MatrixPortal S3 board def & update protomatter
2023-06-13 19:34:08 -05:00
Jeff Epler d4913b04e0 rgbmatrix: update protomatter
and re-organize so that esp32 s2/s3 don't do as much at reset

.. it's not necessary (because most data is in esp-idf managed memory)
and doing this saves me from having to debug why reconstruct isn't working
properly on that platform.

This needs to be tested on other platforms again before being merged!
2023-06-08 10:43:32 -05:00
Jeff Epler 3151656f4b synthio: more fir-filter removal; fix biquad logic errors 2023-05-30 09:24:26 -05:00
Jeff Epler 1d58b550b5
synthio: fix doc build 2023-05-29 13:07:15 -05:00
Jeff Epler 51027974e5
synthio: apply biquad filters during synthesis 2023-05-29 10:53:48 -05:00
Jeff Epler fed8d5825b
synthio: add biquad filter type & basic filter calculations
the filter cannot be applied as yet.
2023-05-29 09:50:18 -05:00
Jeff Epler 9f138dc188
synthio: list filter in the constructor 2023-05-23 19:38:25 -05:00
Jeff Epler 11d8a6ec3a
synthio: rename synthesizer.lfos to .blocks
.. since math blocks can be placed in it too (and that's useful)
2023-05-23 19:38:25 -05:00
Jeff Epler c20e862790
synthio: note frequency can only be a float, for now 2023-05-23 19:38:24 -05:00
Jeff Epler 1847c2b72a
synthio: fix, rename voct_to_hz
todbot discovered that this function wasn't working right, and wasn't
well-named.
2023-05-23 19:38:24 -05:00
Jeff Epler 2b42783301
Apply suggestions from code review
Co-authored-by: Dan Halbert <halbert@adafruit.com>
2023-05-23 08:57:16 -05:00
Jeff Epler 122e00bdb3
document ring arguments to constructor
thanks Mark!
2023-05-22 21:59:39 -05:00
Jeff Epler af40a173ba
synthio: midi_to_hz: remove arbitrary note number limitation
The underlying routine can return numbers for higher and lower
octaves. Other bits of the code might have frequency limitations
but that doesn't mean we shouldn't let someone get a ~4Hz "note"
by sending in (-12), because that's actually totally plausible as
an LFO frequency.
2023-05-22 21:58:09 -05:00
Jeff Epler 1b174f8b3d
synthio: remove "1-octave" caveat, is false now 2023-05-22 21:58:09 -05:00
Jeff Epler 5b4d621fd2
synthio: explicitly cast away const to satisfy compiler 2023-05-22 21:58:08 -05:00
Jeff Epler 167aa30f12
synthio: remove if0'd code
thanks tannewt
2023-05-22 21:58:04 -05:00
Jeff Epler 8626130af7
synthio: Add default triangle waveform to LFO, improve docs 2023-05-22 10:53:29 -05:00
Jeff Epler 4f671dab6f
synthio: one more doc fix 2023-05-21 19:15:34 -05:00
Jeff Epler 4d60c4608e
synthio: doc fixes 2023-05-21 17:49:30 -05:00
Jeff Epler c5615995d9
synthio: fix docstring 2023-05-21 13:22:49 -05:00
Jeff Epler c084ab92c8
synthio: Enable `synthio.MathOperation.SUM(3,4,5)` 2023-05-21 13:22:48 -05:00
Jeff Epler 4ff08e02eb
synthio: lfo: bugfixes & improvements
LFO waveforms are now linearly interpolated by default, but a new
property (interpolated=False) can disable this.

The 'once' logic was improved
2023-05-21 13:22:47 -05:00
Jeff Epler e6c4d12eaf
synthio: doc improvement 2023-05-21 13:22:47 -05:00
Jeff Epler e0cfae1d05
synthio: add (untested) phase offset 2023-05-21 13:22:46 -05:00
Jeff Epler bd2a153eae
synthio: there is a midi note 0 2023-05-17 16:37:12 -05:00
Jeff Epler 391438102b
synthio: Finish implementing Math blocks 2023-05-17 16:32:20 -05:00
Jeff Epler 5de4d197a2
synthio: start generalizing LFO to Block 2023-05-17 15:05:34 -05:00
Jeff Epler 3d2db5dbe0
synthio: improve documentation, simplify synthio_lfo_obj_tick_scaled 2023-05-17 11:13:15 -05:00
Jeff Epler d4294de62b
synthio: Allow bends of more than one octave
up to +-12 sounds good, right?
2023-05-16 16:58:04 -05:00
Jeff Epler 0b926f8fd4
synthio: improve release/press/change
Semi-incompatible name change: The method `release_then_press`
is now `change`. For now a compatibility alias is supported.

Everywhere a `NoteSequence` was accepted, a single note is now accepted.
So for instance, `synth.press(30)` can be written instead of requiring
``synth.press((30,))`. The same goes for `change.retrigger`, which
will accept a single LFO or a sequence.
2023-05-16 10:26:56 -05:00
Jeff Epler b2c6f9b1a4
synthio: add Synthesizer.lfo, retrigger option 2023-05-16 10:07:07 -05:00
Jeff Epler f83212314e
synthio: Add LFOs 2023-05-15 21:15:39 -05:00
Dan Halbert fe386e7c73 adafruit_bus_device SPIDevice can have None for chip select 2023-05-12 15:29:59 -04:00
Scott Shawcroft 0a3faf8c9d
Merge pull request #7959 from jepler/synthio-bend-pan-ring
Synthio: next round of features
2023-05-12 08:54:49 -07:00
Scott Shawcroft db8bd56c6c
Merge pull request #7946 from anecdata/ap_ipv4
Allow Access Point static IPv4 on the espressif port
2023-05-12 08:47:07 -07:00
Jeff Epler 7845a1b13b
synthio: Add `filter` boolean property to Note objects 2023-05-11 17:58:09 -05:00
Jeff Epler 33fb771b76
synthio: Add `filter` argument to Synthesizer constructor
as step 1/n of adding FIR filtering
2023-05-11 17:56:11 -05:00
Jeff Epler d3eda0ad52
synthio: fix a typing error 2023-05-11 17:32:42 -05:00
Jeff Epler 53e13f15a3
synthio: Finish ading SWEEP_IN 2023-05-11 16:53:40 -05:00
Jeff Epler 17df238145
synthio: doc fixes, rename BendType to BendMode 2023-05-11 15:23:54 -05:00
Jeff Epler 89080564b4
synthio: Fix release time of zero-sustain envelopes
When there's no sustain, the release step needs to be calculated from
the attack level, not the sustain level. Otherwise, contrary to intent,
this leads to the actual release taking a loooonnngg time.
2023-05-11 10:19:48 -05:00
Jeff Epler 095e020809
synthio: Add ring modulation 2023-05-11 09:31:18 -05:00
Jeff Epler e87e7ee54f
synthio: add stereo & Note.panning
A note can be placed in the center (panning=0) or moved to just the left
(panning=1) or right (panning=-1) channels. Fractional panning values
place it partially in both channels.
2023-05-11 09:31:18 -05:00
Jeff Epler 1d1907b98b
synthio: Generalize vibrato into bend
bend can be static, sweep, or vibrato
2023-05-11 09:31:07 -05:00
Jeff Epler c48d385e94
synthio: Add `synthio.BendType` 2023-05-11 09:31:07 -05:00
foamyguy c9bb53b48a adding __iter__ stub to displayio.Group 2023-05-11 07:52:03 -05:00
foamyguy 7c685477ba adding __contains__ stub to displayio.Group 2023-05-08 16:41:57 -05:00