-
Couldn't load subscription status.
- Fork 35
release 2.0.0 #37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
stas-sl
wants to merge
39
commits into
main
Choose a base branch
from
dev
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
release 2.0.0 #37
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
743fd54 to
5430f70
Compare
d0bdb61 to
82c8ee6
Compare
f8b07c4 to
89550b0
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Release notes
This release comes with quite a few changes - including switching to the official I2S audio microphone for data reading and a new config structure - so it will break your existing setup.
If something doesn't work for you in this version, or you just don’t have the time to update your config (and you're happy with how things are now), feel free to stick with a specific version and upgrade later when it suits you:
Changes in this release:
Switched to the official I2S audio microphone: As requested by many users in this issue, the component now uses the official I2S microphone integration. This change improves compatibility with other I2S/audio components and offers better support for a wider range of hardware and board variants.
However, there are some trade-offs. The new setup consumes more resources. Previously, only one FreeRTOS task was used. Now, the I2S microphone runs in its own task (requiring memory for both stack and buffer), and the sound level meter runs in a separate task (also needing stack and buffer space for calculations). Additionally, a ring buffer is required to pass data between these tasks.
Refactored configuration structure: The YAML configuration for filters and sensors has been updated from a hierarchical to a flat, single-level format. This should improve readability and make it easier to edit and maintain, especially by avoiding indentation-related issues. Functionality and flexibility remain unchanged - you can achieve the same results with the new format.
Optional support for optimized SOS filtering via ESP-DSP: The component now supports the use of
dsps_biquad_f32_xxfunctions from the ESP-DSP library for second-order section (SOS) filtering on ESP32, ESP32S3, and ESP32P4. These functions may offer up to 2× better performance than the existing C++ implementation. However, note the following limitations:10-band web-based spectrum analyzer demo/config example: A demo configuration showcasing a 10-band real-time spectrum analyzer via a web interface has been added. While the original intention of this project was primarily A/C-weighted level measurements, this example shows how to repurpose the component to monitor specific frequency bands using custom filters.
To start using all these new features before the official release, you can switch to the dev branch. It should already be quite stable, but I’m holding off on merging it into main since it would break existing configurations.