- The application starts when the user launches the app, which loads the GUI defined in
gui.py. The GUI is built with Tkinter and displays the main interface. - The GUI sets up a hotkey listener, configured in
src/hotkey_combination.py. The hotkey functionality is implemented using the pynput library. - When the user presses the hotkey, the app records audio using code in
src/audio_recorder.py. Audio recording is handled by the sounddevice library, with data processing by numpy and scipy. - The recorded audio is transcribed into text using the Whisper model via faster-whisper, called from
src/transcriber.py. This step uses the faster-whisper Python package (which internally uses the Whisper Model by OpenAI with CTranslate2 for improved performance). - The transcribed text is copied to the clipboard by code in
src/clipboard_manager.py, which uses the pyperclip library for clipboard operations. - The tool automatically pastes the copied transcribed text at the currently focused app window where the cursor is.
Open-WhisperScribe is a local-only application, meaning all processing happens on your device. No data is sent to external servers, ensuring complete privacy. Below are details about data retention:
-
Recordings:
- Recorded audio is saved as the base name defined in
config.yamlunder theaudio_filekey with the.wavextension automatically appended (default isoutput.wav) in the root directory of the application. - This file is overwritten each time a new recording is made.
- If you wish to retain a recording, make a copy of the file before starting a new recording.
- Recorded audio is saved as the base name defined in
-
Logs:
- Logs are written to the
nohup.outfile in the root directory. - This file contains information about the application's runtime behavior and is useful for debugging.
- You can delete this file at any time without affecting the application's functionality.
- Logs are written to the