[HN Gopher] Speaker Support in Asahi Linux
       ___________________________________________________________________
        
       Speaker Support in Asahi Linux
        
       Author : pantalaimon
       Score  : 222 points
       Date   : 2023-11-12 12:20 UTC (10 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | jasoneckert wrote:
       | A better title for this would be "Asahi introduces advanced
       | speaker DSP to Linux" as that is the real significance of this
       | new development.
       | 
       | I imagine it will be incorporated into other distros soon as a
       | result.
        
         | _joel wrote:
         | Indeed, I didn't think much of the work until it dawned on me
         | the effort needed to accomplish this behind the scenes.
         | Interesting post.
        
         | mahmoudhossam wrote:
         | Can someone ELI5 why advanced speaker DSP is a huge thing? I
         | read the linked document and couldn't really figure out why
         | this is important and why it differs from what we already have
         | in Linux systems.
        
           | vladvasiliu wrote:
           | The way I understand it, the tiny speakers in laptops don't
           | sound great. But since sound perception is somewhat relative,
           | manufacturers use DSP to try to improve the perception of the
           | sound.
           | 
           | 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.
        
             | globular-toast wrote:
             | But we could already do DSP with Pulseaudio and Pipewire. I
             | guess is making the speakers DSPs "built in" and tweakable
             | with GUI etc? As well as actually creating the speaker DSP
             | profiles, I guess.
             | 
             | 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.
        
               | hotnfresh wrote:
               | In this, our modern world, tiny speakers are what most
               | people listen to most things on, except maybe in their
               | cars.
               | 
               | 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.
        
               | Wowfunhappy wrote:
               | > In this, our modern world, tiny speakers are what most
               | people listen to most things on, except maybe in their
               | cars.
               | 
               | Hmm... I think you're probably right, but the one thing
               | that gives me pause is the _enormous_ market for
               | Bluetooth speakers. I see Bluetooth speakers
               | _everywhere!_ I suppose most Bluetooth speakers are still
               | "small" in the grand scheme of things, but they're
               | certainly larger than phone and laptop speakers.
               | 
               | Earbuds are similarly omnipresent. I'm not sure it's
               | accurate to classify those as "tiny speakers"; the
               | physics are different, because they only need to be loud
               | enough to hear when they're next to your ears.
        
               | johnwalkr wrote:
               | Good bluetooth speakers also use similar DSP to sound way
               | better and louder than they would without it so I am not
               | sure this is a counterpoint. The unique thing here is
               | Apple does it on the main CPU, presumably because "why
               | not", so you couldn't safely power the speakers of your
               | mac while running linux until the related features were
               | added.
        
               | sethhochberg wrote:
               | At this point even "bigger" speakers make heavy use of
               | DSP, too - from household commodities like Sonos to
               | higher end hi-fi powered speakers like the KEF LSX
               | series, almost everyone in the industry making an active-
               | amplified product has wised up to the idea that some
               | processing can make use of clever acoustic tricks or
               | compensations to make their products sound better (by
               | whatever definition of better their brand sells) than
               | they would being drive flat from the source. When you
               | provide the whole integrated package its a no brainer.
        
               | bzzzt wrote:
               | You're right that you can do DSP everywhere, but if you
               | implement this in user space you give everybody rights to
               | damage the speaker.
               | 
               | 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.
        
               | vladvasiliu wrote:
               | I do use DSP under Linux with easyeffects. I found a
               | preset called "Laptop Unsuck" which works ok-ish, but I
               | can't find the original URL after a quick search. It
               | works OK for my needs, but easyeffects does add some
               | latency, which isn't great for videoconferencing for
               | example.
               | 
               | 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.
        
               | zozbot234 wrote:
               | I think it's supposed to be a kind of in-kernel
               | equivalent to Pulseaudio and Pipewire, meant to keep the
               | sound output below the limit where it would risk blowing
               | the speakers. That's a nice idea, and you could even pick
               | a cool name for it, like Advanced Linux Sound
               | Architecture. It could even support things like the
               | hardware mixing channels, filter chains, sample-based
               | synthesizers etc. that some soundcards have, instead of
               | leaving it all to software.
        
               | Aeolos wrote:
               | Compensating physical limitations to create a neutral
               | sounds profile is useful regardless of the size of the
               | speaker.
               | 
               | 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-cha
               | nnel-am... [2] https://github.com/hifiberry/hifiberry-
               | dsp/blob/master/doc/r...
        
               | globular-toast wrote:
               | Is this more than just EQ? I think AVRs do some latency
               | compensation too, although that's probably only a problem
               | in multi-channel set ups.
        
               | Aeolos wrote:
               | It's primarily EQ calibrated via a frequency sweep of the
               | room + speaker acoustics.
               | 
               | 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.
        
               | globular-toast wrote:
               | If your standing waves mean you only need to attenuate
               | frequencies with EQ then you're very lucky! A standing
               | wave means there will be some parts of the room that are
               | too loud (antinodes) and some that are too quiet (nodes).
               | Bass traps are to eliminate standing waves such that you
               | won't have this variance around the room. The bigger
               | problem is when your sitting position is in a node
               | meaning you will completely lose a bass frequency. You
               | can't EQ that back.
               | 
               | EQing out bass if you sit in an antinode is definitely
               | better than nothing, though.
        
           | jasoneckert wrote:
           | The main reason DSP is a big thing is because Linux has never
           | focused on it - Google has with Android and ChromeOS, as has
           | Apple and Windows, but Linux speaker audio has always paled
           | in comparison:
           | https://social.treehouse.systems/@marcan/111230163766956867
           | 
           | 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.
        
           | wzdd wrote:
           | I think the idea with the M-series laptops in particular is
           | that you can drive the speakers at volumes that actually
           | damage them very quickly ( see
           | https://github.com/AsahiLinux/linux/issues/53 ). The idea
           | AIUI is that you can use a DSP along with a physical model of
           | the voice coil to get better sound than you would if the
           | speakers were volume-limited.
           | 
           | 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.
        
             | prmoustache wrote:
             | It is just dynamic range audio compression to simulate
             | loudness. It is not a new thing.
        
               | wtallis wrote:
               | It isn't _just_ dynamic range compression. This is
               | actually driving the speakers beyond their safe limits
               | for sustained output as long as the temperature estimate
               | (a function of the specific speaker 's characteristics
               | and the recent history of the signal it's been fed) is
               | safe. "Dynamic range compression" doesn't imply any of
               | that.
        
           | oneplane wrote:
           | It's a huge thing because you can't really fit all the big
           | speakers and audio stuff in tiny laptops and make them sound
           | good. So we use extra steps (the DSP for example) to adjust
           | how the speakers and amplifiers are controlled. Doing it this
           | way allows us to have much better sound from tiny micro
           | speakers. This is important because the alternatives are:
           | - 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.
        
           | johnwalkr wrote:
           | Manufacturers can do a lot with DSP to make small speakers
           | sound better. But "advanced" is saying a lot here. Recent
           | speakers in macs and macbooks are over-driven to sound better
           | and louder, with the DSP modeling energy input to the speaker
           | and temperature of the speaker and keeping it within its
           | physical limits. Without this DSP, the speakers not only
           | sound terrible but become physically damaged if you try to
           | use them at more than a very low volume. Any modern smart
           | speaker or smartphone you buy will use similar DSP to sound
           | much better and louder than it ought to, given its size. I
           | think other laptops also do something similar at the hardware
           | level.
           | 
           | 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.
        
             | MichaelZuo wrote:
             | So if the DSP model were only slightly off, then it could
             | permanently damage the speakers?
        
               | johnwalkr wrote:
               | No because you make the models conservative. In the link
               | marcan mentions they will improve performance over time
               | (presumably partly by making the models less
               | conservative) and are "shipping with a hard volume
               | reduction limit of -7dBFS to catch potential bugs or
               | misbehavior."
        
               | MichaelZuo wrote:
               | If so, how are the speakers over-driven to sound better
               | and louder?
               | 
               | Do they have a very very conservative profile by default?
        
               | jacoblambda wrote:
               | So speakers have a worst case maximum power and sound
               | profile. That is the bounds that if you never exceed you
               | will be safe. But if you push past those worst case
               | bounds, now you are entering a dynamic system where
               | things like temperature start determining the actual
               | bounds of the hardware and the points where stuff starts
               | causing damage.
               | 
               | 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).
        
               | johnwalkr wrote:
               | You could say Asahi Linux was very conservative about
               | this because they disabled speakers altogether until now.
               | 
               | 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.
        
               | c0pium wrote:
               | The real answer to this question is yes. There's a caveat
               | by the devs that their safeguards make bugs unlikely, but
               | a bug here means permanently damaged hardware.
        
               | cyberax wrote:
               | Yup. Directly outputting maximum sound energy (high-
               | frequency high-amplitude) will permanently damage the
               | speakers in just a few seconds.
        
             | leidenfrost wrote:
             | Does Windows have this?
             | 
             | If it does, can we "import" it to linux?
        
               | pantalaimon wrote:
               | It's not Windows itself, but vendors providing machine
               | specific drivers.
        
         | megous wrote:
         | Or not: https://www.hifiberry.com/docs/software/guide-adding-
         | equaliz...
        
           | azinman2 wrote:
           | This is more than just EQ.
        
       | rzzzt wrote:
       | > These are all techniques that are in wide use in consumer
       | microspeaker systems in tablets and phones, though sadly not
       | common on laptops from most non-Apple brands.
       | 
       | Dell / Realtek / MaxxAudio (not sure who to attribute it to)
       | offers such an implementation with mixed results. Some people go
       | to great lengths to remove it and replace with something that
       | offers a flat response -- personally, I didn't mind the
       | alterations it introduced and the speakers "feel" quieter without
       | it installed.
        
         | Wowfunhappy wrote:
         | For what it's worth, the article says:
         | 
         | -----                   Our DSP profiles aim to provide a
         | balanced sound, with the features that people expect from high-
         | quality laptop/small-speaker audio. In particular, we aim for:
         | * A balanced (neutral) tone at moderate listening volumes, with
         | a mostly flat frequency response from a typical listening
         | position              * Reasonably high peak volume with
         | acceptable sound degradation (compression, limiting, etc.)
         | * "Fake bass" processing to make audible frequencies that
         | cannot be physically reproduced by the speakers, extending the
         | perceived frequency response of the system.              *
         | Equal-loudness volume compensation, so that the sound does not
         | become noticeably tinny as the system master volume is lowered.
         | [...] Our goal is explicitly not to clone the full/exact macOS
         | audio experience. We consider the macOS speaker DSP processing
         | to be too tryhard.
         | 
         | -----
         | 
         | So I suspect Asahi's implementation will be far more
         | conservative than the systems you're referencing. It's also
         | worth noting Marcan is a musician.
        
           | rzzzt wrote:
           | These are very similar things to the features the MaxxAudio
           | control panel offered (and now that I think of it, my ancient
           | Windows 8 tablet had Dolby-badged software on it with a
           | similar feature set):
           | 
           | - Custom response curves for the built-in speaker as well as
           | some brand speakers/headphones (responsible for the "what did
           | you just plug in?" dialog that annoys many users)
           | 
           | - User-adjustable EQ
           | 
           | - Compression, limiter, AVL, "night mode", loudness: I'm
           | lumping these together in one basket as I don't know what
           | components were in use behind the scenes
           | 
           | - Reverb: for cases where you want to listen to music that
           | comes out of a PVC drain pipe of a concert hall's restroom
           | 
           | - Possibly downmixing multi-channel audio for headphone
           | users, but I'm not sure in this one either.
        
             | Wowfunhappy wrote:
             | It's similar but to a different degree. The goal is a
             | neutral profile.
        
       | almostnormal wrote:
       | Linux had speaker [0] support since longer than I can remember.
       | Reading the headline I was expecting something about software
       | using it to create less low quality output. But it seems it is
       | about modifying the "modern" audio output to work around
       | limitations of laptop speakers.
       | 
       | [0] https://en.m.wikipedia.org/wiki/PC_speaker
        
       | rowanG077 wrote:
       | They really go the extra mile, and then another mile on top of
       | it. I guess the only "main" feature remaining essentially all
       | other laptops have is external screen support.
        
         | hedora wrote:
         | Also, touch id and neural network inferencing acceleration.
         | Presumably, you'd get AI acceleration, but not reasonable
         | battery life on a gaming NVIDIA laptop.
         | 
         | Anyway, once speaker support arrives for the M2's I'll try
         | switching back to Linux for my daily driver (almost all my dev
         | work happens in an ARM VM under MacOS as it is...)
        
           | rowanG077 wrote:
           | There is a driver for the Neural engine. Touch id doesn't
           | work yet.
        
             | MBCook wrote:
             | Does Touch ID work on the Intel Macs?
        
       | AshamedCaptain wrote:
       | This article is a bit bombastic and light on details: "modern
       | audio laptop subsystem", "advanced DSP", "the first desktop Linux
       | platform with integrated advanced speaker DSP", "driving Linux
       | desktop audio forward a couple decades".... while as far as I can
       | tell there are exactly 0 new things described.
       | 
       | > These [DSP profiles] are all techniques that are in wide use in
       | consumer microspeaker systems in tablets and phones, though sadly
       | not common on laptops from most non-Apple brands.
       | 
       | As anyone who has bought a laptop less than 10 years old can
       | attest, practically _all_ laptops ship with "DSP effects for tiny
       | speakers", to varying results. Microsoft has even standarized an
       | API in Windows 10/11 so that you literally can shop for different
       | implementors in the Windows store (e.g. Sonic, B&O, etc.).
       | 
       | > EasyEffects
       | 
       | Article itself mentions previous work on DSP effects...
       | 
       | > we also have the world's first (as far as we know) open source
       | "smart amp" implementation.
       | 
       | Old Nokia devices shipped with xprot which is about a decade old.
       | Speaker protection, DSP, noise cancelling, etc. back when
       | pulseaudio was just renamed from polypaudio.
       | https://blog.linuxplumbersconf.org/2009/slides/Jyri-Sarha-au...
        
         | TimTheTinker wrote:
         | All of this may be old hat for macOS and Windows, but it's
         | entirely new to Linux. That's kind of the point.
        
           | AshamedCaptain wrote:
           | EasyEffects is designed for Linux. xprot is designed for
           | Linux. Both open-source. And used in consumer products.
           | 
           | (And all of this is ignoring the bunch of Android stuff which
           | while Linux doesn't classify as "desktop Linux").
        
             | TimTheTinker wrote:
             | I mean a vendor-specific DSP/speakersafetyd/hardware chain
             | being exposed as _the_ onboard speaker device for certain
             | laptops, instead of the raw device.
             | 
             | This has never existed as an OOTB experience. In Apple's
             | case, it's absolutely necessary to avoid blowing up the
             | speakers - hence why they disabled speaker output before
             | the audio chain was done.
        
               | AshamedCaptain wrote:
               | It is exactly like that on the Nokia Internet tablets.
               | Speaker protection is literally the role of xprot, which
               | is integrated into pulseaudio -- "necessary to prevent
               | the speakers from blowing out". It even depends on things
               | like the ambient temperature.
        
               | TimTheTinker wrote:
               | I wasn't aware of that - thanks for the info!
        
           | nicolaslem wrote:
           | I have been using impulse responses on Linux via EasyEffects
           | for a while now. This is not new to Linux.
        
         | viraptor wrote:
         | Xprot was not open source. Here's a reverse engineered version
         | from much later https://notabug.org/freemangordon/pulseaudio-
         | nokia/src/frema... which turns out to read the ambient/battery
         | temperature rather than coil-specific one. Kind of a similar
         | idea, but more of a really simple precursor to what Asahi did,
         | with no kernel level protection.
        
           | AshamedCaptain wrote:
           | I stand corrected, but even the open version happened "much
           | before" this one from Asahi. For kernel-level, there's
           | already quite a bunch of previous work due to Android, so it
           | doesn't really count, either.
        
       | Wowfunhappy wrote:
       | A demonstration of how important the speaker DSP is:
       | 
       | https://social.treehouse.systems/@marcan/111230163766956867
        
         | kuschku wrote:
         | Tbh? While I can tell a difference, I couldn't tell you which
         | one is supposed to sound "better".
        
           | Aeolos wrote:
           | Are you perchance listening on laptop speakers?
           | 
           | With real speakers or headphones the difference is extremely
           | striking.
        
             | Wowfunhappy wrote:
             | For what it's worth, it's very clear to me which is better
             | even on my iPhone's speakers (as well as on my desktop's
             | "real" speakers, of course). Sound preferences are deeply
             | personal, but I'm still pretty shocked GP can't tell.
        
               | diffeomorphism wrote:
               | Consider hi-fi speakers vs monitors. The difference is
               | very clear, but it would be somewhat wrong to call either
               | "better".
        
           | shmerl wrote:
           | You can hear the difference very well using regular
           | headphones. The supposedly "better" one feels strongly
           | amplified.
        
             | Aeolos wrote:
             | It's not just loudness, the DSP version also has a much
             | more natural flat/neutral sound profile.
             | 
             | If you are interested, there are corresponding frequency
             | response measurements from a measurement microphone in a
             | sibling thread.
        
             | bscphil wrote:
             | I agreed with this so I made the levels equal (as measured
             | objectively with EBU R 128): https://0x0.st/HvXA.wav
             | 
             | The first (DSP processed) clip still sounds much better to
             | me. The first time the unprocessed clip is played it's
             | rather noisy for some reason, that could be room noise
             | picked up in the microphone though. The high end is missing
             | from the second clip almost entirely (anything above 5
             | khz).
             | 
             | However the DSP clip isn't without significant problems. It
             | sounds distorted to my ear, and slightly pitch shifted as
             | well. It's rather "tinny" sounding. I'd rate both clips
             | extremely annoying to listen to in comparison to the
             | original which seems pretty well mastered if you like this
             | sort of thing: https://youtu.be/ZRtdQ81jPUQ?t=52
             | 
             | It's hard to tell how much of this is due to it being a
             | quick and dirty recording. Also, being able to play audio
             | at higher volumes is supposed to be one of the big
             | advantages of using this DSP chain, since temperature
             | spikes created by transients are managed in software. (Just
             | speaking for myself personally, I've never felt that my
             | non-Apple laptop speakers needed to be louder, even without
             | DSP.)
        
         | jchw wrote:
         | It honestly probably would help a lot of people to hear how
         | it's _supposed_ to sound first. It 's easy to tell how striking
         | the _difference_ is, but it 's probably a lot more obvious how
         | much better it is when you're comparing to a "ground truth".
         | 
         | https://youtu.be/ZRtdQ81jPUQ?t=52
        
         | dfc wrote:
         | The audio is so outside of the stuff I normally listen to that
         | I don't think I really appreciate the difference.
        
         | tambourine_man wrote:
         | Honestly, this kind of music is so annoying to me it's hard to
         | pay attention.
         | 
         | One sounds way "fuller" (more bass perhaps) than the other, but
         | I'm just looking at the timeline hoping the torture will end
         | soon.
        
           | jchw wrote:
           | You might be amused/horrified to know, then, that this is
           | (was?) the top track in Japan for many weeks straight (at
           | least according to Billboard and YouTube.)
        
             | tambourine_man wrote:
             | I can imagine. Most people who enjoy this kind of music
             | probably despise what I hear, too.
        
         | dfc wrote:
         | A lot of people are talking about it as if it's self evident
         | which one is better. Or that if I played the sound on a certain
         | device it would be obvious. Can someone state what part of the
         | video is the good part?
        
           | Wowfunhappy wrote:
           | It starts with the DSP enabled, so that's the "good" state.
           | Then it's toggled off and on a few times.
        
       | sampa wrote:
       | everything about asahi feels like it's an apple's product:
       | everywhere you look - it is always "amazing"!
       | 
       | but so far no finally usable implementation exists even for m1
       | macbooks and they age quickly, and I doubt people will see
       | anything usable in the end (yeah, you might get a fully working
       | Linux on your old dusty m1 when you buy m7, happy?).
       | 
       | so far it is achievements for the sake of achievements
        
         | alin23 wrote:
         | Things take significantly more time without documentation. Try
         | reverse engineering something and you'll wake up 7 days later
         | with almost no result thinking what the heck were you trying to
         | do in the first place.                   so far it is
         | achievements for the sake of achievements
         | 
         | We are people, and we need to feel that our hard work isn't for
         | nothing. Sharing achievements and getting some praise for it is
         | one way to keep our ambition.
         | 
         | Asahi devs are reading these comments. Don't shit on their work
         | for no good reason.
        
         | viraptor wrote:
         | So far M systems are pretty similar to each other, which means
         | m2 was much less work than m1. And I suspect m3 will be less
         | work than m2. There's definitely a long delay on the first
         | model, but extrapolating that to 6 next releases doesn't make
         | sense.
         | 
         | > so far it is achievements for the sake of achievements
         | 
         | People are daily driving Asahi today, so that's incorrect.
        
         | seszett wrote:
         | > _but so far no finally usable implementation exists even for
         | m1 macbooks and they age quickly, and I doubt people will see
         | anything usable in the end (yeah, you might get a fully working
         | Linux on your old dusty m1 when you buy m7, happy?)._
         | 
         | I'm not sure what you mean, I've been running Asahi on my M1
         | for about a year now. I have enabled sound (without the
         | safeties, but I'm not listening to anything remotely loud) and
         | the only thing annoying is the lack of microphone (I have to
         | plug headphones when I need a micro).
         | 
         | It's been totally usable for at least a year.
        
       | 2Gkashmiri wrote:
       | i want to buy a used apple m1 machine just to use asahi. (coming
       | from a linux guy who has never owned an apple mac machine)
       | 
       | i have seen all the "tables showing compatibility" but how is it
       | in real life? i should i buy a machine solely to daily drive
       | asahi?
        
         | Aeolos wrote:
         | I've been using Asahi on the M1 Air for >1 year now for my
         | personal / non-work laptop, and it works decently. With sound &
         | webcam support now enabled, this can now now be used fine as a
         | daily driver. Battery life during use is excellent, up there
         | with the best of any linux laptop, and GPU acceleration is good
         | and getting better every day.
         | 
         | Missing features, so you can decide if those matter to you:
         | 
         | - improved external monitor support
         | 
         | - hardware video decoding - mainly for better battery life,
         | because the CPU is more than fast enough for real-time software
         | decoding. (This is work-in-progress.)
         | 
         | - fingerprint sensor
        
         | rowanG077 wrote:
         | As someone who daily drives a Linux M2 MBP: It depends if you
         | can live with some caveats. The main ones are
         | 
         | - No sound from the speakers (unless you have an M1 as can be
         | seen from this post). But headphones work.
         | 
         | - No external screen support
         | 
         | - No Thunderbolt
         | 
         | - No Fingerprint sensor
         | 
         | - No Video decoding/encoding acceleration. But the CPU is
         | strong enough to easily keep up with 4k 60FPS. So you "just"
         | pay for it with shorter battery life.
         | 
         | - No support for some important GPU APIs (Vulkan, OpenCL, newer
         | openGL) which some application you use might need.
         | 
         | The above list is the current state and even a few months from
         | now will probably look different.
        
           | Wowfunhappy wrote:
           | What about the microphone? IMO that's a really big one,
           | something you just expect all laptops to have in 2023.
           | 
           | I suppose if you're using headphones anyway (since the M2
           | doesn't have speaker support) they may come with a
           | microphone, but they may not...
        
             | rowanG077 wrote:
             | No microphone unfortunately.
        
       | jchw wrote:
       | Huh, is it really true this is the first? I figured this was just
       | being done in hardware in some modern laptops instead of
       | software. At least for basic stuff like EQ, if not
       | compressor/etc. Otherwise, what's with all of the DSP stuff
       | modern Intel laptops need on Linux, what with Sound Open Firmware
       | and whatnot?
       | 
       | (And if not that, I am mildly surprised ChromeOS/Chromebooks
       | don't do much of this either.)
        
         | p_l wrote:
         | TL;DR various variants of the same technique are covered by
         | different patents, and Apple doing this on application
         | processor avoids some of those patents.
         | 
         | A good example of different approach is laptops branded with
         | "Harman Kardon" speakers - Harman-Kardon has a patent on
         | exactly this but involving separate DSP running transparently
         | to the OS. Similarly there are various other solutions to
         | improve sound quality of small speakers being done, and for
         | some of that modern SoCs are bringing in dedicated DSPs
         | onboard.
        
           | jchw wrote:
           | Interesting. So, on top of, I presume, whatever DSP you get
           | from the sound chipset/SoC, there could be other layers of
           | DSP throughout the hardware too. That seems like a real pain
           | in the ass, to be honest. (Though personally I'd really
           | prefer something that protects the voice coils from
           | overheating to be in hardware at least, if nothing else.)
           | 
           | (I still do genuinely wonder what's going on inside of SOF on
           | modern Intel laptops, too. That's _not_ separate from the
           | chipset and I _don 't_ think it gets tuned for specific
           | laptop acoustics. So what _does_ that do?)
        
             | p_l wrote:
             | Having recently looked for new laptop, they often have
             | firmware loaded by driver on windows into DSP or sound
             | chain, sometimes even to enable half of the speakers you
             | need to custom load firmware on Linux which apparently
             | includes DSP code that adapts stereo signal for multiple
             | speakers with different parameters.
        
             | nudgeee wrote:
             | I think modern Intel chips contain Tensilica Xtensa HiFi
             | DSP [0] cores for audio processing, I'm pretty sure this is
             | what SOF targets.
             | 
             | I'm not an expert, but probably used for speaker DSP as
             | well as mic/speech processing (think for Cortana/etc).
             | 
             | Manufacturers of laptops probably provide their own
             | firmware to load onto these cores as part of a driver.
             | 
             | [0] https://www.cadence.com/en_US/home/tools/ip/tensilica-
             | ip/hif...
        
           | mort96 wrote:
           | Man patents were a mistake. "Run DSP on a separate chip"
           | should not be remotely close to the realm of things which the
           | state creates a legal monopoly for.
        
       | wolf550e wrote:
       | @marcan wrote a lot about the DSP work and why it's important /
       | what it does. He also wrote about bugs across the linux audio
       | stack.
       | 
       | https://social.treehouse.systems/@marcan/111379933565349212
       | 
       | https://social.treehouse.systems/@marcan/111369113203280839
       | 
       | https://social.treehouse.systems/@marcan/111368139961624028
       | 
       | https://social.treehouse.systems/@marcan/111363323102625920
       | 
       | https://social.treehouse.systems/@marcan/111356347520217702
       | 
       | https://social.treehouse.systems/@marcan/111351807108120657
       | 
       | https://social.treehouse.systems/@marcan/111322854564301468
       | 
       | https://social.treehouse.systems/@marcan/111312763506327704
       | 
       | https://social.treehouse.systems/@marcan/111305404286878529
       | 
       | https://social.treehouse.systems/@marcan/111275789631652315
       | 
       | https://social.treehouse.systems/@marcan/111274712520670628
       | 
       | https://social.treehouse.systems/@marcan/111274302586522319
       | 
       | https://social.treehouse.systems/@marcan/111230163766956867
       | 
       | https://social.treehouse.systems/@marcan/111230007884019185
        
         | wolf550e wrote:
         | New post "So how does speakersafetyd work?"
         | 
         | https://social.treehouse.systems/@marcan/111398084943456556
        
       | esjeon wrote:
       | For DSP, we already can do that using something like Easy
       | Effects[1][2].
       | 
       | Unfortunately, this isn't _shippable_ for distros. The biggest
       | issue is acquiring proper impulse-response data. In theory, it
       | has to be tuned per-model, and turning basically requires pro-
       | grade equipment and a recording studio. However, apparently many
       | people assume Dolby is using the same profile for all laptops, so
       | just copy-paste the same file here and there. Not really sure
       | which is the real case.
       | 
       | Anyways, Asahi can ship DSP turned on by default because the
       | distro is specific to Apple. That's how Apple boosts the quality
       | of its hardware, and the same applies to a distro dedicated to
       | it.
       | 
       | [1]: https://github.com/wwmm/easyeffects
       | 
       | [2]: https://stackoverflow.com/questions/27122564/which-
       | version-o...
        
         | hedora wrote:
         | Honestly, this sort of thing should be considered "shippable",
         | and the fact that it isn't has been holding Linux back for 10+
         | years.
         | 
         | I've been waiting decades for a Linux distro that just buys a
         | few commonly produced laptops that are likely to be produced
         | for a few years, and then tests the crap out of them and
         | applies this sort of polish.
         | 
         | Current gen thinkpads probably would have fit the bill for the
         | last ~30 years, for example. I was hoping the pinebook pro
         | would be this, but it has a few severe hardware issues (suspend
         | battery life, DSP noise) that don't look like they'll be fixed.
         | Similarly, the XPS line has the capacitor whine problem, and
         | are based on Intel (which has been exclusively shipping power
         | hungry hot messes for the last 10 years).
         | 
         | If the M[1-3] end up being the models where Linux finally gains
         | stable support for reasonable laptop hardware, then so be it.
        
           | biorach wrote:
           | > I've been waiting decades for a Linux distro that just buys
           | a few commonly produced laptops that are likely to be
           | produced for a few years, and then tests the crap out of them
           | and applies this sort of polish.
           | 
           | I suspect that the laptop market is far too fragmented to
           | make this worthwhile
        
             | jorvi wrote:
             | They could do the Dell XPS 13" and 15". Once you factor in
             | the XPS rebadge Latitudes, that would be a pretty big
             | number.
             | 
             | They make for cheap pickups on the secondhand market too.
             | And Dell already does a bunch of testing/fixing for free as
             | they ship them with Ubuntu.
        
           | trelane wrote:
           | What you're describing is "system integration." It's a whole
           | _thing_. What 's more, it's a thing that _already exists in
           | the Linux world_
           | 
           | There are companies that buy and build hardware that supports
           | Linux, and sell it to you with support. Why not just buy from
           | them?
        
             | Retr0id wrote:
             | The value proposition of M2 and M3 have been comparatively
             | weaker, but on launch, the M1 macbooks blew everything else
             | out of the water in terms of bang for buck, IMHO. You could
             | perhaps beat them in terms of raw compute, but once you
             | factor in the 120Hz HDR panel, excellent keyboard, sleek
             | but still relatively robust chassis, it's an all-round
             | winner.
             | 
             | Of course, it lacked Linux support on launch, but that's
             | why the Asahi project is so great. It's providing that
             | missing component of system integration.
             | 
             | Framework, System76, etc. are producing some cool laptops,
             | and I'd consider them if I were looking to buy a new laptop
             | today - but I'm not. I have an M1 Pro MBP in my hands right
             | now, and I have no need to upgrade it any time soon.
        
               | goosedragons wrote:
               | Until you factor back in buying a usable config. And the
               | fact that Asahi is still not totally feature complete.
               | Three years on and DP alt mode for example is still a
               | WIP.
        
               | Retr0id wrote:
               | For my own personal use-cases, it's been feature-complete
               | for the last year or so, and I've been daily-driving it
               | ever since.
        
             | tedunangst wrote:
             | Which company sells the Linux laptop with the best DSP?
        
           | tuna74 wrote:
           | "I've been waiting decades for a Linux distro that just buys
           | a few commonly produced laptops that are likely to be
           | produced for a few years, and then tests the crap out of them
           | and applies this sort of polish."
           | 
           | You can start that if you want to!
        
         | spookie wrote:
         | I wonder, can't distros provide pipewire configs and patches?
         | I've had great success with my laptop (other maker) with both a
         | kernel patch for DSD and a quite straightforward pipewire
         | config (the filters.avail folder has examples for Dolby
         | surround!).
        
         | Wowfunhappy wrote:
         | > Anyways, Asahi can ship DSP turned on by default because the
         | distro is specific to Apple. That's how Apple boosts the
         | quality of its hardware, and the same applies to a distro
         | dedicated to it.
         | 
         | Aww, so you don't think other distros will ship this even once
         | upstream is figured out?
         | 
         | Kernels already ship hardware-specific drivers, but I suppose
         | that just comes with the Linux kernel, whereas this needs
         | support on both the kernel and userspace sides...
        
           | winterqt wrote:
           | They'll be able to ship it, just requiring users to install
           | an Asahi-specific package to enable it; see the "Distro
           | integration notes" section.
        
           | jakobson14 wrote:
           | If a distro is shipping an image specific to macs? sure
           | 
           | If a distro is expecting you to install onto the rando asus
           | gaming laptop you got at staples? not going to work.
           | 
           | The thing about M-series apple macs is there are only like 10
           | models total to record profiles for. You can't realistically
           | do that and ship profiles for every x86 laptop under the sun.
        
             | epcoa wrote:
             | I am at a complete loss how this is any different or harder
             | than shipping hundreds of bits of firmware or hundreds of
             | quirks for random hardware (have you seen the entirety of
             | the quirks tables in the Linux kernel) all based off
             | hundreds of drivers shipped with the kernel.
             | 
             | You maintain profiles in a repo and package them like
             | anything else. No one has indicated how this cannot usually
             | be zero config via hardware probing.
        
             | seszett wrote:
             | How are you applying that to the Asahi packages though?
             | They're just packages for Fedora, a pretty generic
             | distribution, and ArchARM, which is also meant to be
             | installed on Raspberry Pis or Chromebooks after all. I know
             | it because I run it on both Raspberry Pis, my M1 and a
             | Hetzner server.
             | 
             | it seems like precisely the contrary to an Apple-specific
             | distribution.
        
         | mort96 wrote:
         | This doesn't contradict what you're saying, but it's worth
         | noting: speaker support on these laptops couldn't be done
         | through Easy Effects, and speakersafetyd does way more than
         | just DSP. There is no safety mechanisms built in to the
         | hardware/firmware to prevent blowing out the speakers, so
         | speakersafetyd needs to ensure that stuff doesn't get too hot;
         | and that can't be done with a simple volume cap either, since
         | the speakers sound terrible when driven at a guaranteed safe
         | gain level. You need software with a model of how the speakers
         | behave to monitor sense data and dynamically reduce the volume
         | when the audio would otherwise have made the voice coils
         | dangerously hot.
         | 
         | And the system needs to be fail-safe, so that the speakers
         | don't get blown out if the daemon crashes or hangs.
         | 
         | ---
         | 
         | As a separate topic, I disagree that this isn't shippable for
         | distros. Distros already have a bunch of hardware-specific
         | stuff. Libinput, for example, has a hardware database to
         | correctly handle or work around quirks for all sorts of input
         | hardware.
         | 
         | There's absolutely nothing which would prevent Ubuntu from
         | providing speakersafetyd's hardware database, either as an
         | optional package, or, if out-of-the-box Mac support is
         | important, as a package that's installed by default.
        
           | russdill wrote:
           | I'm picturing various vendors completely switching out
           | speaker packages without changing any DMI strings because
           | they simply don't care
        
           | coffeeling wrote:
           | > Libinput, for example, has a hardware database to correctly
           | handle or work around quirks for all sorts of input hardware.
           | 
           | As a complete aside unrelated to the broader discussion,
           | libinput is my nemesis and it has degraded my user experience
           | of Linux.
           | 
           | I hate, hatehatehatehate one finger tap to click. It's a huge
           | misclick generator, and libinput used to have it off by
           | default for good reason.
           | 
           | However, libinput gates all actually useful and not very
           | error-prone gestures like two and three finger taps to right
           | and middle click and multifinger swipes behind having one
           | finger tap to click enabled. You either take it all or you
           | get nothing.
           | 
           | This is a huge regression from the old Synaptics interface
           | which let the user freely assign different actions to taps
           | with different amounts of fingers.
           | 
           | The worst is that it's completely intentional and has been
           | the case for over five years because the old maintainer
           | didn't want to write tests.
        
             | mort96 wrote:
             | I also take issue with parts of libinput... there are
             | things which are relegated to the hardware database which
             | should 100% be config options. I don't mind the idea of
             | having a hw database, but if I as a user disagree with a
             | choice made in the hw database, I should be able to easily
             | change it. It sounds like the "all or nothing" tap to click
             | stuff fits the general vibe of not letting the user
             | configure stuff too much.
             | 
             | I also dislike how there's no global libinput config file.
             | I get that it's supposed to be a library, and the user of
             | the library (GNOME, KDE, Sway, whatever) is supposed to
             | expose those options, but in practice, a lot of useful
             | options aren't exposed to the user. GNOME is especially bad
             | about that.
             | 
             | There are also weird choices, like: when you press down
             | with two fingers and then move those fingers together
             | (double click and drag), the cursor moves at twice the
             | normal speed.
             | 
             | Linux input isn't universally better now than it was a
             | decade ago and that sucks.
        
         | LudvigHz wrote:
         | Well, speakersafetyd is is shipped in upstream fedora, which
         | definitely is not apple-specific.
         | 
         | And you don't need a recording studio to enable it on more
         | hardware. marcan did the measurements for the MacBooks with a
         | cheap measurement mic.
         | 
         | So you can have great audio on any hardware by just doing the
         | measurements and including them in the asahi-audio package, _in
         | upstream fedora_.
         | 
         | Source: marcan on mastodon[1]
         | 
         | [1]:
         | https://social.treehouse.systems/@marcan/111398502380681345
        
       | karmakaze wrote:
       | This seems to be a problem being solved at too low a level of
       | abstraction. It should be able to use the same architecture for
       | performing say a 7.1 to binaural headphone 2-channel output, all
       | by only routing and processing signals. Perhaps this is how it's
       | being solved, but having "speaker" so hardcoded in the project
       | work may not be the case, or seemingly so.
        
         | wtallis wrote:
         | Part of what this is trying to solve requires working with zero
         | abstraction over the underlying hardware: driving the laptop's
         | built-in speakers as hard as possible without literally melting
         | them, which requires not just processing the audio data in
         | realtime, but also accounting for the particular
         | characteristics of each laptop model's several speakers.
        
           | karmakaze wrote:
           | All that info can be made available at a higher level. The
           | only reason to do it at a lower one is to reduce surface area
           | where software bugs could destroy the speakers.
           | 
           | > Our implementation, speakersafetyd, monitors feedback
           | signals from the amplifiers, estimates speaker voice coil
           | temperature using a two-stage thermal model, and reduces the
           | hardware speaker volumes when the speakers get too warm. We
           | also have kernel-side interlocks to disable or limit speaker
           | volumes if speakersafetyd is not running or non-responsive.
           | 
           | This is the only part that seems to need to be low-level,
           | anything else could be done at a higher one, generally EQ
           | type settings like 'loudness'.
        
             | hedora wrote:
             | Existing laptops provide that higher level of abstraction,
             | and audio quality is uniformly garbage.
             | 
             | It's likely much easier for the open source people to do
             | the work to deal with the underlying physics once, and then
             | port it to all hardware. The laptop models are all
             | essentially the same (they have a few electromagnets, cones
             | and a few sounding boards). Each one has different
             | parameters in their mostly-linear response curves. My guess
             | is that after the first few models work well all the others
             | will rapidly fall into line.
             | 
             | Something similar happened with printers 20 years ago. The
             | open source stack implemented state of the art dithering
             | and font hinting once and ended up producing higher quality
             | output than the commercial windows drivers for the same
             | printers.
        
             | lonjil wrote:
             | > This is the only part that seems to need to be low-level,
             | anything else could be done at a higher one, generally EQ
             | type settings like 'loudness'.
             | 
             | But that already _is_ the only part that is low level. The
             | EQ stuff is done with PipeWire.
        
         | mort96 wrote:
         | ??? The only higher level in the stack is the applications
         | which want to output audio! This is already being done in a
         | daemon running in userspace!
        
       | hedora wrote:
       | They also added webcam support and an installer for the M2!
       | 
       | If the status page is to be believed, it's getting extremely
       | close to daily driver status for me.
        
       | jancsika wrote:
       | > This allows the speakers to be driven to much higher peak
       | levels than the worst-case safe volume level, greatly extending
       | their dynamic range.
       | 
       | So _software devs_ are going to drive the speakers past the
       | _worst-case_ safe volume level that was presumably set by
       | _hardware engineers_? And they are going to do it with software
       | running in a OS that isn 't realtime safe?
       | 
       | Anyone else see a problem here?
       | 
       | Also-- does anyone know what Asahi is using to test the safety of
       | what they're doing?
        
         | Zetobal wrote:
         | You never overclocked a CPU when you were a youngling? For
         | example I undervolt my CPU and GPU for lower noise and heat
         | with just 2-3% loss in performance.
        
         | mort96 wrote:
         | What is your proposed alternative solution, given the
         | constraint that without exceeding the guaranteed-safe volume
         | levels, the speakers are garbage?
        
         | kalleboo wrote:
         | That's how it works on macOS already, that's how these machines
         | are designed to run.
        
         | jacoblambda wrote:
         | > Anyone else see a problem here?
         | 
         | No.
         | 
         | The worst case safe volume levels are levels determined by the
         | speaker manufactures that if you never exceed, you can never
         | harm the hardware (due to overheating, etc).
         | 
         | You can and should exceed those levels to use the hardware as
         | it is intended by the manufacturers however if are doing so,
         | you are now moving from a static system (one set of safe
         | levels) to a dynamic system where the safe levels are
         | determined by a multitude of variables and as such you need to
         | have software or hardware monitoring those variables to keep
         | the system within those safe bounds.
        
         | jakobson14 wrote:
         | Another person who doesn't understand a damn thing about why
         | the safety daemon is needed or how it works.
         | 
         | If you keep careful track of the audio going through the
         | speakers and the energy in each frequency range, you can figure
         | out exactly what the temperature is at any given moment and
         | make sure it stays under the limit. However, this requires a
         | ton of math.
         | 
         | Alternatively, you can just put a hard cap on the volume, such
         | that no combination of frequencies could ever overheat the
         | speakers. This is safe, but sounds like crap. It's a far, far
         | less nuanced way to do things and results in restricting how
         | hard you can drive the speakers far more than is actually
         | nesisary.
        
       | dfc wrote:
       | Sound on Linux is the one thing that seems to be more confusing
       | 25 years later. I can remember scouring Usenet/mailing lists
       | trying to research which soundblaster card to get for the best
       | experience. When I compare that to wrapping my head around
       | Pipewire+Pulseaudio+Jackd+*effects I feel like I know way less
       | about sound on Linux now. I don't do any professional audio stuff
       | I just want to listen to music on my Linux computers and
       | occasionally play the sound throughout the house. Whenever I
       | start to look into doing it "the right way" it is always
       | overwhelming.
        
         | morsch wrote:
         | I also know less about sound on Linux now. I don't even know if
         | my system is running Pulseaudio or Pipewire. I don't need to
         | know! I consider this an improvement.
        
         | mdhen wrote:
         | Pipewire and its compatbility programs is all you need. So arch
         | that is pipewire, pipewire-alsa and pipewire-pulse. There's
         | also pipewire-jack if you need jack support.
        
           | coldtea wrote:
           | Ah, the "just switch to this distro" fix.
        
       | jauntywundrkind wrote:
       | I hadn't heard of uclamp before, mentioned as a way to save power
       | on the compute intensive DSP work. Found this tweet by Marcan
       | that seems to indicate it's a way to pin the process to e-cores.
       | https://social.treehouse.systems/@marcan/111363323102625920
        
       | agentbellnorm wrote:
       | The Asahi devs are doing the lords work. Looking forward to using
       | it in the future.
        
       | WesolyKubeczek wrote:
       | For the sake of completeness, this problem is not at all endemic
       | to Apple's M hardware.
       | 
       | Some of the older Thinkpads -- W510, T400, and T410, so beloved
       | and praised by Linux enthusiasts, used to suffer from the same
       | problem -- their speakers could get destroyed after a few minutes
       | of playing audio. Just wondering if Lenovo's drivers for Windows
       | 7 included similar safeguards.
        
       | devit wrote:
       | Seems really terrible engineering to design a laptop where
       | malware can destroy the speakers.
       | 
       | I guess there's reason to wonder whether malware might also be
       | able to set the whole machine on fire.
        
         | jareklupinski wrote:
         | > malware might also be able to set the whole machine on fire
         | 
         | that was one of my favorite parts of Mr. Robot
        
         | coldtea wrote:
         | > _Seems really terrible engineering to design a laptop where
         | malware can destroy the speakers_
         | 
         | It's not something laptop specific: you can damage any pair of
         | plain regular speakers (say hi-fi speakers) by sending them the
         | right (meaning wrong) audio signals to them: burn the voice
         | coil, fry the tweaters, etc. Audio engineers take certain
         | precautions to what they send the speakers.
         | 
         | Laptop speakers have software control of the speakers for
         | protecting them from this, and to allow better performance as
         | long as the components aren't overheating, etc.
        
       ___________________________________________________________________
       (page generated 2023-11-12 23:00 UTC)