Commit Graph

30979 Commits

Author SHA1 Message Date
Jeff Epler 3d2db5dbe0
synthio: improve documentation, simplify synthio_lfo_obj_tick_scaled 2023-05-17 11:13:15 -05:00
Jeff Epler a682b42180
fir filtering demo 2023-05-17 11:13:15 -05:00
Jeff Epler 32e5d9e5c4
update ulab to 6.0.12 w/sinc function 2023-05-17 11:13:10 -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 e6c5e83a45
synthio: remove more dead code 2023-05-16 10:07:22 -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 827eaeb1f9
Merge pull request #7962 from tannewt/inky_frame_5_7
Add Pimoroni Inky Frame 5.7
2023-05-12 18:22:42 -04:00
Scott Shawcroft ca01200b4f
Merge pull request #7965 from dhalbert/stm-rtc-monotonic
STM: monotonic time even when RTC is changed
2023-05-12 13:43:13 -07:00
Scott Shawcroft 40f1ac1809
Merge pull request #7970 from dhalbert/adafruit_bus_device-no-cs
adafruit_bus_device SPIDevice can have None for chip select
2023-05-12 13:39:42 -07:00
Dan Halbert fff72ea062
Merge pull request #7969 from jepler/synthio-bugfixes
Synthio bugfixes
2023-05-12 16:03:07 -04:00
Dan Halbert fe386e7c73 adafruit_bus_device SPIDevice can have None for chip select 2023-05-12 15:29:59 -04:00
Jeff Epler 91a5103910
synthio: add a host demo of all major features 2023-05-12 14:00:33 -05:00
Jeff Epler f68ab9c5c2
synthio: Fix FIR filtering when audio is stereo 2023-05-12 14:00:32 -05:00
Jeff Epler 03abc623ef
synthio: note: fix assigning bend & tremolo coefficients dynamically 2023-05-12 14:00:31 -05:00
Jeff Epler 522c5a9a11
synthio: fix crash on synthesizer.press((float,)) 2023-05-12 14:00:31 -05:00
Dan Halbert e8067851f5 fix subticks handling 2023-05-12 14:39:57 -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
Scott Shawcroft 02d4c8153b
Merge pull request #7953 from jepler/issue7944-v3
Fix some regressions on feather M7
2023-05-12 08:34:39 -07:00
Dan Halbert e8194a6087
Merge pull request #7967 from bojanpotocnik/add_missing_esp32s3_pins
Add missing ESP32-S3 pins to microcontroller module
2023-05-12 10:25:31 -04:00
Bojan Potočnik 74624e7c22
Add missing ESP32-S3 pins to microcontroller module
ESP32-S3 defines two additional general use pins in
ports/espressif/peripherals/esp32s3/pins.h, for which
support is missing in the microcontroller module HAL.
2023-05-12 09:10:26 +02:00
Dan Halbert 0b2f857542 STM: monotonic time even when RTC is changed 2023-05-12 00:28:37 -04:00
Jeff Epler 5a5474b5dc
mimxrt: 101x: MIDI_RX_BUFSIZE must be 512
It's not clear why this is required, but otherwise it stops
midi_intest1 from ever receiving any MIDI events.

Closes: #7944
2023-05-11 21:47:54 -05:00
Jeff Epler 137e55696e
Merge pull request #7964 from tannewt/fix_imx_usb_reset
Correct pad count.
2023-05-11 21:47:36 -05:00
Jeff Epler 585b1c23b5
synthio: Fix sweep-type pitch bends
The accumulator saturate logic was wrong, and the sweep was never restarted
either
2023-05-11 19:13:11 -05:00
Jeff Epler bc7feb30a5
synthio: implement FIR filtering
A 37-tap filter worked fine on RP2040 (prop maker) at 48kHz, so
you can probably pretty much go nuts on M7.
2023-05-11 19:00:44 -05:00
Jeff Epler f52bb65da6
synthio: add some new manual tests 2023-05-11 18:59:06 -05:00
Jeff Epler 62e6de8ed5
synthio: Factor out `synth_note_into_buffer`, start adding filter buffer 2023-05-11 18:59:05 -05:00
Jeff Epler 9d8dcf7d33
synthio: endorse new test result 2023-05-11 18:59:02 -05: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
Scott Shawcroft 99a7047484
Merge pull request #7960 from thess/workflow_init
Do not enable web_workflow background callbacks if wifi is not enabled/connected
2023-05-11 15:25:26 -07:00
Mark 6b703ea733
Merge pull request #7963 from dhalbert/esp-spi-baudrate
Report SPI frequency accurately on Espressif
2023-05-11 17:13:39 -05:00
Scott Shawcroft a56174dc10
Correct pad count.
This prevents running into the pins that cannot be reset. On 1011
it was off by one pin that isn't attached to the package. So,
having the USB pins forbidden prevented resetting to a NULL address.

Fixes #7952
2023-05-11 15:02:56 -07:00
Jeff Epler 53e13f15a3
synthio: Finish ading SWEEP_IN 2023-05-11 16:53:40 -05:00
Ted Hess 9c45551880 Do not enable web_workflow background callbacks if wifi is not enabled/connected 2023-05-11 17:01:53 -04:00
Dan Halbert d99b0634f7 Report SPI frequency accurately on Espressif 2023-05-11 16:57:07 -04:00
Jeff Epler 17df238145
synthio: doc fixes, rename BendType to BendMode 2023-05-11 15:23:54 -05:00
Jeff Epler 23baf02399
synthio: disable on a few boards where it doesn't fit 2023-05-11 15:22:48 -05:00
Scott Shawcroft cbfb2d0f55
Add Pimoroni Inky Frame 5.7
Tweak DTCM and ITCM loading and prevent epd refresh while waiting
for autoreload.
2023-05-11 12:12:34 -07:00
Scott Shawcroft c75a768b59
Merge pull request #7949 from FoamyGuy/group_contains_stub
adding __contains__ stub to displayio.Group
2023-05-11 10:00:39 -07:00
Jeff Epler cbd02b74df
synthio: endorse updated test result 2023-05-11 10:22:55 -05:00
Jeff Epler ec30963731
synthio: fix a -Warray-parameter diagnostic 2023-05-11 10:21:56 -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 2062b2bfb7
synthio: add a noise program to the manual tests 2023-05-11 09:31:08 -05:00