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
Frank
1a2701561b
AR: bugfix for audio sync receive, and a few robustness improvements
...
* Header checking for sound sync receiver: removed wrong "!"
* make sure all member vars have initial values
* some robustness improvements in case of receiving bad UDP data.
2022-08-16 12:02:22 +02:00
Frank
873e41dcfb
AR: change smoothing of FFTResult
...
FFTResult smoothing changed; rising edges will be very quick, falling down is slower.
2022-08-15 14:28:51 +02:00
Frank
8acb44b202
small improvement for limitSampleDynamics
...
support the case when only attackTime XOR decayTime is defined
2022-08-14 14:38:27 +02:00
Frank
968721a515
some audio processing improvements and bugfixes from SR WLED
...
- smoothing FFTResult (don't have a matrix to test)
- UDP sound sync improvements
- some bugfixes from SR WLED
- button.cpp: avoid starvation: strip.isUpdating() can be true for a long time.
work in progress - still needs testing!!
2022-08-14 13:58:07 +02:00
Blaž Kristan
d05b49496c
Merge branch 'segment-api' into audioreactive-prototype
2022-08-11 13:24:01 +02:00
Blaz Kristan
e0a954caa2
4LD refresh task.
...
Scrolling text improvement.
LED settings bugfix.
Audioreactive disabled by default.
2022-08-10 20:20:36 +02:00
Frank
ecce3243de
save 1KB of RAM
...
save one KB (4*256 bytes) by not storing the "upper half" of FFT results. Only the lower half has interesting results.
2022-08-10 18:14:28 +02:00
Frank
5e6532959b
AudioSource improvements (work in progress)
...
-new methods: getType(), isInitailized(), postProcessSample()
- allow users to compile for RIGHT audio channel (-D I2S_USE_RIGHT_CHANNEL)
- better handling in case audio input driver failed to initialize
- removed some unneeded code and unneeded parameters
2022-08-10 17:18:43 +02:00
Frank
924073424f
AR FFT task optimization - wait so I2S can fill its buffers
...
It seems that waiting first (before reading I2S) is much better than waiting after FFT is completed.
2022-08-08 13:53:46 +02:00
Frank
3a8c99d43c
AR: removed two unneeded variables
...
some cleanup - no functional impact.
2022-08-08 10:51:46 +02:00
Frank
58987989da
experimetal: limit rate at which the FFT task runs
...
this should do the trick.
Needs some more testing.
2022-08-07 22:19:38 +02:00
Frank
86e8ee334f
future support: reading a single sample on 8266
...
audioreactive will still not work on 8266. This is just experimental code that allows to read a single sample from ADC every 20 millis.
2022-08-07 22:04:26 +02:00
Frank
8694e7a6bf
AR: loop hickup protection (from SR WLED)
...
same "hickup protection" as implemented in SR WLED.
2022-08-06 18:17:45 +02:00
Frank
b46a6ed094
AR: samples dynamics limiter (experimental)
...
to enable, compile with -D SOUND_DYNAMICS_LIMITER.
still missing UI integration, and more testing.
2022-08-06 17:53:35 +02:00
Frank
d0f53cb14a
AR: removing some old debug code
...
Align with SR WLED code:
- removed old debug code that did not work any more
- removed experimental MAJORPEAK_SUPPRESS_NOISE code
2022-08-06 17:24:39 +02:00
Frank
96d497a5cd
AR: optimize sound sync, and code improvements
...
UDP audio sync: introduced new header version, because the new struct (without myvals[]) is not compatible with the previous struct. Also optimized structure size.
UDP audio sync: sender decides is AGC or non-AGC samples are transmitted.
getsamples: move volumeSmth/volumeRaw code out of AGC core function.
2022-08-06 16:48:26 +02:00
ewowi
84750e2605
Refactor um_data: remove fftBin
2022-07-29 15:50:09 +02:00
ewowi
dfa1a3ad90
Refactor um_data: remove inputLevel
2022-07-29 15:43:27 +02:00
ewowi
c1f9445e9d
Refactor um_data variables for audio reactive
...
- change sample to sampleRaw
- add volumeSmth, volumeRaw, my_magnitude and calculate in agcAvg
- remove sampleAvg, soundAgc, sampleAgc, sampleRaw, rawSampleAgc, FFT_Magnitude, multAgc, sampleReal, sampleGain, (myVals), soundSquelch from um_data interface
- refactor all effects using above variables
2022-07-29 15:24:04 +02:00
ewowi
bc67bf6826
Replace myVals from audio_reactive.h to SEGMENT.data
...
(position in um_data reserved as free, could be cleaned up later)
2022-07-29 10:04:10 +02:00
Blaz Kristan
a6f31a577a
Merge branch 'segment-api' into audioreactive-prototype
2022-07-27 21:35:29 +02:00
Blaz Kristan
1e4f8be74b
Merge branch 'mapping12soundsim' into segment-api
2022-07-20 21:22:23 +02:00
Frank
ce32ac19dd
AR: better default values
...
gain =1 does not make much senses, at it means "0.0825"; 40 internally translates to "1". 60 seems to be a good start.
- Don't use ADC analog microphone as default, to avoid well-known conflicts with other stuff hooked up onto ADC1,
- re-enabled a forgotten delay (overlooked that in my last commit)
2022-07-11 14:30:03 +02:00
Frank
ff5d899a92
AR: gracefull suspend when under external control
...
- same fix as in SR-WLED upstream
- if strip.isupdating() is true for more than 12ms, run audio filter loop regardlessly. The userloop is very fast, so I'm expect no bad side-effects from this.
2022-07-10 22:47:42 +02:00
Blaz Kristan
f0992d56c1
Added global I2C & SPI HW pin defines
...
Fixed default values fo custom sliders.
Fix for color selector.
Changed fading for 2D GEQ
Audioreactive fix send/receive option
2022-07-07 23:07:20 +02:00
Blaz Kristan
377a11b160
Fix for enable/disable FFT task.
2022-07-06 19:46:32 +02:00
Blaz Kristan
9519c8edbd
Fix disbling AudioReactive usermod
...
Reduce IRAM pressure for ESP8266
2022-07-06 19:42:48 +02:00
Frank
96e04f1c54
AR: option to use new (template-based) ArduinoFFT
...
Additonal build_flags: -D UM_AUDIOREACTIVE_USE_NEW_FFT
Additional lib_deps: https://github.com/kosme/arduinoFFT#develop @ 1.9.2
2022-07-04 17:09:20 +02:00
Frank
bfbff723ac
AR: use more accurate timer for benchmarking
...
use esp_timer_get_time() because it is more accurate. Actually I don't trust millis() so much ;-)
2022-07-04 13:58:25 +02:00
Frank
03dba4d7d0
restoring a few doubles
...
a few doubles are currently necessary, due to high speed of the control loops (see discord discussion).
2022-07-04 12:34:32 +02:00
Blaz Kristan
8b58d96aea
Float variables instead of double.
2022-07-03 23:00:32 +02:00
Blaz Kristan
0a2e01a616
Multiple changes:
...
- change arduinoFFT to float (custom)
- update audioreactive to use float
- update effects to use float
- info slider (usermod)
- hide Peek in 2D
- minor bugfixes
2022-07-03 22:55:37 +02:00
Blaz Kristan
ae50374d55
Prevent analog button from working.
...
If analog input selected.
2022-06-29 14:12:07 +02:00
Blaz Kristan
4c759083be
Multiple changes.
...
Added:
- introduced addEffect() and setupEffectData()
- conditional compile for audio effects
- introduced getModeData() and getModeDataSrc() instead of public var
- changed _modeData[] to private non-static
Fixes:
- DMTYPE use
- add reboot info to DMTYPE
- transpose & reverse with mirroring
2022-06-21 22:49:45 +02:00
Blaz Kristan
d3bb079be4
Muliple enhancements:
...
- Smarter on/off buttons in Info panel (usermods)
- On/Off bus in bus_manager
- 2D GEQ fix (2D CenterBars obsolete)
- hide unused palettes & modes
2022-06-20 22:17:01 +02:00
Blaz Kristan
7ebb58b1fa
Code shuffling (making bugs)
2022-06-19 19:15:34 +02:00
Blaz Kristan
ac5b3110f2
Code cleanup (reduced globals).
2022-06-18 12:57:54 +02:00
Blaz Kristan
48259b4ffe
Reorganised exchange array.
...
Updated effects to reflect reorganisation.
Provide feedback to UI for maxVol and binNum.
2022-06-18 12:36:10 +02:00
Blaz Kristan
36503f0417
Fix CRLF
2022-06-17 16:24:25 +02:00
Blaz Kristan
0daddf9896
Some fixes.
...
Remove (*) palettes if not all 3 color selectors shown
Updated comments
2022-06-17 16:18:35 +02:00
Blaz Kristan
f3364e1327
Scrolling text #DATETIME bugfix.
...
Cosmetic changes.
2022-06-16 21:52:14 +02:00
Blaz Kristan
cf54115077
Sync bug fixes.
...
Analog input fix.
Code cleanup.
2022-06-16 19:20:04 +02:00
Blaz Kristan
12a94c50b8
Various fixes.
...
Added support for no audio to some effects.
2022-06-16 16:10:38 +02:00
Blaž Kristan
f92c336ae4
Fix for fftCalc
2022-06-16 07:47:58 +02:00
Blaz Kristan
477c9ef577
Cosmetic fixes.
2022-06-15 22:17:34 +02:00
Blaz Kristan
e146a476bd
Effect ID compatibility with WLED-SR
...
Updated some SR effects.
2022-06-15 17:21:32 +02:00
Blaž Kristan
f32a39e79f
Finalised used variables in effects
2022-06-14 14:48:13 +02:00
Blaz Kristan
cdef8472e3
Gav... efects to test audio
...
Anti-aliased setPixelColor() with support for normalized x & y
2022-06-13 21:28:10 +02:00