Commit Graph

252 Commits

Author SHA1 Message Date
netmindz
0ccf2b9c2e Revert "Remove I2C related code from ES8388 and ES7243 as blazoncek proposes …" 2023-08-11 20:59:34 +01:00
Frank
f7cd08c767 small correction 2023-08-07 18:07:24 +02:00
Frank
3503ccd958 Use MM specific I2C related functions for ES8388 and ES7243
In contrast to upstream, MM follows a "no pin stealing" approach, so the Wire interfaces are only initialized when needed.
pinManager.joinWire() will take care of the details, and will return false if something went wrong.
2023-08-07 18:06:31 +02:00
netmindz
e19e464e13 Merge pull request #48 from netmindz/ES-I2C-usage
Remove I2C related code from ES8388 and ES7243 as blazoncek proposes …
2023-08-07 02:05:22 -07:00
Frank
55b84d07e8 audio core improvements
* DC blocker: use higher quality filtering on boards with FPU (-S3 and classic esp32)
* experimental: build option to increase audio task priority - reduces latency
2023-07-29 17:12:10 +02:00
Frank
39db568ca9 increase STACK_BUF_SIZE after PR#59
* increase buffer by 64 bytes (sting added in AR usermod)
* better diag message when buffer is full
* change "Arduino  max stack" to debug message
2023-07-27 12:45:14 +02:00
Frank
1477798bb6 Merge pull request #59 from MoonModules/sync-label
Add extra label to give better info as to what sync actually is
2023-07-26 15:38:52 +02:00
Frank
6521717e90 consider human hearing for "Major Peak" frequency
The "Major Peak" (for double-notes effects) was computed on the raw FFT results.
However the human ear is more sensitive to higher frequencies (pink noise profile).

This code change considers human ear properties for major peak computations.
Effects like "freqmap" will look much more vivid afterwards, as higher frequencies will now have a stronger influence (harmonics are still suppressed properly).
2023-07-26 13:30:44 +02:00
Will Tatam
9968b1f9d1 Add extra label to give better info as to what sync actually is 2023-07-25 16:53:36 +01:00
Frank
8aef4347a1 re-enable old peak detect algo, plus ripplepeak bugfix
* re-enabled old detector which does not detect beats. However something bad may still be better than nothing...

* fixed a typo in RipplePeak and Waterfall effect, which cased wrong configuration of the peak detector.

resolves https://github.com/MoonModules/WLED/issues/43
2023-06-18 22:08:55 +02:00
Frank
af6091b493 fixing some memory leaks
* audio_reactive.h: catch memory errors from WiFiUDP
* udp: explicitly flush unused receive buffers.
* wled.cpp: additional debug info about "largest available block"
* FX_fcn.cpp: free _globalLeds before running purgeSegments().
2023-06-07 17:10:32 +02:00
TroyHacks
7e1d15c87b Merge branch 'audio_fastpath' of https://github.com/MoonModules/WLED into audio_fastpath 2023-06-07 10:35:51 -04:00
TroyHacks
06344aeb41 FFT UDP fush if not read. 2023-06-07 10:35:28 -04:00
Frank
f0dd66e736 SoundSync: use local static buffer
thanks @netmindz for pointing out.
2023-06-07 14:07:50 +02:00
Frank
b6f1a591ee global buffer for UDP sound sync
to prevent memory fragmentation.
* use global (static) buffer for receiving
* added missing flush()
2023-06-07 12:16:22 +02:00
Will Tatam
b62e9f7278 Remove I2C related code from ES8388 and ES7243 as blazoncek proposes that they are not required if we are always using the system default I2C bus 2023-05-29 18:30:48 +01:00
Frank
49f2e26ab5 arduinoFFT hash update
to fix the gh build, following latest dev.
2023-05-27 00:00:59 +02:00
Frank
df26430e42 audioreactive: replace dynamic buffer with static buffer
using a dynamic array for newSamples[num_samples] was never needed. It was a risks as the buffer was allcated/deallocated with every call of getSamples().
2023-05-25 21:50:44 +02:00
netmindz
e6fb6c4a50 Merge pull request #39 from troyhacks/ES8388-Lyra-T-Fixes-Test
ES8388 LyraT Fixes
2023-05-25 21:49:52 +02:00
Troy
0ff5918e9c Merge branch 'MoonModules:mdev' into ES8388-Lyra-T-Fixes-Test 2023-05-23 12:34:01 -04:00
Frank
6317dcb757 swapped-channel workaround needed a bit longer
It seems that ESP-IDF 4.4.5 will (finally) fix this old bug.  hallelujah.

73ca054b80 (diff-02a5aef0ab7d8485b0a165910efaab3dfc450b473eef0bab1b32bccb4ea85c69)
2023-05-12 19:10:51 +02:00
Frank
477aae95fd swapped-channel workaround needed a bit longer
It seems that ESP-IDF 4.4.5 will (finally) fix this old bug.  hallelujah.

