A Chrome browser extension that provides real-time audio transcription from any active browser tab using AI-powered speech recognition.
- Real-Time Transcription: Capture and transcribe audio from any active browser tab
- AI-Powered: Utilizes Deepgram's live transcription API for accurate results
- Side Panel Interface: Modern Chrome Side Panel for persistent, non-intrusive access
- WebSocket Communication: Real-time data streaming between extension and server
- Cross-Tab Support: Works with any tab that plays audio content
The project consists of two main components:
- Chrome Extension (Client): React-based UI that captures tab audio and displays transcriptions
- Backend Server: Node.js server that processes audio through Deepgram's API
- Node.js 18+
- Chrome browser with Side Panel support
- Deepgram API key
git clone <your-repo-url>
cd chrome-ai-audio-transcriptioncd server
npm install
# Create .env file with your Deepgram API key
echo "DEEPGRAM_API_KEY=your_api_key_here" > .env
npm startcd client
npm install
npm run build- Open
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked"
- Select the
client/distfolder
- Navigate to any webpage with audio content
- Click the extension icon in your toolbar
- The Side Panel will open automatically
- Click "Start Transcribing" to begin audio capture
- View real-time transcriptions in the panel
The extension requires a Deepgram API key for transcription services:
- Sign up at Deepgram
- Generate an API key
- Add to
server/.envfile
Default server runs on localhost:8080. Update WebSocket URL in client/src/App.tsx if needed.
cd client
npm run dev # Development server
npm run build # Production build
npm run preview # Preview production buildcd server
npm run dev # Development with auto-reload
npm start # Production startchrome-ai-audio-transcription/
├── client/ # Chrome extension UI
│ ├── src/ # React source code
│ ├── public/ # Extension assets
│ └── dist/ # Built extension (load this)
├── server/ # Backend transcription service
│ ├── src/ # Server source code
│ └── config/ # Configuration files
└── README.md # This file
The extension requires these Chrome permissions:
tabs: Access to browser tabstabCapture: Capture audio from tabssidePanel: Display in Chrome Side Panelscripting: Execute content scriptsactiveTab: Access to currently active tab
- Chrome 114+ (Side Panel API support)
- Chromium-based browsers with Side Panel support
This project is licensed under the MIT License.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For issues or questions:
- Check existing GitHub issues
- Create a new issue with detailed description
- Include browser version and error logs