Improving perceived sound quality on the FW13

This is a simple PSA for people who may be unhappy with the overall sound of their speakers and aren’t already using software like this. It can help a lot with resonance issues from down-firing speakers.

In my semi-professional opinion, it’s not really a hardware issue it’s a lack of DSP. Generally, all laptop speakers suck. The difference between crappy laptop audio and good laptop audio is often due to signal processing.

A decent EQ curve and some compression goes a long way. Cutting muddy lows and slightly boosting the highs made a huge difference on my FW13.

The two programs below are audio devices that add a layer of signal processing to your computer’s audio output. I’m using FxSound on Windows and honestly wouldn’t want to be without it.

Windows: FxSound (free and open-source)

The FxSound preset I made: GitHub (Tuned using an AMD FW13.)

Linux: EasyEffects (free and open-source)

EasyEffects has some premade profiles for the FW13. Thx Arch Wiki.

(reposted from Reddit after receiving overwhelmingly positive feedback.)

35 Likes

Thanks for the contribution. Which variant of the Framework 13 was this modelled for?

1 Like

I would say the information is mostly ‘variant agnostic,’ as all FW13s have down-firing speakers.

However, the FxSound preset I made was tuned using an AMD FW13. If there are significant differences in audio between the Intel and AMD versions, the preset may not be ideal. I don’t have an Intel FW13 to test/tune with. I’m going to add that to the little ReadMe on the
Github link.

I can’t speak for the EasyEffects presets, as I have not used them myself and did not make them. That link was sourced from the Arch Linux Wiki page for the Framework laptop.

1 Like

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.

1 Like

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.

1 Like

The difference is remarkable! Thanks Plobby!

1 Like

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.

5 Likes

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!

1 Like

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.

2 Likes

Thank you, that made a huge differnce!
Thanks!

1 Like

Glad to hear!

This has also been a huge difference maker for me Thanks!

1 Like

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.

1 Like

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.

1 Like

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.