Of course, this will never rival an actual "serious" amp and speakers, but it can drastically improve matters. Anecdotally, my HP laptop has a pretty crappy sound under Linux, but under Windows with the Realtek drivers, it sounds OK. The soundcard itself doesn't seem too bad: if I use a pair of nice headphones or plug it into my dedicated stereo, even under Linux I hear no difference compared to using an external DAC connected through USB.
The speakers safety thing seems like a completely new thing, though.
All sounds like an absolute nightmare to anyone even remotely into audio. But I guess tiny speakers are occasionally useful.
Phones, laptops, tablets. The tiny speakers built into TVs, much smaller than even built-in speakers on CRT TVs used to be. Ear buds of various sorts, and smallish headphones. That’s most audio-listening accounted for (except in cars).
Hell, I’ve got a good hi-fi setup and (separately) a probably-top-couple-percent 7.2 home theater audio situation (in one room… but not on the other TV) and even so I listen to things on tiny speakers more than on big ones.
Hmm... I think you're probably right, but my one counter would be that Bluetooth speakers are an absolutely enormous market, I see them everywhere!
Same with earbuds. You seem to be putting those under "tiny speakers" but I'm not sure that's relevant, the physics are different because they don't need to get loud enough to hear when they aren't next to your ears.
I suppose Bluetooth speakers are still "small" in the grand scheme of things, but they aren't phone/laptop speakers.
It's not only useful for tiny speakers: everything from home audio to big PA installations for concert halls can benefit from DSP optimisations. It's a way to squeeze more sound from the same speakers.
However, most people will probably not go out of their way to use this, and also, having a DSP tailored to the specific speakers and enclosure is nice. But I agree there should be a way to completely disable this, at least when using the line out jack, be it for headphones or an external audio system.
> But I guess tiny speakers are occasionally useful.
They are to me. My laptop is much easier to carry on planes than my audio system, and I don't always like having headphones on, for example when watching a movie in bed.
According to Marcan on mastodon, the DSP is only enabled when you use the internal speakers.
I have a custom-made subwoofer that can hit 12Hz (measured), and creating a DSP profile to compensate for my room + speaker acoustics has significantly improved the listening experience.[1][2]
[1] https://www.hifiberry.com/shop/boards/beocreate-4-channel-am... [2] https://github.com/hifiberry/hifiberry-dsp/blob/master/doc/r...
The hifiberry DSP does primarily three things: - equalization for speaker + room acoustics - customizable crossover frequency for speakers (in my case a 2.1 setup) - loudness equalization across speakers
There may be a latency compensation module, but that's not something I needed in my case.
None of this is rocket science, but audio does sound significantly better after compensation. Specifically, my living room geometry was causing standing waves in the ~200 Hz range, making the low-end sound unpleasantly boomy. The calibrated compensation pretty much eliminated this, without needing to invest in physical sound traps and the like.
This is a fun little project for really not much money. I recommend it to everyone who likes tinkering, all you need is a <$100 measurement mic, REW, and a tiny bit of patience.
EQing out bass if you sit in an antinode is definitely better than nothing, though.
That leaves it up to the laptop vendor to implement hardware to perform DSP (and the quality of this varies tremendously from poor to OK). Apple doesn't use hardware for their speaker DSP (it's all software) and their speakers sound better than anything else out there. Linux now has similar functionality thanks to Asahi, and it will only get better over time.
I don't know how common this arrangement is in other laptops, but it's the kind of hardware/software integration that Apple is known for.
- Bad sound and nothing you can do about it
- No sound at all
- Carry external speakers with you all the time
Where in the past it was impossible to both have physically small devices and good sound, technological advances have enabled us to do more with less. So adding that technology means we can now have better sound than in the past.Rightly or wrongly, Apple does it in software on the CPU but until now this wasn't replicated in linux. So the Asahi project (which is for macs with M1/2/3 CPUs), has added this feature to linux[1] and is working on adding DSP models for each model of Mx Mac. In Asahi Linux Speakers have been disabled by default on all models until this feature as well as the specific DSP for each model is ready. Now they have reached the point where speakers are enabled for the first model, which is a huge milestone.
[1] I originally wrote "linux kernel" but it is actually done in user space, with interlocks in the kernel to fall back to simple aggressive volume limiting.
Do they have a very very conservative profile by default?
Apple provides a system that drives the speakers within those bounds as close to the actual bounds as possible to get the most out of the system that they realistically can.
Asahi is trying to do the same but are choosing a profile that is far more conservative than apple to start with while they get things ironed out. This profile they have is still an improvement over the worst case bounds but it has very sharp/jarring "safeties" that trigger when the system suspects it might be close to damaging the hardware (dropping immediately to a much lower, safe level vs apple's profile which gradually shifts the audio to a safe point without making it obvious that it is doing so).
It’s ok to be quite loud for any one peak for a short amount of time (let’s say 50dB for 10ms) but for indefinite time periods much less is ok (let’s say 30dB but these are totally made up numbers). There are also limits to how much energy you can put into the speaker before it overheats. There also may be some frequencies with different limits (this is total speculation on my part). So the DSP models the behavior of the speakers and tweaks the input to prevent them from overheating (in my understanding). Normally you won’t notice this unless you are trying to play a single tone at max volume. Without this advanced DSP, you would have to just limit the output to 30dB which in practice means high volume parts of your audio are clipped or you limit to a very low volume to have enough headroom to play the louder components of your audio. Considering how loud and good modern macbooks, smartphones and smart speakers sound compared to similar sized speakers from even 10 years ago I think the effect is pretty great.
If it does, can we "import" it to linux?
I imagine it will be incorporated into other distros soon as a result.