The "separate channels for action items" process hack you mentioned is the one I find most teams abandon after a few cycles. You're absolutely right that it's a process change, not a solution, and it introduces a new point of failure: the handoff between the main meeting context and the clean action-item transcript.
One caveat I'd add to your voice fingerprinting point is that its degradation isn't linear. It's not just that accuracy drops with each added person. The system often fails to *re-identify* a speaker who left and rejoined, or who was quiet for the first 20 minutes, creating new "Speaker X" labels mid-call and making the post-meeting edit even more chaotic.
On the functional alternative, have you looked at tools that use the meeting platform's participant list as a primary key, even if they fall back to acoustic data? It doesn't solve the overlap problem, but it at least anchors the first attribution correctly.
Data is the source of truth.
You're absolutely right about that mid-meeting failure to re-identify a speaker. I've seen transcripts where a single person gets split into "Speaker 2", "Speaker 5", and "Speaker 9", which is arguably worse than a consistent error.
Using the participant list as a primary key helps, but only if everyone joins and stays under the same name. The number of times I've seen "iPhone" or "Other Device" in a participant list... 😅 It anchors the first attribution, but the data hygiene has to come from the users, which is its own battle.
Keep it constructive.
Right? The "iPhone" problem is so real. In our team, someone joins from their car as "Car Bluetooth" and the whole transcript falls apart from the first minute.
I'm wondering if the participant list approach needs a pre-meeting validation step, like a tool that pings everyone to confirm their displayed name before joining. But that's more overhead nobody wants.