Thank you for this! Speakers sound miles better thanks to “cutting muddy lows” as you put it. Hopefully framework do a better job at tuning their speakers in the future and making it sound decent without the need of third party software.
You’re welcome! Yeah, I have absolutely no idea what it takes to implement something like that on a firmware level. It really does make quite a difference though lol.
No prob!
In terms of speakers Framework has used the 0001 (full model: FRANBX0001) and FG03 (full model: FRANBXFG03) speakers. The 0001 speakers offer “more accurate audio fidelity” and “better low frequency response” while the FG03 speakers are “louder overall, especially in the frequency ranges where voice typically is”.
In terms of the CODEC (the chip that drives the speakers) Framework has offered the RealTek ALC295 and Tempo 92HD95B CODECs. The RealTek ALC295 is a smart CODEC, meaning it has some DSP capability for speaker protection and equalization, allowing it to drive the speakers harder without damaging them. The Tempo 92HD95B on the other hand is simpler with no smart features but greater power efficiency (and was available when the ALC295 had a shortage).
The Framework Laptop 13 with 11th Gen Intel Core processors used the 0001 speakers with the RealTek ALC295, however they were unable to get the smart features working on this generation. Due to a shortage of RealTek ALC295 CODECs they made a mid generation switch to the Tempo 92HD95B CODEC.
The Framework Laptop 13 with 12th Gen Intel Core processors used the 0001 speakers with the Tempo 92HD95B CODEC.
The Framework Laptop 13 with 13th Gen Intel Core processors uses the FG03 speakers with the Tempo 92HD95B CODEC.
The Framework Laptop 13 with AMD Ryzen 7040 series uses the 0001 speakers with the RealTek ALC295 CODEC (with the smart features actually working this time).
So there has actually been pretty significant variation between the generations. It is also possible for people to swap their speakers for the other model allowing for even more combinations.
Interesting! Yeah I would say it sounds like Intel owners may actually benefit more from this solution.
The preset may not be ideal (I would guess its still an improvement), but the “fix” for that would be tweaking a knob or two within the GUI app to taste.
Do any of you have issues with EasyEffects not remaining applied after it’s closed? I’m on Fedora 39 KDE spin and the effects are only present when the application is open. “Shutdown on Window Closing” is not enabled.
Amazing!, works wonderfully on my 1240p it’s like magic, thanks for share!
A little late on the reply, but you are quite welcome. Honestly thanks should go to the developers of FxSound and EasyEffects. Really nice to have great free tools to make those adjustments on Windows and Linux.
Thank you, that made a huge differnce!
Thanks!
Glad to hear!
This has also been a huge difference maker for me Thanks!
no problem, happy to hear it.
Has anyone found a datasheet for the ALC295? I’ve been looking through what datasheets I could find for realtek codecs of the past and the ALC250 datasheet from 2003 shows that it has a built in 7 band hardware eq for tuning speakers. I find it hard to believe that there isn’t something similar in the ALC295. It would be amazing if we could tune it right on the codec IC.
Ooh interesting find! I do have a background in audio production, but no experience with implementing it on a hardware level for a product like that.
I would imagine that built-in functionality is what a manufacturer like Framework would use to tune the speakers. I’m guessing the EQ ships “flat” by default and Framework leaves it that way, which is part of why they sound bad out-of-the-box.
My original post doesn’t do a very good job of explaining this, but for physically tiny speakers like laptop speakers, that tuning is the difference maker in perceived quality. On a physics level, tiny speakers are only well-suited for high frequencies (think a tweeter) so if you put equal emphasis on the full EQ band, they will sound “muddy.” That problem gets compounded when the speakers are downfiring.
I would have no idea where to even start accessing the actual codec EQ, something tells me it’s not a graphical interface, and may be something that needs to be configured on a BIOS level or something. It would be awesome if someone figures that out, even better if it’s Framework and they have someone tune it for a better out-of-box experience.
I expect that there is likely some kind of feature set but we won’t no for sure unless the datasheet gets leaked. I think likely it’s in the coefficient index/registers that I’ve dumped. Basically 67 x 16-bit that are used as registers for the codec. It would be very cool if we could indeed tune the speakers by sending hda-verbs. Maybe someone st Framework would be willing to look at the ALC295 datasheet and possibly possible registers if such hardware features are present.
I echo the idea that it would be good were Framework itself (the company) to ship tuning-of-this-sort by default (at the firmware level) or as something the user can install.
Wonderful - now it doesn’t sound any worse than the competition. Thanks for the post!
Holy crap! I was a little doubtful how much this would help but it helps a ton! Thanks for this!
Can anyone from Framework chime in here on whether Framework could go about this tuning, or provide the relevant datasheets/info so the community can assist in this work? @nrp?
It would be much more optimal than running EasyEffects and using CPU cycles.