“Me is not me”: the bug that taught me attribution is an audio problem
I thought transcription would be the hard part. The hard part is knowing who said what — and it starts much lower down, in the audio.
When I started, I assumed the hard part of a meeting recorder would be transcription — turning speech into accurate text. It is not. Transcription is close to solved. The hard part is knowing who said each line, and it turned out to be an audio problem, not an AI problem.
The first version of this failure I hit was one I now call “me is not me.” When you are on a call, the other person’s voice comes out of your speakers and leaks back into your own microphone. So the recorder hears them on your channel too, and confidently labels their words as yours. The transcript looks complete. It is also useless — it says I said things I did not say.
Note that no amount of a better language model fixes this. The mistake is made before any text exists, in the captured audio. If the wrong voice is on the wrong channel, everything downstream inherits the error.
The fix had to happen down in the capture path. Jiva runs neural echo cancellation on the device, so the remote voice is removed from my own channel before anything is transcribed or attributed. It is unglamorous — the kind of thing nobody notices when it works — but it is the actual foundation. The primary driver of a trustworthy transcript is not the summary at the end, rather getting the raw who-said-what right at the start.
This is also why I think the hard part is defensible. A live-assist overlay can be copied in a sprint. Getting attribution right, across real audio conditions, over months of accumulated meetings, cannot.
I did not learn any of this from a spec. I learned it by hearing my own recordings put the other person’s words under my name.
More soon.