73ca054b80 (diff-02a5aef0ab7d8485b0a165910efaab3dfc450b473eef0bab1b32bccb4ea85c69)
2023-05-11 22:57:18 +02:00
TroyHacks
3df2272791 Warnings about AudioKit rubbish 2023-05-04 08:55:00 -04:00
TroyHacks
1713204bfe Better ES8388 init and mic support 2023-05-01 21:07:33 -04:00
Frank
56b6290fdd Update audio_reactive.h
small oops
2023-04-30 21:03:00 +02:00
Frank
0c58c12d0f audio fastpath: reduce filter delay
- reduced filter strength, which also reduces delays
- increased I2S buffer count, and reduced I2S cycle time to recover from delays faster.
2023-04-30 20:58:06 +02:00
TroyHacks
32a501c2e3 It's offically the LyraT, not Lyra-T. 2023-04-25 23:47:28 -03:00
TroyHacks
00e3f5e5fa Mic settings for ES8388. Also ALC, pass-thru, etc. 2023-04-25 23:45:09 -03:00
TroyHacks
0fd9596860 Fixes for LyraT 2023-04-22 08:35:03 -04:00
TroyHacks
58e2a3992b Some fixes for LyraT and also better inits/docs 2023-04-21 13:58:41 -04:00
Frank
a1bdb47c30 trying to make sound pressure less boring for line-in
"sound pressure" for line-in was always close to max - which is expected, because the ADC chip utilize the full 24/16bit sample range.
The new calculation leads to some more "movement".
2023-04-10 23:57:44 +02:00
Frank
8ba43b63ec Sound pressure: modified correction factors for PDM and analog 2023-04-10 03:29:59 +02:00
Frank
61949cfdc8 Sound Pressure - some optimizations
- slightly extend input range
- add correction factors for some sound sources
- gravimeter: tweaking
2023-04-10 02:04:53 +02:00
Frank
197e120e3b estimated audio sound pressure 2023-04-06 18:58:20 +02:00
Frank
b09077627e low-cut audio input filtering
* 40Hz low-cut and DC blocker filter - will remove any signal offsets and also removes rumbling noise up to 12db
* DC blocker set as default for all sources (prerequisite for later measuring sound pressure)

additional filtering options are in the making :-)
2023-04-06 17:56:32 +02:00
TroyHacks
95d6d186c7 ES8388 init optimizations and fixes 2023-04-05 11:00:14 -04:00
Ewoud
cae1c00467 ARTIFX add support for pixelart + small changes
arti_wled.h:
- add jsonToPixels and frameTime
- change printf to print

usermod_v2_artifx
- return MAX(frameTime,FRAMETIME); 

FX.h and FX_2Dfcn.cpp
- add jsonToPixels

audioreactive.h
- ES8388 allow for default and add moon
2023-04-05 13:22:50 +02:00
TroyHacks
111c8c9202 Merge branch 'ES8388-troyhacks' of https://github.com/troyhacks/WLED into ES8388-troyhacks 2023-04-04 17:04:55 -04:00
TroyHacks
f44f307f89 Comments and typos, init optimization and shortening. 2023-04-04 17:04:18 -04:00
Troy
7d32bc5f97 Merge branch 'ES8388' into ES8388-troyhacks 2023-04-04 14:10:04 -04:00
TroyHacks
d775f7fb28 Removed reliance on the ES8388 library and made things more in line with similar boards with I2C init. 2023-04-04 14:01:47 -04:00
TroyHacks
bd477624f0 Working proof of concept for ES8388 2023-04-03 22:41:29 -04:00
Will Tatam
03570848f4 Merge branch 'mdev' into ES8388 2023-04-03 19:20:41 +01:00
Will Tatam
760ff836c3 Merge branch 'mdev' into ES8388 2023-04-03 19:15:28 +01:00
Frank
df9df5e4c8 audireactive: fix for missing dropdowns on -S3/-S2/-C3
these MCUs do not support analog mics, however some code was still existing that tried to add 'AudioReactive:analogmic:pin'.
2023-03-24 17:16:10 +01:00
Frank
5c6e627d28 update for ICS big speaker MIC profile
- reduce reaction to bass
- improved "pink noise" response in mid range
- enhance reaction to higher frequencies
- Lupo is back
2023-03-24 13:17:40 +01:00
Ewoud
d452da2642 NetDebug fix and small changes
AudioReactive: show ☾ specific
IR: cleanup
json.cpp: bugfix: NetDebug not in presets
wled.cpp and wled_server.cpp: show servername in DEBUG INFO
2023-03-22 16:31:07 +01:00
Frank
78f55bce70 small change
parameter tinkering
2023-03-22 16:10:52 +01:00
Frank
691ad17b04 Small oops 2023-03-20 22:33:10 +01:00
Frank
87069ef7c0 audio processing: MicLevel "FAST freeze mode"
This mode freezes MicLev even fast. However it makes some assumptions that may not always be true:
* At least 12 seconds of silence during start
* a high quality microphone with very low noise level.
--> If you are not sure about these preconditions, better use normal "Freeze" mode.
2023-03-20 22:16:35 +01:00