dcooperdalrymple
e049337147
Allow variable mix down sample scale.
2025-01-17 18:24:18 -06:00
dcooperdalrymple
99b4fae790
Remove unnecessary copies of mix_down_sample.
2025-01-17 17:04:03 -06:00
dcooperdalrymple
48f272e667
Fix build errors.
2025-01-17 17:01:59 -06:00
dcooperdalrymple
ec5b1e8f7a
Add mix_down_sample to echo output.
2025-01-17 16:54:50 -06:00
dcooperdalrymple
05db339c95
Remove truncation of delay_ms within buffer processing loop.
2025-01-17 16:52:19 -06:00
dcooperdalrymple
8c40c56798
Move shared_bindings_synthio_lfo_tick to avoid error if using unsigned 16-bit audio.
2025-01-17 16:11:38 -06:00
dcooperdalrymple
84f8e317c0
Update shared_bindings_synthio_lfo_tick within audiomixer to use variable sample length.
2025-01-17 15:29:22 -06:00
dcooperdalrymple
b796f0d1f0
Only calculate lofi bit mask when necessary.
2025-01-17 15:27:54 -06:00
dcooperdalrymple
cef94d7446
Remove unnecessary deinit check.
2025-01-17 15:22:32 -06:00
Cooper Dalrymple
e18e5b2d24
Merge branch 'adafruit:main' into audiofilters_distortion
2025-01-17 15:20:09 -06:00
Dan Halbert
57cf054e26
Merge pull request #9912 from patricksurry/demux-keymatrix-delay
...
fix: Add delay to DemuxKeyMatrix along with columns_to_anodes and transpose options
2025-01-03 12:42:17 -05:00
Patrick Surry
e185c28c59
Fix transpose logic
2024-12-26 10:04:21 -05:00
Patrick Surry
fdb38ccc11
wip: include transpose and columns_to_anodes options
2024-12-25 13:29:47 -05:00
Patrick Surry
111040fe32
fix: Add delay to DemuxKeyMatrix
2024-12-24 15:37:13 -05:00
dcooperdalrymple
a5956eab82
Revert to original functionality when synthio is not supported.
2024-12-20 11:24:06 -06:00
dcooperdalrymple
e37502c2a0
Fix pre-commit formatting error.
2024-12-20 11:07:42 -06:00
Cooper Dalrymple
542c7c9c19
Implement level as BlockInput.
2024-12-19 20:33:42 -06:00
Scott Shawcroft
6232e87bdf
Merge pull request #9882 from ddrown/24-bit-display
...
add support for 24 bit color depth
2024-12-12 12:12:38 -08:00
dcooperdalrymple
5fbbeed716
Call shared_bindings_synthio_lfo_tick on audioeffects in SYNTHIO_MAX_DUR intervals.
2024-12-12 11:45:54 -06:00
dcooperdalrymple
0e64e1cf75
Implement block ticking within audio effects.
2024-12-12 11:01:30 -06:00
dcooperdalrymple
4257c62a8a
Variable number of samples within shared_bindings_synthio_lfo_tick.
2024-12-12 10:10:29 -06:00
dcooperdalrymple
48ca21d9a1
Add Distortion to unix port and make type conversions explicit.
2024-12-11 12:35:23 -06:00
dcooperdalrymple
57022f9e92
Implemented soft clipping and continued optimization of distortion algorithms.
2024-12-11 12:17:54 -06:00
dcooperdalrymple
0410d22601
Added soft_clip property to toggle between hard clipping (default) and soft clipping.
2024-12-11 12:17:01 -06:00
dcooperdalrymple
222ce2c782
Apply similar updates to audiofilters.Filter and audiodelays.Echo: MICROPY_FLOAT_CONST, MP_ROM_INT, and synthio_block_slot_get_limited.
2024-12-10 09:33:35 -06:00
dcooperdalrymple
5c981f032f
Use MICROPY_FLOAT_CONST and MICROPY_FLOAT_C_FUN within floating point calculations.
2024-12-10 09:16:17 -06:00
dcooperdalrymple
155f197fe6
Convert default float values from null checks to MP_ROM_INT.
2024-12-10 08:44:07 -06:00
dcooperdalrymple
31c9095fcd
Implement synthio_block_slot_get_limited.
2024-12-10 08:35:39 -06:00
Cooper Dalrymple
6481b4e8e7
Merge branch 'adafruit:main' into audiofilters_distortion
2024-12-10 08:31:03 -06:00
Daniel Drown
61e44f2f31
add support for 24 bit color depth
2024-12-09 16:22:15 -06:00
8eb1103e2b
Merge pull request #9861 from pdw-mb/mixervoice-loop-property
2024-12-05 09:59:05 -06:00
79f34566bf
Merge branch 'main' into mixervoice-loop-property
2024-12-04 14:43:27 -06:00
22abf2df02
MP3Decoder: clear out DSP data when opening a new stream
...
The new test verifies that the first part of an MP3 decodes as
expected even when the "open" method is used.
Closes : #9705
2024-12-04 13:55:09 -06:00
Paul Warren
372759f728
shared-module/audiomixer: expose MixerVoice->loop property.
2024-12-04 19:41:57 +00:00
foamyguy
c63e565334
move 'after' print to cut a duplicate line
2024-12-01 21:42:51 -06:00
foamyguy
a32a318ab3
fix vectorio rotation issue
2024-12-01 20:37:19 -06:00
Cooper Dalrymple
a7060f0a11
Merge branch 'adafruit:main' into audiofilters_distortion
2024-11-27 17:41:35 -06:00
Hurst, Brandon
e6c4c78813
- Fixed USB endpoint descriptor problems. All USB classes should now be usable. - Had to adjust some shared modules to account for MAX32 devices not supporting IN/OUT endpoints on the same EP #
2024-11-25 15:28:41 -08:00
Dan Halbert
c5a929e51b
fix keys.*.reset() behavior to send pressed instead of released events
2024-11-19 17:26:24 -05:00
Cooper Dalrymple
064c3f310b
Merge branch 'adafruit:main' into audiofilters_distortion
2024-11-13 08:29:13 -06:00
Mark
92ef41083a
Merge pull request #9756 from jepler/synthio-blockbiquad
...
synthio: Add a form of biquad filter that uses BlockInputs
2024-11-10 17:43:58 -06:00
de9b0b6b1b
Merge pull request #9772 from relic-se/audiofilters_filterlist
2024-11-10 09:13:34 -06:00
dcooperdalrymple
c96d1428e1
Remove unnecessary m_malloc_fail and deinit from memory allocation routines.
2024-11-07 19:06:25 -06:00
c377123d0b
BlockBiquad: Only recalculate when needed.
2024-11-07 14:14:13 -06:00
c06e6ee03e
BlockBiquad: Use Q as argument name
...
Synthesizer.lpf takes `Q` as the argument name, use the same convention
here.
2024-11-07 13:59:23 -06:00
dcooperdalrymple
5f8ec0afc6
Validate type of filter tuple items.
2024-11-07 13:58:01 -06:00
dcooperdalrymple
941e1228f2
Rename filters back to filter and support individual Biquad object and tuple of Biquad objects.
2024-11-07 13:03:59 -06:00
f8afdcb729
Add audiodelays & audioeffects to unix coverage port
...
.. and add a very basic audioeffects test, showing that it plausibly
is working
I had to address several build errors that occurred in the Unix build,
mostly related to conversion from FP types to integral types (replaced
by explicit casts) and by
accidental mixing of regular & f-suffixed floating constants (replaced
with the MICROPY_FLOAT_CONST macro)
Particularly this change could use consideration:
```diff
- self->max_echo_buffer_len = self->sample_rate / 1000.0f * max_delay_ms * (self->channel_count * sizeof(uint16_t)); // bytes
+ self->max_echo_buffer_len = (uint32_t)(self->sample_rate / 1000.0f * max_delay_ms) * (self->channel_count * sizeof(uint16_t)); // bytes
```
The buffer length is being calculated in floating point based on the
millisecond delay & the sample rate. The result could then be a fractional
number such as 529.2 for a 12ms delay at 44.1kHz. Multiplying a floating
number by the size required for each echo buffer item
(`(self->channel_count * sizeof(uint16_t))`) could yield a number of bytes
that doesn't correspond to an integral number of buffer items. I grouped
the float->int conversion so that it converts the number of echo buffer
items to an integer and then multiplies by the size of the item.
2024-11-05 09:36:18 -06:00
3a0b97d280
Merge pull request #9787 from relic-se/audiofilters_stopfix
2024-11-05 09:01:11 -06:00
dcooperdalrymple
14b1383b6b
Remove trailing whitespace to fix pre-commit.
2024-11-05 08:47:24 -06:00