Seamless dictation powered by OpenAI's Whisper Model
Whispering is an open-source transcription application that provides global speech-to-text functionality, with options such as keyboard shortcuts and automatic copy and paste to make dictating as seamless as possible.
Under the hood, it's powered by OpenAI's Whisper model, making it significantly more accurate than built-in dictation.
https://github.com/user-attachments/assets/eca93701-10a0-4d91-b38a-f715bd7e0357
https://github.com/user-attachments/assets/a7934f1f-d08b-4037-9bbc-aadd1b13501e
Whispering stores as much data as possible locally on your device, including recordings and text transcriptions. This approach ensures maximum privacy and data security. Here's an overview of how data is handled:
Local Storage: Voice recordings and transcriptions are stored in IndexedDB, which is used as a blob storage and a place to store all of your data like text and transcriptions.
Transcription Service: The only data sent elsewhere is your recording to an external transcription service—if you choose one. You have the following options:
faster-whisper-server
, which keeps everything on-deviceConfigurable Settings: You can change the transcription service in the settings to ensure maximum local functionality.
Visit whispering.bradenwong.com, which has the latest version of the apps/app
folder hosted on Vercel.
Install the Chrome Extension from the Chrome Web Store here.
To download and install the Whispering desktop app, follow the steps for your operating system:
.msi
from the latest releases page..msi
file to run the installer.More Info
-> Run Anyway
to proceed with the installation.For macOS, follow these steps to install Whispering:
Download the installation package:
Whispering_x.x.x_aarch64.dmg
Whispering_x.x.x_x64.dmg
Install the application:
.dmg
file.Launch Whispering:
Cancel
Open
Troubleshooting (Apple Silicon only):
If you encounter the error "Whispering" is damaged and can't be opened
:
xattr -cr /Applications/Whispering.app
After completing these steps, Whispering should be ready to use on your macOS system.
For Linux, there are multiple installation options available. Choose the one that suits your environment:
AppImage:
.AppImage
file from the latest releases page.chmod +x whispering_x.x.x_amd64.AppImage
./whispering_x.x.x_amd64.AppImage
DEB Package (Debian/Ubuntu):
.deb
file from the latest releases page.dpkg
:sudo dpkg -i whispering_x.x.x_amd64.deb
sudo apt-get install -f
After installation, the app will be 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. Click the microphone button to record your voice, and then click the square button when you're done. Your transcription will appear in the text box below.
To access the ChatGPT or Claude feature, navigate to the ChatGPT or Claude 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 (later configurable through Chrome extension shortcuts) to start recording from any website. The transcription will be automatically copied into your clipboard and paste into the current input field.
The Chrome Extension communicates with whispering.bradenwong.com, and will automatically attempt to create a tab in the background if it does not find one. Most bugs can be attributed to this communication failing, such as rare instances where the tab falls asleep.
The web app is accessible via whispering.bradenwong.com. Click the microphone button to record your voice, and then click the square button when you're done. Your transcription will appear in the text box.
After installing the Whispering desktop app, press Control/Command + Shift + ; (configurable in settings) to start recording from anywhere on your desktop. The transcription will be automatically copied into your clipboard and pasted, though both features can be toggled in the settings.
The Whispering app is built using the following technologies and libraries:
renderAsToast
function.apps/app
and apps/extension
can share the same codebase, drastically reducing code duplication and more importantly, keeping a single source of truth.enigo
crate for handling automatic pasting.The Whispering Chrome extension is built using:
To set up the project on your local machine, follow these steps:
git clone https://github.com/braden-w/whispering.git
cd whispering
pnpm i
To run the Whispering desktop app and website in development mode:
cd apps/app
pnpm tauri dev
The desktop app should automatically open for local development. To develop the web app, open your browser and navigate to http://localhost:5173
.
To run the Whispering Chrome extension in development mode:
cd apps/extension
pnpm dev --target=chrome-mv3
To develop the chrome extension, load it into Chrome by navigating to chrome://extensions
, enabling developer mode, and loading the apps/extension/build/{platform}-{manifest-version}-dev
folder as an unpacked extension.
If you ever have concerns regarding the trustworthiness of the installers or would like more control, you can always build the executable yourself. This requires more setup, but it ensures that you are running the code you expect. Such is the beauty of open-source software!
cd apps/extension
pnpm i
pnpm plasmo build --target=chrome-mv3
apps/extension/build/chrome-mv3-prod
, which can be loaded into Chrome as an unpacked extension.pnpm plasmo build --target=chrome-mv3 --release
cd apps/extension
pnpm i
pnpm plasmo build --target=firefox-mv3
apps/extension/build/firefox-mv3-prod
, which can be loaded into Chrome as an unpacked extension.pnpm plasmo build --target=firefox-mv3 --release
cd apps/app
pnpm i
pnpm tauri build
apps/app/target/release
directory.We welcome contributions from the community! If you'd like to contribute to Whispering, please follow these steps:
git checkout -b feature/your-feature-name
or git checkout -b fix/your-bugfix-name
git push origin your-branch-name
Please ensure your code follows established conventions and is well-documented.
Whispering is released under the MIT License.
This project is supported by the following amazing people and organizations:
If you encounter any issues or have suggestions for improvements, please open an issue on the GitHub issues tab or contact me via [email protected]. I really appreciate your feedback!
Thank you for using Whispering and happy writing!