Commit Graph

558 Commits

Author SHA1 Message Date
Frank
c4e7bc29cd microphone profiles (frequency scaling)
- added user-selectable frequency profiles, to allow adjustments for different I2S microphones (including line-in)
-  additionally show "GEQ Input Level" as number in percent.
2022-09-08 19:17:47 +02:00
Ewowi
7b1050bcb1 Merge branch 'custom-effects' into mdev 2022-09-08 11:38:39 +02:00
Ewowi
a20501a6a6 CustomEffects: Remove unused variables which conflict with other mods 2022-09-08 10:20:54 +02:00
Ewowi
01e67b500d Revert "Merge remote-tracking branch 'origin/mdev_new-FrameWork-V4' into mdev"
This reverts commit 0fad8ffd85.
2022-09-06 21:54:23 +02:00
Ewowi
0fad8ffd85 Merge remote-tracking branch 'origin/mdev_new-FrameWork-V4' into mdev 2022-09-06 17:53:02 +02:00
Ewowi
ab65970a9d Merge remote-tracking branch 'origin/audioreactive-prototype' into mdev 2022-09-06 17:49:39 +02:00
Ewowi
1b724dbc0b Merge branch 'json-mapping' into mdev 2022-09-06 17:44:25 +02:00
Blaz Kristan
e8942c2968 fix for repeating debug message 2022-09-06 15:52:09 +02:00
Frank
7894389f1d Compiling AR usermod on ESP32-S3 (future support)
Encapsulated all parts with #ifdef that will not compile on newer ESP32 variants.
It's still a long way to go before we have a working version on -S3 and -C3, bus this should help to get us started.

From MoonModule/WLED repo.
2022-09-03 19:03:00 +02:00
Frank
da5f6315be fix for repeating debug message 2022-09-03 18:43:28 +02:00
Frank
78d79be5a4 fix for repeating debug message 2022-09-03 18:21:37 +02:00
Frank
b13f13c2e4 typo 2022-09-03 14:31:18 +02:00
Frank
e70d2e7f0d this is how far we get on the -S2
was curious how much of the AR usemod would compile for the -S2 platform.
2022-09-03 14:26:27 +02:00
Frank
a2808bee29 compilation for ESP32-C3
this allows to compile for -C3  including audioreactive usermod.
** warning ** completely untested and premature. It compiles, that's all.
2022-09-03 13:16:12 +02:00
Blaz Kristan
42d1ab8a87 Separator in Info dialog. 2022-09-03 00:01:11 +02:00
Frank
a67f9d86f7 ESP32-S3: different number of RMT and PWM channels
ESP32-S3: 8 RMT channels (not sure if all 8 are usable by NeopixelBus), 8 LED-PWM channels
2022-09-02 22:30:56 +02:00
Frank
4162d8fdfa compilation support for IDF4.4.3, plus compiling for ESP32-S3
- Updated ESP32 targets to use IDF 4.4.3 (thanks tasmota!)
- Fixed a compilation problem in ARTI (WLED_FS instead of LITTLEFS)

- Initial compilation support for ESP32-S3. Warning: there are still many problems to be solved before -S3 becomes usable!
- audioreactive: added #ifdef for features not yet supported on ESP32-S3
2022-09-02 21:29:05 +02:00
Ewowi
526900fdc0 Merge branch 'audio-reactive' into mdev 2022-09-02 20:55:47 +02:00
Frank
77ace76e32 Bugfix: make UDP sound sync work in AP mode
- the connected() method only get called once a Wifi STA connection is established. UDP Sound Sync should also work when sender is in AP Mode.
- added a few comments that should help to understand the code structure.
2022-09-02 13:49:12 +02:00
Frank
37ba649930 audioreactive effect improvements
- Info Page: add a small horizontal line below usermod specific part. Improves readability.
- updated 2D mapping mode of some  1D soundreactive effects
- alllow some effects to fade slowly, even slower that possible with SEGMENT.fade_out(). Looks nice.

not sure why - most effects only fade when using SEGMENT.fade_out(), while some need SEGMENT.fadeToBlackBy().
2022-09-01 14:56:01 +02:00
Ewowi
5b8ad8d714 Merge branch 'custom-effects' into mdev 2022-08-31 20:58:44 +02:00
Ewowi
06c0c0edfb CustomEffects as usermod: step 4: modify wledv123.json, add drawLine/Arc
General (for CE, but also used by M12_pArc)
- add drawArc

Custom Effects
- add WLEDSR Custom Effects comment to places in WLED where it is hooked in
- move from wled.json to wledv123.json
- rename matrixWidth/Heigth to width/height and use virtualWidth/Height
- remove setPixels
- add drawLine / drawArc
2022-08-31 13:14:51 +02:00
Ewowi
6422bb5764 Merge branch 'weather-usermod' into mdev 2022-08-31 10:14:49 +02:00
Ewowi
0c06d03788 Merge branch 'custom-effects' into mdev 2022-08-30 23:46:14 +02:00
Ewowi
8626855953 Add CustomEffects as usermod: step 3: effects start working 2022-08-30 23:12:04 +02:00
Blaz Kristan
26793c8428 Merge branch 'dev' into audioreactive-prototype 2022-08-30 20:13:25 +02:00
Ewowi
068089751d Add CustomEffects as usermod: step 2: ui works 2022-08-30 12:55:01 +02:00
Ewowi
9a87d2bd8e Add CustomEffects as usermod: step 1: c compiles
- Only C part, it only compiles
- UI to be done
- Needs to be tested
2022-08-29 13:56:46 +02:00
Ewowi
2b7884a068 Merge remote-tracking branch 'origin/audioreactive-prototype' into mdev 2022-08-29 10:13:23 +02:00
Frank
64970772c7 optimization, and moving peak detection into own function
- save 1K of RAM by optimizing out
 fftBin[].
