[HN Gopher] GPD Pocket 4 Speaker DSP: Configuring PipeWire so la...
___________________________________________________________________
GPD Pocket 4 Speaker DSP: Configuring PipeWire so laptop speakers
sound better
Author : zdw
Score : 140 points
Date : 2025-04-09 18:07 UTC (4 hours ago)
(HTM) web link (kittenlabs.de)
(TXT) w3m dump (kittenlabs.de)
| thrtythreeforty wrote:
| Impulse response is sort of overkill here. If you design a filter
| bank in the first place, you can just _implement that filter
| bank_ much cheaper than doing even an FFT-based convolution.
| Convolution is useful when you don 't know the underlying filter
| transfer function.
| cycomanic wrote:
| I'm not sure I understand. How would you apply your FIR filter?
| Are you suggesting there is a different way than to either do
| convolution in the time domain or a multiplication in the
| frequency domain?
| colanderman wrote:
| Presumably GP is suggesting IIR filters?
| Retr0id wrote:
| > Convolution is useful when you don't know the underlying
| filter transfer function
|
| But we don't?
| smj-edison wrote:
| Perhaps it's simpler to configure with a single impulse
| response vs multiple filters?
| gmueckl wrote:
| This depends entirely on the length of the impulse response,
| doesn't it? A very short time domain convolution isn't actually
| more computationally expensive than a bank of crossover
| filters.
| Sesse__ wrote:
| It really depends on what your filter bank looks like. If it's
| a 4-band parametric EQ, then sure, you can have four biquad IIR
| filters and that's it. But if you've measured an impulse
| response and want its inverse (e.g. through a Wiener filter),
| that's not what you have; you simply have another impulse
| response (effectively closer to a N-band graphical EQ where N
| >= 100), not a parametric EQ.
|
| As a nitpick: You always know the filter transfer function,
| it's the DFT of the impulse response (and without the impulse
| response, you obviously cannot convolve).
| thrtythreeforty wrote:
| Agreed - I read this bit in the article:
|
| > generating a filter curve for a 300Hz slope, both channels
| were divided (A/B) against that curve
|
| as defining a parametric EQ band. If you just generally want
| to invert a measured impulse response, then yeah, you don't
| know the underlying transfer function.
| causality0 wrote:
| FxSound made a huge difference in changing my GPD Win Max 2's
| speakers from unusably bad to average.
| rzzzt wrote:
| On an old MBP I have a similar setup with these two tools:
|
| - https://ju-x.com/hostingau.html
|
| - https://existential.audio/blackhole/
|
| Default output for applications is set to BlackHole's virtual
| sound device which the "Ext-In / Track D" channel can pick up in
| Hosting AU as an input. An "AUDynamicsProcessor" and
| "AUGraphicEQ" stage later (both built-in macOS units) it is sent
| back to the real output device.
| c-hendricks wrote:
| A lot of fun to be had with black hole + guitar rig.
| ahub wrote:
| Ho wow, the sample video shows incredible results, I'd love to
| read more about how to configure it with my own laptop and
| microphone. Settings ought to be different for each laptop model,
| right ?
| BizarroLand wrote:
| I would also like to know this. I have a Lenovo Legion and the
| sound quality is dramatically worse on Linux vs Windows. A fix
| would be a godsend.
| dylan604 wrote:
| Watching the video when they switch profiles??? sounds like
| when you're watching a movie and they make the music sound like
| coming from something in the scene and then switch to just
| music for the movie like showing someone with
| headphones/earbuds.
|
| Pretty impressive demo.
| rasz wrote:
| Original sounds like one of the speakers wired in reverse
| inverting phase.
| dylan604 wrote:
| The fact that a hardware wiring issue can fixed with a
| software fix is cool. Also reminds me just how much
| software in pretty much all hardware design has to fix bad
| hardware.
| MrBuddyCasino wrote:
| I wonder what the latency is. FIR needs quite some time in the
| lower frequencies.
| smj-edison wrote:
| Huh, I didn't realize pipewire had builtin support for this! I've
| been using a different piece of software called Easy Effects[1]
| on my framework laptop.
|
| To equalize my laptop, I ended up buying a umik-1, and using REW
| to calculate all the filter coefficients (you can import REW's
| filter export right into Easy Effects). It's a subtle difference
| at first, but it's much cleaner (I also usually have a compressor
| and loudness effect enabled, as the framework speakers are pretty
| quiet).
|
| [1] https://github.com/wwmm/easyeffects
| cassepipe wrote:
| Would you share the profiles you used for your framework ? I
| have one too and it could use a better sound
| blutack wrote:
| If it's a 13, there's a couple linked from here: https://wiki
| .archlinux.org/title/Framework_Laptop_13_(AMD_Ry...
|
| I use the "cab404" one and very impressed with it.
| smj-edison wrote:
| Here's the one I created, but be sure to try the others like
| @blutack mentioned: https://gist.github.com/smj-
| edison/280c7b293f727b40c29ffef3d...
|
| EDIT: and full easy effects profile:
| https://gist.github.com/smj-
| edison/915c3a72bf485bd8910125b68...
| tuukkah wrote:
| Do you have the version 1 (original) or the version 2 (80 dB)
| of the Framework speakers?
| smj-edison wrote:
| Version 1 (I got a framework 12 and so far have only swapped
| the screen). Now that I think of it, which one is the
| official EQ for?
| ahartmetz wrote:
| Work on PipeWire started AFAIU as a simpler plugin API for
| GStreamer, so of course many things are pluggable and
| interposable and routable etc.
| dizhn wrote:
| One can do similar things with JamesDSP on Android. I believe
| there are ways to do it without root nowadays. Also you'd be able
| to find flattening eq curves for your headphone on GitHub and
| other places. I'll find the link if anybody is interested. This
| fixes artificially bass heavy headphones pretty well.
| dsr_ wrote:
| If your headphone has already been measured, https://autoeq.app
| is your friend.
| jorvi wrote:
| Thank you for mentioning AutoEQ, that's a great resource :)
|
| I wonder why laptops don't come with an internal speaker DSP
| profile loaded onto the EEPROM. This seems like one of those
| things that you really just want to do in firmware.
| Glyptodon wrote:
| What kills me is that I'm going to have to learn half of the
| skills to do this sort of thing just to reverse one PC's stereo
| channels. (Though in all fairness maybe it only seems complicated
| because this is my first contact with Suse/Tumbleweed.)
| zveyaeyv3sfye wrote:
| gpt help u 0 think
| rasz wrote:
| Under windows https://sourceforge.net/projects/equalizerapo/
|
| >Equalizer APO can be used in conjunction with Room EQ Wizard
| (http://www.roomeqwizard.com/), because it can read its filter
| text file format.
| unit149 wrote:
| MBV recorded Loveless w/ two tube amps, face to face to mimic
| Spector's wall of sound. No effect or pedals. When recording BT
| over DAW, like in Reverb,.wav/REW audio delay files correct
| external post-installation drivers.
| abdullahkhalids wrote:
| Can you similarly process the laptop microphone input so it
| sounds better?
| lxgr wrote:
| Different idea, but a lot of DSP magic happens there too:
| https://news.ycombinator.com/item?id=43461701
| trelane wrote:
| I wonder if this is part of what System76 does with their
| computers
___________________________________________________________________
(page generated 2025-04-09 23:00 UTC)