ADAU701 Programming in SigmaStudio question
Hello!
I am very new into this and I hope this sort of questions can be asked here...
I will try to keep this as short as possible. I have a 2.0 Class D Amp with ADAU701 for DSP. I try to build a portable speaker with it. Initially, I have designed the speaker for a normal amplifier, without any DSP - crossovers for the drivers, box tuned for the desired bass response desired etc.
Though the sound is very good (I can not be objective since I have designed it) there are certain aspects that I want to improve - the reason for which I have decided to change the current amp with the DSP one.
1. I need to cut the very low frequency (under 40Hz or so) as I am using small 4 Inch drivers for the Mids and Bass - I saw that this can be easily achieved using SigmaStudio
2. Control Bass output depending on the input level and have it stop increasing in magnitude after a certain level. When the amp is at the max volume, currently, the speakers do not distort (audibly), but they are at their limit.Basically, what I try to achieve is this:
a. Loudness from the source 0 - 75%- The lower the volume the greater the bass increase in relation to the overall volume and as you come closer to 75%, everything to balance out - A loudness control, but not sure how to do this so that both a., b., c. and d. below are accomplished.
b. The above 75% to be what is currently 100%, so at this level, the overall loudness and eq would be what the amp can normally achieve without DSP, but it would have room to increase the level further.
c. The ability to push the level up further, to an imaginary 100%, but only from the upper bass and up, say anything under 120Hz or so to remain at the same level, while everything over is increased. This would allow me to squeeze every bit of loudness possible from the speakers and amp without audible distorsion, even if the sound quality and overall sound balance would suffer.
d. Optional: Different sources have different loudness. For example, the same song played via Bluetooth from a device using Spotify will usually be significantly louder than the same song, from the same device but using Youtube. I would like the above 100% to be set for Youtube's levels and whenever a Spotify song is played, to be limited to the same level, not sound louder. Basically, set up the maximum level according to a source and limit anything that tries to play louder...
The loudness percentages above are not set in stone, I just estimated them in order to have an idea of what I wish to accomplish.
If someone with more experience working with SigmaStudio can simply point me in the right direction - "For b you need these blocks, for c I would suggest this. etc"., I would greatly appreciate it. Just some basic pointers will do as I will research this further from my end but currently, I am a bit overwhelmed by the information available and I am not sure how such a project would even look, what blocks to use and where, or how to achieve (if even possible) all of the above.
This would be my very first SigmaStudio project.
Thank you for your time and sorry for the long post.
Audio Signal Processors
Loudness
sigmastudio
SigmaDSP Audio Processors
SigmaDSP
limiter
adau1701
Show More
Hello Gabriel,
Welcome to the forum. ADI has done some of the work for you with their Dynamic Bass Block. This will help with (a) and (b). The world dynamic refers to any block whose processing changes with signal level.
Locate the black box under the slider and set it to the frequency where you want the boost to peak at low level. The slider adjusts the amount of boost. With increased level, the boost diminishes, and at full-scale, this block actually cuts the bass below the set frequency. Thus it helps protect your woofer as well. The SigmaStudio Docs Wiki describes this and other blocks -- its Dynamic Bass entry (linked above) lists all the block's parameters and what they do. The default settings work well. Some additional background is available here:
Dynamic Bass Boost Basics
Note the DC Block Filter at the input -- this removes any DC from the input signal. DC can fool dynamic blocks so it's best to include a DC Block filter in any project involving dynamic blocks or measuring levels.
After you gain more experience with SigmaDSP, you can build some rather sophisticated loudness schemes using index filters. Search the forum for "dynamic loudness" to get an idea. For now, the Dynamic Bass block will get you started.
Best regards,
Bob
Thank you!
This is great info! I think I will find a way to be able to set the overall gain beyond 0DB for the output and tune the Dynamic Bass accordingly. Perhaps a limiter on the input would solve point d.
The current DSP Amp unfortunately has some issues and I can not use it for testing, I have ordered a new one, waiting for it to be shipped. Can't wait to get started.
Please log in to reply.
