Skip to content
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

1/3 octave classic graphic eq bands #28

Closed
jonathan-annett opened this issue Mar 14, 2022 · 9 comments
Closed

1/3 octave classic graphic eq bands #28

jonathan-annett opened this issue Mar 14, 2022 · 9 comments
Labels
enhancement New feature or request

Comments

@jonathan-annett
Copy link

i'm wondering how closely the bands of an "old school classic graphic equalizer" can be displayed.

https://www.engineeringtoolbox.com/octave-bands-frequency-limits-d_1602.html

i've tried plugging various values into octave-bands-viewer.html in the tools folder, but can't find any settings that work.
is it possible to manually define an array of custom bands?

i'm hoping to make a simple tool to assist in tuning a room, which engineers can load up in their web browser, either on a laptop with a reasonable external usb sound card, or on a phone for less acurate measurement (phone mics are not that great)

@hvianna
Copy link
Owner

hvianna commented Mar 17, 2022

Hello Jonathan!

The analyzer bands are created using the equal temperament scale, based on the 440Hz pitch (A4) standard - see reference frequency table here. Using the equal temperament scale has the advantage to allow the visualization of individual musical notes when using the 1/12th octave bands, where each band corresponds to a piano key.

On the other hand, the standard octave and third-octave bands are based on a central 1000Hz frequency, which lies somewhere between B5 and C6, so the frequencies of all bands are slightly different from those of the equal temperament scale.

That being said, your question made me realize that I'm using what should be the center frequency for the band as its lower edge frequency, and that's why the values reported by the viewer tool seem even more distant from the standard bands.

I tried a different approach to generate the frequency bands and this is what the 1/3rd octave bands should look with the new code:

image

I plan to work more on this during the weekend, to implement the changes in the analyzer module.

Do you think that would better meet your needs?

@jonathan-annett
Copy link
Author

jonathan-annett commented Mar 17, 2022 via email

@hvianna
Copy link
Owner

hvianna commented Mar 18, 2022

@jonathan-annett

In other words I'd like to display the area of the spectrum that will be
directly affected by each physical slider on the device.

Ah, I see!
I believe getEnergy() should indeed work for you, then. Please let me know how it goes.

I'll look into allowing users to specify the bands center frequency in a future release.

Cheers!

@jonathan-annett
Copy link
Author

jonathan-annett commented Mar 24, 2022 via email

@hvianna
Copy link
Owner

hvianna commented Mar 24, 2022

Pretty cool spectrogram!! I think it's as efficient as it can be done.

You can pause/resume the analyzer with toggleAnalyzer() - this will stop triggering the callback.

@hvianna
Copy link
Owner

hvianna commented Mar 25, 2022

So I had a more in-depth look on the standard octave bands specification and I'll definitely try and have it included in the next release of audioMotion-analyzer.

Please keep an eye on this issue for progress information.

@jonathan-annett
Copy link
Author

jonathan-annett commented Mar 25, 2022 via email

@borisorlov21
Copy link

The sound quality is really on top compared several players while this one plays very well thank you

@hvianna hvianna added the enhancement New feature or request label Mar 24, 2023
@hvianna
Copy link
Owner

hvianna commented Mar 31, 2024

Now available in version 24.3 🎉

@hvianna hvianna closed this as completed Mar 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants