fb-messenger-voice-transcriber
What It Does
Section titled “What It Does”When someone sends you a voice message on Facebook Messenger, this tool listens to it and writes down exactly what they said. The written words show up right next to the voice message, so you can read it instead of playing the audio out loud. It is perfect for when you are in a meeting, on a call, or just do not feel like listening to a two-minute voice note.
When To Use
Section titled “When To Use”- When someone sends a voice message and you want text instead of audio — e.g., client notes, voice memos, dictated instructions.
- When you do not want to play audio out loud (in a coffee shop, on a call, in a meeting).
- When you need to search old voice notes — transcripts are cached, so you can scroll back and find what was said.
How To Install And Invoke
Section titled “How To Install And Invoke”- Load unpacked from
~/apps/fb-messenger-voice-transcriber/extension/atchrome://extensions. - Click the popup and paste your OpenAI API key (
sk-...). - Enable the auto-transcribe toggle if you want all new voice notes transcribed automatically.
- Navigate to
messenger.com. New voice notes get transcribed as they appear. Or click “Transcribe Latest Voice Note” in the popup for manual one-shot transcription.
Prerequisites
Section titled “Prerequisites”| Requirement | Where |
|---|---|
| OpenAI API key with Whisper access | extension popup → stored in chrome.storage.local |
| Manifest permissions | activeTab, storage, scripting, tabCapture, offscreen, tabs; hosts: messenger.com, facebook.com/messages, fbcdn + fbsbx image domains, api.openai.com, localhost:9999 |
| Offscreen document | required by Manifest V3 for audio API access |
Where It Lives
Section titled “Where It Lives”- Repo:
~/apps/fb-messenger-voice-transcriber/ - Entry files:
extension/manifest.json,popup.html,popup.js,background.js,content.js - Debug helpers:
log-server.pyonlocalhost:9999,logs/directory with event traces
Known Gaps / Quirks
Section titled “Known Gaps / Quirks”- Build 33. Timestamp filter added in Build 31 prevents duplicate processing of the same voice note — without it, the MutationObserver would fire repeatedly on the same element.
- Offscreen document requirement. Because Manifest V3 deprecates background pages, audio API calls have to happen in an offscreen document. This adds a layer of indirection in the code.