Seamless speech-to-text at your fingertips, powered by OpenAI
-
Minimize to Tray: The desktop application now minimizes to the system tray instead of exiting when closed. This allows the app to run unobtrusively in the background, ready for use without cluttering your desktop space. To fully close the application, right-click the tray icon and select "Quit".
-
Dynamic Tray Icon: To provide a clear indication of when the app is recording, the tray icon changes to include a red circle. This dynamic icon alternates between the regular state and the recording state, offering a visual cue for the recording status.
Whispering is an open-source project designed to streamline your voice-to-text experience by leveraging the OpenAI Whisper API.
Whispering enables you to bring seamless speech-to-text capabilities to your workflow without context switching between websites. By eliminating manual transcribing and excessive button clicks, you can save time, boost productivity, and type faster.
Whispering offers two key functionalities:
- Seamless integration with ChatGPT: The extension adds a handy recording button in the ChatGPT website, enabling you to record and generate transcriptions from your voice directly in the chat.
- Record and transcribe across any website: Access Whisper's speech-to-text anywhere with a global keyboard shortcut, enabling seamless transcription in any website.
After transcription is completed, it is automatically copied into your clipboard and can be configured to automatically paste.
demo_3.mp4
You can install the Chrome Extension from the Chrome web store here:
To start using the Whispering web app, click the button below:
To download the Whispering desktop app:
- Go to the latest releases page and download the corresponding installation file
.msi
file for Windows and.dmg
for MacOS. - Double click the downloaded file to install it.
- For Windows, if prompted as unsafe, you can click on
More Info
->Run Anyway
to proceed with the installation (I was unable to sign the app due to my lack of a Windows laptop for development, but the app is safe to use). - Ready to use!
After installing the Chrome Extension, you will find a Whispering icon on the Chrome extensions bar. Click on this icon to open the extension. To use the Whisper API feature, simply click the 'Start Recording' microphone button to record your voice, and then 'Stop Recording' square button when you're done. Your transcription will appear in the text box below.
To access the ChatGPT feature, navigate to the ChatGPT web page. You'll see a new recording button in the chat interface. Click this button to start and stop recording, and the transcribed text will be automatically inserted into the chat input field.
To access the shortcut feature, press Control Shift X or Command Shift X to start recording from any website. The transcription will be automatically copied into your clipboard and paste into the current input field.
To start using the Whispering web app, click the button below:
After installing the Whispering desktop app, press Control Shift ; or Command Shift ; to start recording from anywhere on your desktop. The application will come into focus while recording, and will minimize when you stop recording. The transcription will be automatically copied into your clipboard and can be configured to automatically paste.
Whispering web and desktop app is built using the following technologies and libraries:
- Tauri: A framework for building lightweight, secure, and fast cross-platform applications with web technologies.
- SvelteKit: A framework for building web applications and the Tauri frontend.
- svelte-french-toast: A simple, customizable toast library for Svelte applications.
- TailwindCSS: A utility-first CSS framework for rapidly building custom user interfaces.
- Cloudflare Pages: A global cloud platform for deploying static pages.
The Whispering Chrome extension is built using:
- Plasmo: A framework for building Chrome extensions.
- Svelte: A JavaScript framework for building user interfaces.
- svelte-french-toast: A simple, customizable toast library for Svelte applications.
- TailwindCSS: A utility-first CSS framework for rapidly building custom user interfaces.
- Chrome API: The Chrome extension API.
To set up the project on your local machine, follow these steps:
- Clone the repository:
git clone https://github.com/braden-w/whispering.git
- Change into the project directory:
cd whispering
- Install the necessary dependencies:
pnpm i
- Run the development server:
pnpm dev
- The desktop app should open for local development. To develop the web app, open your browser and navigate to
http://localhost:5173
.
The Whispering web and desktop app can be found under apps/web-desktop-app
, and the extension can be found under apps/browser-extension
.
cd apps/browser-extension
pnpm i
pnpm plasmo build --zip
- Output should be found in
apps/browser-extension/build
cd apps/browser-extension
pnpm i
pnpm plasmo build --target=firefox-mv2 --zip
- Output should be found in
apps/browser-extension/build
We welcome contributions from the community! If you'd like to contribute to Whispering, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
orgit checkout -b fix/your-bugfix-name
- Make your changes and commit them with a descriptive message.
- Push your branch to your forked repository:
git push origin your-branch-name
- Create a pull request from your forked repository to the original one.
Please ensure your code follows established conventions and is well-documented.
Whispering is released under the MIT License.
If you encounter any issues or have suggestions for improvements, please open an issue on the GitHub repository. We appreciate your feedback!
Thank you for using Whispering and happy writing!