Triforce – a beamformer for Apple Silicon laptops
217 comments
·March 24, 2025derhuerst
sillysaurusx
Thank you. I was about to ask exactly that.
com2kid
Over 20 years ago I had a Toshiba Tablet PC convertible that had a beam forming array of microphones and it came with software that let you point where you wanted to record from.
The use case was for lectures, you could tell the laptop to just record from behind it, pointing the beam in the direction of the professor.
Amazing idea and something I haven't seen since.
bayindirh
In the golden age of mini camcorders, some Sony Handycams had "zoom" microphones which used beam forming to limit gathered sound to roughly the area equal to the what your sensor sees.
Another great idea.
Oh. They still make similar stuff: https://electronics.sony.com/imaging/imaging-accessories/all...
atorodius
I feel like my iPhone does it. But not sure. Sound definitely changes when you zoom while recording
internetter
They do. They rarely mention it but they do:
https://devstreaming-cdn.apple.com/videos/wwdc/2019/249a0jw9...
elijahciali
This is a feature of iPhone, yes. Believe it came around the 11 (?) but it can really help when recording concerts if you're into that sort of thing.
xnzakg
Samsung phones have this as well, can be enabled or disabled in the camera settings.
bayindirh
Mine is too old to test the claim, but knowing that it has at least three microphones on board, It'd be absurd if Apple didn't implement it.
null
crazygringo
It's used widely in fancy videoconferencing setups.
The mic array for the room figures out who's talking and isolates the audio from them.
(Videoconferencing in large rooms has long picked the loudest microphone to use at any time, to avoid mixing in noise from other mics, but then the beamforming makes it that much better.)
formerly_proven
I'm wondering if that's why those kinds of setups offer good audio if only one person speaks and there's clear pauses between people, but as soon as you have a quick back and forth or two people talking the audio turns into complete mush.
regularfry
I wonder how that worked. Assuming the microphones were on the screen plane rather than the body, it wouldn't be able to tell the difference between "straight in front" and "straight behind".
inetknght
Straight in front is likely to be unobstructed while straight behind is likely to be obstructed by computer hardware. Therefore, straight in front is likely to have crisp sound while straight behind is likely to be muffled and/or distorted by reflections.
regularfry
Yes, but that's not something you can beamform away with a planar array. Especially if your goal is to record what's going on behind the screen. You need something out of plane. Which they may have had! I don't know the details of the hardware.
jpalomaki
Sennheiser has a model that is mounted on ceiling. Haven’t seen this live.
https://www.sennheiser.com/en-us/catalog/products/meeting-an...
JoBrad
Our office has this. It works really well.
lucb1e
As someone who made the mistake of putting a webcam cover over the tiny little microphone hole above the screen (it picks up very little besides impact noises now), it wouldn't be hard to have a mic hole facing in both directions to solve that problem
regularfry
A single mic facing in both directions, or one mic next to the other but facing opposite directions, doesn't really help. You need separation between them in the direction of wave propagation (so in the front-back dimension of the laptop screen in this example) to tell which direction the sound is coming from.
numpad0
They're in somewhat random locations, not symmetric and parallel as one might expect.
nine_k
The attenuation provided by the tablet case / shell is quite significant. I bet they had some extra foam, or, something, to make it even stronger. So the "right behind" signal would be heard only if "right in front" is not readily drowning it.
chooma
From the samsung S10 forward, this is a feature while recording video in zoom mode. I was always really curious how they did it.
dheera
Idea I've had for years but never got around to testing due to lack of compute:
Use a microphone array and LIDAR for ground truth, and train a diffusion model to "imagine" what the world looks like conditioned on some signal transformations of the microphone data only.
Could be used by autonomous vehicles to "see" pedestrians through bushes, early detect oncoming emergency vehicles, hear bicyclists before they are visible, and lots of other good things.
MITSardine
This already exists, it's the domain of inverse problems. Inverse problems consider a forward problem (in this case wave propagation) depending on some physical parameters or domain geometry, and deduce the parameters or geometry from observations.
Conceptually, it's quite simple, you need to derive a gradient of the output error with respect to the sought information. And then use that to minimize the error (= "loss function" or "objective" depending on field terminology), like you do in neural networks.
In many cases, the solution is not unique, unfortunately. The choice of emitters and receivers locations is crucial in the case you're interested in.
There's a lot of literature on this topic already, try "acoustic inverse problem" on google scholar.
transpute
On recent devices with on-device NPU, could be combined with RF imaging of nearby activity and structure via WiFi 7 Sensing Doppler radar.
crazygringo
So basically a kind of passive echolocation?
I like it. I think you'd need to be in known motion around the area to build up a picture -- I don't think it would work with a microphone just sitting in place.
dheera
Sort of!
If you shut your eyes off and you hear footsteps to your right you have a good idea of exactly what you're hearing -- you can probably infer if it's a child or adult, you can possibly infer if they are masculine or feminine shoes, you can even infer formal vs informal attire based on the sound of the shoes (sneakers, sandals, and dress shoes all sound different), and you can locate their angle and distance pretty well. And that's with just your organic 2-microphone array.
I imagine multiple microphones and phase info could do a lot better in accurately placing the objects they hear.
It doesn't need to build an accurate picture of everything, it just needs to be good at imagining the stuff that actually matters, e.g. pedestrians, emergency vehicles. Where the model decides to place a few rustling leaves or what color it imagines a person to be wearing is less relevant than the fact that it decided there is likely a person in some general direction even if they are not visible.
I just think diffusion models are relatively good at coming up with something explainable and plausible for a given condition, when trained on some distribution of data.
Like "oh I hear this, that, and that -- what reality could explain those observations from the distribution of realities that I have seen?"
Tade0
My (never finished) master's thesis was about something similar - taking advantage of the fact that (almost) all smartphones have at least two microphones I wanted to locate and separate a speaker in 3D.
A few takeaways:
-The sampling rate is slightly off between devices - approximately ±1 sample per second - not a lot, but you need to take that into account.
-Spectral characteristics in consumer microphones are all over the place - two phones of the same model, right out of the box, will have not only measurable, but also audible differences.
-Sound bounces off of everything, particularly concrete walls.
-A car is the closest thing to an anechoic chamber you can readily access.
-The Fourier transform of a Gaussian is a Gaussian, which is very helpful when you need to estimate the frequency of a harmonic signal (like speech) with a wavelength shorter than half your window, but just barely.
gpm
> - A car is the closest thing to an anechoic chamber you can readily access.
I recall a youtuber solving the anechoic chamber problem by finding a big empty field - nothing to reflect off of except the ground - and maybe putting some foam below the experiment.
It doesn't kill environmental noise, of course, but it apparently did a very good job of killing reflections from his own instruments.
Tade0
In my case wind noise disturbed the signal too much. Normally there's additional processing which deals with it, but I was working with (next to) raw data.
mschulkind
Surely a carpeted closet full of clothes is better than a car
Tade0
I didn't have such a place at the time, but I found one and results weren't as good as in a car.
Sound deadening generally requires mass to work for lower frequencies and the seats absorbed them all nicely. I got some reflections from - I assume - the windows, but they were manageable in comparison. Didn't even produce much of a standing wave when I tried.
vasco
Most people's closets aren't a room.
ipunchghosts
>The Fourier transform of a Gaussian is a Gaussian, which is very helpful when you need to estimate the frequency of a harmonic signal (like speech) with a wavelength shorter than half your window, but just barely.
I get the gaussian link. But, can you explain your point with more detail?
Tade0
The log of a Gaussian is a parabola, which makes finding where exactly a peak in the spectrum lies a question of solving a quadratic equation.
My plan was to detect the frequency of the speaker by counting (with weights) which distance between peaks is the most common. I wanted to avoid calculating the power cepstrum as I felt that I was running out of computing power on the devices already[0] - a mistaken belief in the long run, but I was too proud of my little algorithm and how stable it was to let go.
[0] Sending raw sample data to a more powerful machine was out of the question as I wanted to remain within the bandwidth offered by Bluetooth at the time due to power consumption considerations.
ipunchghosts
Ohh I see. You are doing peak finding. Got it now. Thanks!
rob74
Wow, this really puts into perspective how much work has to be put into even the most insignificant details of getting Linux to run on (Apple Silicon) Macs. I say "insignificant" with all due respect because, well, the built-in microphone sees very little use (except if you have forgotten your headset).
Or, to quote the progress report (https://asahilinux.org/2025/03/progress-report-6-14/#is-this...): "This is Apple though. Nothing is ever simple."
brundolf
The built-in microphone is actually excellent, I often use it even when I have my AirPods Pro in because the sound quality is so much better
If you've got headphones with a wraparound microphone on its own arm then it could be better, but everyday headphones are limited by the position of the microphone
ElijahLynn
Yeah, no matter how good the microphone actually is on a headset, it uses an ancient codec so until we get Bluetooth 5.3 everywhere with lc3 codex then we won't actually have good mic input from headphones and headsets. I predict that this is all going to change this year and next year. But the full stack has to support it from headphones to Bluetooth chips to OS.
arghwhat
Headsets can and do use other codecs already. This is especially true for Enterprise headsets with dongles - these still use Bluetooth but by controlling both sides they can pick codecs.
LE Audio is great though - and is already, as "the full stack" has had support for quite a while... Assuming you don't happen to get your equipment from a certain fruit supplier that is notoriously slow at implementing open standards, almost as if they want to not give you a choice outside buying their own proprietary solutions...
MarcelOlsz
I cannot wait to not take an audio quality hit while the mic is on on the airpods.
derefr
It's so strange (and frustrating) to me that "Bluetooth audio" means "you pass the Bluetooth hardware PCM samples, and it encodes them itself in hardware; or the Bluetooth driver decodes packets in hardware to PCM samples, and then passes them to userspace."
It reminds me of the telephone network, where even though the whole thing is just another packet-switched network these days, the abstraction exposed to the handset is an analogue baseband audio signal.
---
Why can't we get another type of "Bluetooth audio", that works like VoIP does between handsets and their PBXes — where the two devices will:
1. do a little handshake to negotiate a set of hardware-accelerated audio codecs the devices (not the Bluetooth transceivers!) both support, in descending order of quality, constrained by link throughput + noise; and then
2. open a (lossy, in-order) realtime "dumb pipe" data carrier channel, into which both sides shove frames pre-encoded by their separate audio codec chip?
Is this just AVDTP? No — AVDTP does do a capabilities negotiation, sure, but it's a capabilities negotiation about the audio codecs the Bluetooth transceiver chip itself has been extended with support for — support where, as above, userland and even the OS kernel both just see a dumb PCM-sample pipe.
What I'm talking about here is taking audio-codec handling out of the Bluetooth transceiver's hands — instead just telling the transceiver "we're doing lossy realtime data signalling now" and then spraying whatever packets you the device want to spray, encoded through whatever audio-codec DSP you want to use. No need to run through a Bluetooth SIG standardization process for each new codec.
(Heck, presuming a PC/smartphone on the send side, and a sufficiently-powerful smart speaker/TV/sound bar on the receive side, both sides could actually support new codecs the moment they're released, via software updates, with no hardware-acceleration required, doing the codec part entirely on CPU.)
---
Or, if we're talking pie-in-the-sky ideas, how about a completely different type of "Bluetooth audio", not for bidirectional audio streaming at all? One that works less like VoIP, and more like streaming VOD video (e.g. YouTube) does?
Imagine a protocol where the audio source says "hey, I have this 40MB audio file, it's natively in container format X and encoding Y, can you buffer and decode that yourself?" — and then, if the receiver says "yeah, sure", the source just blasts that audio file out over a reliable stream data carrier channel; the receiver buffers it; and then the receiver does an internal streaming decode from its own local buffer from that point forward — with no audio channel open, only a control channel.
Given the "race to sleep" argument, I presume that for the average use-case of "headphones streaming pre-buffered M4As from your phone", this third approach would actually be a lot less battery-draining than pinging the receiver with new frames of audio every few-hundred milliseconds. You'd get a few seconds of intensive streaming, but then the transcievers on both ends could both just go to sleep until the next song is about to play.
Of course, back when the Bluetooth Audio spec was written, something the size of AirPods couldn't have had room to support a 40MB DRAM buffer + external hardware parse-and-decode of M4A/ALAC/etc. But they certainly could today!
johnmaguire
I think the bigger issue might be the microphone placement. Humans tend to prefer microphones that are closer to microphones which are further away (this is one reason headsets w/ a boom arm usually sound better than a built-in microphone.) Having the microphone behind you / to the side (as in the case of an AirPod) is not great either. Of course, audio processing can fix a lot of this.
kenferry
Are AirPods limited to the Bluetooth spec though? I think they extend it.
miki123211
Everyday headphones are limited by the fact that people often use Bluetooth, and Bluetooth audio is just terrible tech that hasn't improved by much in the last 10 years, and still can't do more than 16kHZ when doing both input and output at the same time.
I think this isn't a problem if you're using Apple headphones with Apple devices, but anything else falls back to crappy BT quality, usually with some kind of terrible ANC to boot.
FOr me, crappy audio setups and apps trying to do too much audio processing are the primary reason of "Zoom fatigue". I've done a lot of calls over apps that transmit raw, high-quality audio with no processing whatsoever, and the experience is just so much better.
blep-arsh
Apple-Apple Bluetooth speech codec is a variation of AAC, I believe. AAC-LD if I remember correctly. But still, having microphones in one's ears is suboptimal. There's a lot of processing required even though the codec is no longer completely awful.
On an unrelated note, I tried doing calls with a stereo mic setup but participants were actually uncomfortable with the ASMR-like effect of the audio.
entropicdrifter
Plenty of good headsets do beamforming with their microphones as well, just depends on what you're running. Macbook mics are well above average, though, so I agree in most cases they'll be better unless you're picky about your headset mic quality.
seanp2k2
This is also a great example counterpoint for the folks who constantly complain about Apple hardware being "overpriced". Most laptop mfgs are happy to just solder on whatever tiny $0.50 compatible MEMS mic and put a little toothpick-sized hole in the case and call it good enough, or add two and rely on whatever generic beam forming that isn't adapted to their specific mic choice, placement, case acoustics, etc the Realtek ALC262 or whatever gives them, and call it a day.
Apple puts a ton of R&D into making things work well. As another example: Macbooks have been, for 15+ years now, the only laptops that I can trust to actually sleep and conserve battery when I close the lid and slip into a backpack for a few-hr flight. Windows and Linux on laptops seem to have about a 70% chance of either not sleeping, not waking up right (esp with hybrid graphics), or trying to do forced Windows updates and killing the battery, then waking back up to 20+ minutes of waiting for updates to resume / finish with no meaningful progress indicator or way to cancel / delay.
Not everything they do is perfect, and I'm not some huge Apple fanboy, but they do offer a significantly better experience IMO and feel "worth" the premium. It's not as if modern gaming laptops are any cheaper than MBPs, but they certainly feel much jankier, with software and UX to match. As an example, the IEC plug on the power supply of my Asus Zephyrus Duo wiggles enough that it disconnects even with different IEC cables. I've had to wrap some electrical tape around the plug body to get it to be less flaky. Asus Armoury Crate is a terrible buggy and bloated piece of software that runs about a dozen background processes to deliver a "gamer" UI to...control fans, RGB lights, and usually fail to provide updates. They also have utilities like https://www.asus.com/us/content/screenxpert3/ and "ROG ScreenPad Optimizer" that are largely buggy garbage, but sometimes required to get their proprietary hardware to work properly.
Does Apple gouge users for extra RAM and SSD space? Absolutely, but you're paying for the R&D as much as the actual hardware. I wish they'd just price that into the base models and make upgrades cheaper, but their pricing strategy seems to be lowering the base entry point to something more appealing with "it barely works" levels of spec, while making increasingly ridiculous margins on higher specs -- an additional $4,600 to go from 1TB -> 16TB on the Mac Studio is pretty bold considering consumer QTY=1 pricing on a fast M.2 SSD is around $600 for 8TB, and I'm sure their BOM costs are around the same for 16TB worth of silicon in huge quantities.
eptcyka
I hope you do not take notes or brush dust off the macbook whilst in a video call.
gabrielhidasy
Why, are they not able to reject these types of noise? My X1 doesn't even register typing in a video call
JohnBooty
Wow not my experience at all.
The MBP mic is generally preferable to most headset boom mics in my experience with good noise reduction. You also get the benefit of not picking up extraneous mouth noises (gum chewing, coffee slurping, whatever)
I feel like 99% of people I conference with use regular headphones + MBP mic
Main problem with that setup is not being able to hear your own voice in the headphones (feedback, or whatever that's called) which can be annoying sometimes if using NC headphones
lloeki
> feedback, or whatever that's called
Monitoring.
There are umpteenth ways to do that, and I find headsets themselves do it the most poorly of all (if they have the feature at all).
> The MBP mic is generally preferable to most headset boom mics
Another benefit is not paying the '90s GSM handsfree BT profile codec pain (at the cost of A2DP having slightly higher latency)
arghwhat
> Monitoring
It's called sidetone. Headsets do it so your ears don't feel clogged and to avoid subconscious yelling.
Some headsets let you adjust it either through a regular Sidetone volume control or some dedicated app. Soundcards also often have this feature in the form of a Mic output volume control, done in hardware to reduce latency.
A significant difference in headset quality is in sidetone latency. The heavier the DSP processing required to get a reasonable mic output, the harder it is to hit latency targets. Headset SoCs have dedicated hardware for this - a user-space solution like Apple pulls on their laptops would not be able to meet a usable latency target.
> Another benefit is not paying the '90s GSM handsfree BT profile codec pain
LE Audio includes the LC3 codec, solving this once and for all.
In the meantime while this rolls out, various alternate codecs exist that are fairly widely supported. This is especially true when using fancier headsets with a dedicated bluetooth dongle as they have more flexibility when it comes to codecs and compatibility.
Aaronstotle
Actually my complaint relates to open office designs, the macbook mic picks up louder people from across the room. So if I do use headphones and the MBP mic, other people will hear random noise blurbs from anywhere in the office .
argsnd
If you click the orange microphone icon in the menu bar while it’s in use it lets you switch to a mode that only captures your voice
arghwhat
I don't think I recall having a meeting with anyone using plain headphones with the laptop mic instead of a headset of some kind. Wired headphones without a mic are somewhat unusual nowadays to begin with outside audio file circles.
AirPods of various versions is common, as is many other buds. Enterprise headsets like those from EPOS (the old Sennheiser Communication) and Jabra (with or without boom) and speakerphones are common in corporate settings, casual headsets (e.g., Sony, Bose) and wired gaming headsets are common at home.
rollcat
Well it is simple if you use the whole package as delivered (although Apple has been straying off the road it paved for quite a while now).
The point is, everything they make is vertically integrated. They want to deliver a feature (like Airdrop or Continuity), they will cut across the stack to get it done. If you go the DIY route (which is what Asahi is effectively all about), you get to also DIY the missing software pieces.
The upside is that the entire ecosystem gets to benefit from that work (see e.g. the new DSP in PipeWire). PC hardware is generally crap, and so is Apple's if you omit these extra bits. But "the whole package" sets the bar quite a bit higher. I want to see the FOSS ecosystem meet that bar.
egorfine
I always set my microphone to MacBook's even when wearing a headphones, because the quality is incredibly good even in noisy environments. In Zoom I also set "Original sound for musicians" on if in a quiet location. So much more natural sound.
zozbot234
The three-mic array is also found in Intel-based Retina MacBooks, so this might also be useful for proper audio support on that older hardware. (Some early Retina MacBook Pros have a two-mic array only, but most have the full three-mic array.)
ElijahLynn
Because most mics are still using Bluetooth 5.0 I use the microphone on my Mac even when I'm wearing a headset. Otherwise, it puts me into a weird codec mode of ancient history where I get downgraded to a low bit rate and even my audio input to my ears sounds horrible then. So I always use the Mac microphone when possible.
tracker1
It's more annoying on Linux where you have to manually switch... at least most apps in windows/mac will automagically put my headset in the correct mode.
beng-nl
I always prefer headset too, but I did find it striking how good the audio quality of the built in mic was compared to headset when I tried it once..
Hamuko
I exclusively use the built-in microphone for work meetings. I don't even have any other work-issued microphone unless we count my phone.
marmarama
You can get surprisingly good results from cheap laptop hardware (as well as fancier hardware like an MBP) using software DSP techniques. One of the things I'm pleased about is that quite a bit of Asahi's audio work is just as applicable to generic laptops as it is to Macs.
I already use the Bankstown bass harmonics synthesis plugin developed for Asahi and a convolution EQ on a cheap HP laptop, with startlingly impressive results, using the Pipewire plugin chain autoload feature also developed for Asahi.
I suspect there are quite a few use cases for this beamformer outside of the Asahi ecosystem as well.
raphlinus
Regarding the SIMD optimizations, the authors may want to look into faer. I haven't had a great experience with its underlying library pulp, as I'm trying to things that go beyond its linear algebra roots, but if the goal is primarily to accelerate linear algebra operations, I think it will go well.
I've got a blog post and associated podcast on Rust SIMD in the pipeline, we'll touch on this.
pzo
> the microphone array found in the following Apple Silicon laptops: > MacBook Pro 13" (M1/M2) > MacBook Air 13" (M1/M2) > MacBook Pro 14" (M1 Pro/Max, M2 Pro/Max) > MacBook Pro 16" (M1 Pro/Max, M2 Pro/Max) > MacBook Air 15" (M2)
Does it mean M2/M3 don't have similar array of microphones or rather not tested?
I'm even curious if this is only supported on Linux or MacOS as well - not sure if apple provides dedicated microphone stream for each mic?
entropicdrifter
It's made just for Asahi Linux. MacOS does some very similar beamforming math behind the scenes, so it just presents you with a single unified mic.
monocasa
They list M2 devices. M3 is just not supported by Asahi Linux, so not being listed is just orthogonal to if M3 has any mics like this.
MacOS has its own software deep within the system for handling this; it's only exposed as a normal microphone to application software.
skygazer
asahi Linux doesn’t yet support m3 and m4 processors.
pvg
Github repo https://github.com/chadmed/triforce
dang
Thanks! We've changed the URL above to that from https://crates.io/crates/triforce-lv2.
GeekyBear
There is a more general discussion on the latest Asahi Linux progress report.
> Unfortunately, PDM mics are very omnidirectional and very sensitive. We cannot get by without some kind of beamforming.
https://asahilinux.org/2025/03/progress-report-6-14/
Also, it turned out that some previous work done for the speaker output was reused here for mic input.
> Thanks to the groundwork laid in PipeWire and WirePlumber for speaker support, wiring up a DSP chain including Triforce for the microphones was really simple. We just had to update the config files, and let WirePlumber figure out the rest!
JohnBooty
Much like with the speakers, Apple are trying way too hard to be fancy here
Could the author of this package comment on this statement? I'd be really interested in their opinion of their speaker implementation.What's overly complicated there? The hardware? The software?
As a MBP user and hobbyist audio guy I've been really impressed with the implementation of those speakers, particularly on the larger MBP models.
But I'm just a hobbyist and don't have any knowledge of them other than the driver arrangement (tweeter + dual opposed woofers). It certainly seems like they're pulling the same tricks used by "good" bluetooth speaker designers in order to wring acceptable perf and bass extension from teeny tiny speakers (adaptive EQ etc)
raphlinus
Getting reasonable speaker support in Asahi Linux was a big deal. Part of the problem is that limiting the power usage to prevent overheating requires sophisticated DSP. Without that, you get very limited volume output within safe limits.
Probably the best overview to find out more is here: https://github.com/AsahiLinux/asahi-audio
nikisweeting
wow I'm surprised overheating is the bottleneck, I would've assumed clipping would damage the drivers before that
raphlinus
Yup. A little more detail on the overheating part in particular is here: https://github.com/AsahiLinux/speakersafetyd
littlecranky67
> Much like with the speakers, Apple are trying way too hard to be fancy here
It is just a reference that Apple Laptop speakers have been waaay above anything the competition uses - and this is true since multiple generations. Had a MBP from 2014 and multiple friends were astonished about the sound when we watched a movie on the go. Same with the M4 MBP - sounds quality from the speaker is at a level that you probably don't actually need.
wk_end
I feel like this must be some kind of a language barrier thing - the dev’s name appears to be Spanish, so English may not be their native language. And I think that most native English speakers - as demonstrated by multiple comments asking about it in this thread - would interpret “trying too hard to be fancy” as implying “because you can get similar high-quality results without using such sophisticated techniques”; but it seems like you’re saying (and this makes sense) they meant “because getting such high-quality results is overkill for a consumer laptop”.
Language is fascinating - I can convince myself with enough effort that the latter is just as valid as the former, given the literal meaning of the words, but my linguistic intuition is screaming at me that it’s wrong. How does someone ever learn that? How would a textbook ever explain it?
littlecranky67
Agree with you, I was confused why everybody else interpreted in a different way. Am not spanish but german and not a native speaker, so the language barrier thing might be a good explanation.
avianlyric
> It is just a reference that Apple Laptop speakers have been waaay above anything the competition uses
More like the opposite. The MacBook speakers are absolutely rubbish, just like all laptop speakers (there's only so much you can do when constrained to a laptop body). The reason why MacBooks sound good is entirely god-tier signal processing which manages to extract extraordinary performance out of some decidedly very ordinary speakers.
https://github.com/AsahiLinux/asahi-audio#why-this-is-necess...
littlecranky67
Not sure what you are saying (or just ranting?) - MBP speaker are the opposite as in the rest of non-apple Laptops have way better sounding speakers? That is definetely not my experience at all.
If they are all rubish together, well, they are laptop speakers - and as such you have to treat them. Still there is nothing preventing some set of laptop speakers being objectively better than others.
Sharlin
In my experience MBP 2015 sound is pretty thin and high frequencies are prone to clipping at even a moderate volume – soprano vocal parts suffer from this quite a bit. Of course for most uses that’s not a big problem and I’m sure the sound is still much better than that of many other laptops though. But the M series MBP speakers are a crazy improvement.
brundolf
My guess (without value judgement) is he was referring to the fact that they don't really work without such software
robertoandred
How's hardware supposed to work without software?
brundolf
Here's a similar situation with the macbook pro's speakers, from the Asahi Linux team (scroll down to "Audio Advances"): https://asahilinux.org/2022/11/november-2022-report/
Similarly they can't be used very effectively without special, complex software that involves physical simulation of the speaker hardware. Doing things this way allows them to reach an amazing level of compactness + volume, but at the cost of complexity
If Apple intended to support platform openness, they'd likely have made such software available to hackers. But they never enthusiastically encouraged that, so people like the Asahi team are left to reverse-engineer and reinvent everything they need that lives in software
jervant
firmware
stefan_
With a hardware DSP? It's gonna have software in it, but doing this kind of processing in the upper most top level OS stack is certainly a choice.
qoez
Seems like a common pattern lately that apples hardware people continues to be top notch and the software group is slacking.
brundolf
That's not at all the takeaway. macOS has the requisite software built-in; the hardware is designed in such a way that it requires software assistance to function, which is a choice that has advantages and disadvantages. The OP exists for situations where you aren't running Apple's own beamforming software on this hardware (to my understanding)
CamouflagedKiwi
I don't think that's really fair here? The comment suggests the hardware doesn't work well without relatively complex software to support it, which seems to be the case on macos. That suggests the software group are keeping up their end at least.
null
ChrisMarshallNY
I have a feeling that this package is for folks that want to run Linux distros on the laptops, and have access to the same capabilities as native MacOS.
null
crazygringo
I'm confused too. These days, "spatial audio" on speakers (different from on headphones) and beamforming mics is starting to feel standard, at least on premium hardware.
Dumb, noisy, cramped, unbalanced audio just doesn't cut it anymore.
numpad0
if you think fake 5.1ch sounds better, not like better for enjoying action movies, you've never had exposure to a >$99 pair of bookshelf speakers with a non-USB powered class D amp. change my mind.
crazygringo
Huh? Who's talking about bookshelf speakers?
This is about laptop speakers that just pass audio directly through, vs. laptop speakers that process the audio including spatially. Yes, it sounds dramatically better. And it's not just about "fake 5.1" but even just mono or stereo.
External speakers are a totally different conversation.
null
apitman
> This is an attempt at a beamformer armed only with first year undergrad level engineering maths and some vague idea of the principles gleaned from various webpages and PDFs
Not certain if OP is saying they are currently an undergrad, but impressive if so
amelius
It would be great if this was implemented in a way that also other manufacturers can easily start building mic arrays such that it would make them immediately useful.
TheDong
I would be surprised if Apple didn't have patents on their mic array, meaning that another manufacturer would ideally prefer if their setup is different and incompatible to reduce the chance of accidental patent infringement.
I'd search to see, but reading patents is an info-hazard which increases your chance of infringing, so I've quit reading them entirely.
jeroenhd
Maybe they're doing something new, but beamforming microphone arrays can be found in just about any brand of laptop if you go high end enough.
I do think most such devices will present themselves as less capable than they actually are (I.E. just a stereo input) for maximum OS compatibility, but the technique isn't Apple exclusive as far as I know.
internetter
> beamforming microphone arrays can be found in just about any brand of laptop if you go high end enough.
Are you sure? I’ve never heard a laptop microphone better than the MacBook. Maybe they do beamform and there’s other issues, but
amelius
Maybe they can still install the array, and we can simply "apt-get install illegal-package".
But all joking aside, there is a tremendous amount of literature on the mathematics of beamforming. I'd be surprised if any of it is patented in a way that isn't circumventable.
__MatrixMan__
Golly isn't IP great
wbl
There is a customer who has deployed beamforming microphones for decades. They do however have a somewhat different goal and medium.
xhkkffbf
Yes, I'm sure they have some patents because that's what big companies do/have to do. But the basic idea has been around for a long time, not just in audio but also in microwave space/domain. So I'm sure there's plenty of prior art.
blog post with the background story why this was created: https://asahilinux.org/2025/03/progress-report-6-14/#is-this...