{"id":26126183,"url":"https://github.com/qduc/whisper_client_extension","last_synced_at":"2026-04-20T15:31:57.176Z","repository":{"id":281606409,"uuid":"945799786","full_name":"qduc/whisper_client_extension","owner":"qduc","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-10T06:33:04.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T07:29:41.452Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qduc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-10T06:28:14.000Z","updated_at":"2025-03-10T06:33:07.000Z","dependencies_parsed_at":"2025-03-10T07:39:45.410Z","dependency_job_id":null,"html_url":"https://github.com/qduc/whisper_client_extension","commit_stats":null,"previous_names":["qduc/whisper_client_extension"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/qduc/whisper_client_extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qduc%2Fwhisper_client_extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qduc%2Fwhisper_client_extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qduc%2Fwhisper_client_extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qduc%2Fwhisper_client_extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qduc","download_url":"https://codeload.github.com/qduc/whisper_client_extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qduc%2Fwhisper_client_extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32053194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-10T17:27:59.258Z","updated_at":"2026-04-20T15:31:57.154Z","avatar_url":"https://github.com/qduc.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whisper Live Transcription Chrome Extension\n\nThis Chrome extension captures audio from a browser tab and sends it to a WebSocket server for real-time speech transcription. The transcription is then displayed as an overlay on the web page.\n\n## Features\n\n- Real-time speech transcription displayed as an overlay on any web page\n- Customizable overlay appearance (text size, opacity)\n- Draggable overlay that remembers position\n- Automatic text buffering system that displays accumulated text\n- Auto-hide overlay after configurable idle time\n- Tab audio capture with background processing\n\n## Installation\n\n### Development Mode\n\n1. Clone the repository\n2. Open Chrome and navigate to `chrome://extensions`\n3. Enable \"Developer mode\" in the top-right corner\n4. Click \"Load unpacked\" and select the `src` directory from this project\n\n### Build for Production\n\n```\n# Future build steps will go here\n```\n\n## Usage\n\n1. Click the extension icon in your browser toolbar\n2. Enter the WebSocket server URL (default: `ws://localhost:43007`)\n3. Click \"Start Transcription\" to begin capturing audio\n4. Speak, and transcription will appear as an overlay on the current tab\n5. Drag the overlay to reposition it if needed\n6. Click \"Stop Transcription\" when done\n\n## Configuration\n\nAccess the extension options page to configure:\n\n- Text size (small, medium, large)\n- Overlay opacity\n- Number of text lines to display in buffer\n- Minimum text length before displaying\n- Maximum idle time before displaying accumulated text\n- Overlay hide timeout after inactivity\n\n## Architecture\n\nThe extension consists of several components:\n\n- **Background Script**: Manages WebSocket connections and coordinates audio processing\n- **Content Script**: Creates and controls the transcription overlay on web pages\n- **Offscreen Document**: Handles audio capture and processing (using Chrome's offscreen API)\n- **WebSocket Client**: Communicates with the transcription server\n- **Audio Processor**: Converts and resamples audio for the Whisper API\n\nFor more details about the architecture, see [ARCHITECTURE.md](ARCHITECTURE.md).\n\n## Server Requirements\n\nThis extension requires a compatible WebSocket server running the Whisper speech-to-text model. The server should:\n\n1. Accept WebSocket connections\n2. Receive audio data as 16-bit PCM at 16kHz\n3. Return JSON messages with transcription text\n\n## Development\n\n### Testing\n\n```\nnpm test\n```\n\nThe project uses Jest for testing components. Test files are located in the `__tests__` directory.\n\n## Browser Compatibility\n\n- Chrome 116+\n- Edge (Chromium-based)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqduc%2Fwhisper_client_extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqduc%2Fwhisper_client_extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqduc%2Fwhisper_client_extension/lists"}