- moved several copies of the peak reset code into a single function
- moved peak detection out of getSample().
 - call peak detection function as last step of FFTcode. More optimal, and we can be sure that fresh FFT result are available.

Peak detection/reset are now called from both tasks, so I had to move some peak-related vars out of AudioReactive class and make them global (static).
2022-08-28 16:26:34 +02:00
Frank
5c792eb869 some cleanup and re-grouping of variables
- put variables with same context next to each other.
- removed a few vars that are not needed any more.
- replaced "16" by a more descriptive constant
2022-08-28 13:13:25 +02:00
Blaz Kristan
daf67d9cf7 Whitespace cleanup.
Revert legacy effects to 1D and use mapping instead.
2022-08-24 23:04:51 +02:00
Blaž Kristan
cf0f0d77be Merge branch 'audioreactive-prototype' of https://github.com/blazoncek/WLED into merge-audio 2022-08-22 10:34:10 +02:00
Frank
be7e7ac274 AR: documentation
- clarified a misleading comment in FFTCode
- added a few more comments to describe steps of the processing
- removed some commented-out code
2022-08-22 10:08:22 +02:00
Blaz Kristan
720fae8720 Code sanitation.
Default analog pin -1
2022-08-21 19:15:42 +02:00
Frank
d053bc562f code cleanup, few optimizations, and fixing more overflows
- code cleanup in audio_reactive.h
- fixing some more under/overflows in fx.cpp
2022-08-21 13:10:16 +02:00
Blaz Kristan
450a0180f8 Merge branch 'dev' into audioreactive-prototype 2022-08-21 09:54:33 +02:00
Blaz Kristan
ea363a8764 Minor cleanup & fix for connected(). 2022-08-21 09:51:15 +02:00
Frank
bbc8049832 The Right Thing to Do (makes GEQ look awesome)
... found that stupid commit messages get more attention ;-)

- use 22050 Hz for sampling, as it is a standard frequency. I think this is the best choise.
- redesigned the GEQ channels (fftResult[]) for 22Khz, based on channels found on old HiFi equalizer equipment. 1Kzh is now at the center; Bass/Trebble channels are using 1/4 on left/right side respectively - similar to real equalizers. Looks nice :-)

- adjusted effects that use FFT_MajorPeak so that the maximum frequency is supported.
2022-08-20 22:14:54 +02:00
Blaz Kristan
66acd60406 PWM Fan usermod UI enhancement. 2022-08-19 21:38:48 +02:00
Blaz Kristan
5927332a5f UI enhancement in PWM Fan usermod. 2022-08-19 21:25:44 +02:00
Frank
b8db47e528 AR: new freq scaling option "square root"
also looks nice. It's a compromise between log() and linear. OK enough tinkering for today :-)
2022-08-19 16:11:50 +02:00
Blaz Kristan
f7652bd2ef Fix audio sync check 2022-08-19 15:17:04 +02:00
Frank
3c57e2e2b9 AR: special gain for GEO, some bugfixes andparameter tinkering
- new feature: "Input Level" (info page) can be used as global "GEQ gain" - only when AGC is ON (was already possible when AGC=off)

- some parameter tweaking in FFT function
- hidden feature: FFT decay  is slower when setting a high "dynamics Limiter Fall time" (steps: <1000, <2000, <3000, >3000)

- FFT_MajorPeak default 1.0f (as log(0.0) is invalid)
- FX.cppp: ensure that fftResult[] is always used inside array bounds
2022-08-19 14:36:47 +02:00
Blaz Kristan
753ae51dd5 Stop & restart UDP on pause/update. 2022-08-18 20:42:58 +02:00
Frank
3e494cc551 removed broken frequency squelch, added frequency scaling options
- removed broken FFTResult "squelch" feature. It was completely broken, and caused flashes in GEQ.
- added Frequency scaling options: linear and logarithmic
- fixed a few numerical accidents in FX.cpp (bouncing_balls,  ripplepeak, freqmap, gravfreq, waterfall)
2022-08-18 19:07:37 +02:00
Blaz Kristan
67a51be9ee Merge branch 'audioreactive-prototype' into merge-audio 2022-08-17 20:14:11 +02:00
Blaz Kristan
2149bbb8ea Remove CS from global interface pins.
Fixes.
2022-08-17 19:44:32 +02:00
Frank
d92a93f1d5 AR: added dynamics limiter usermod cfg options
- On/Off controls the complete feature
- Rise Time and Fall Time are the minimum times (in milliseconds) for "volume" to go from 0% to 80% and back.
- when "On" we also use some filtering to smooth FFTResults[]. Rise and Fall Times do not affect Frequency reactive effects otherwise.
2022-08-17 13:40:54 +02:00
Frank
1336de12a0 Info Page: added status info for audioreactive
- Current sound source - including "failed to initialize"
- Current AGC or Manual Gain
- Sound Sync Status
2022-08-17 00:15:06 +02:00