SilentGuardian is a Python application built using the PyQt6 library, designed for sound analysis and automatic volume adjustments of selected application on your computer. With advanced sound processing algorithms, our tool allows users to monitor sound levels and react to them automatically and in a configurable manner.
- Key Features
- Installation
- Usage
- Example Uses
- Project Structure
- Contributing
- License
- Acknowledgements
- Continuous monitoring of sound from a selected audio source on the computer.
- Utilizes advanced sound processing techniques to determine sound volume and characteristics.
- Automatically adjusts the volume of selected application or process on the computer upon reaching a specified volume threshold.
- Users can configure which application is affected and set preferred volume levels.
- Offers selectable cutoff modes to customize the behavior of automatic volume adjustments.
- Simple and intuitive user interface created using the PyQt6 library.
- Allows easy configuration of sound analysis parameters and management of application volume settings.
- Flexible customization to individual user preferences and needs.
- Python >= 3.11
- PyQt6 library
- Install Python from the official Python website: python.org.
- Install the dependencies listed in
requirements.txt
by running:pip install -r requirements.txt
- Install VB-CABLE Virtual Audio Device from the official website: VB-CABLE Virtual Audio Device.
- Configure the audio settings on your operating system to use VB-CABLE Virtual Audio Device for listening.
- Open the applications that generate the sound you want to analyze.
- In the sound settings of each application, select VB-CABLE as the output device.
- Run the SilentGuardian application:
python main.py
Enhance your Discord experience by listening to music at a higher volume during quiet moments. SilentGuardian automatically mutes or lowers the volume of your music when someone starts speaking, ensuring you never miss a word.
Improve your productivity during online meetings by applying the same principle. Enjoy background music at a comfortable volume, and let SilentGuardian automatically lower the music volume when someone speaks, allowing you to focus on the conversation without manual adjustments.
Enjoy watching movies while occasionally listening to music. SilentGuardian can lower or mute the music when movie audio is detected, providing an uninterrupted viewing experience while still enjoying your favorite tunes.
silent_guardian/
│
├── backend/ # Modules containing the application logic
│ ├── __init__.py
│ ├── actions.py
│ ├── audio_core.py
│ ├── binds.py
│ ├── config.py
│ ├── core.py
│ ├── cutoff.py
│ ├── global_state_manager.py
│ ├── logger.py
│ └── settings.py
│
├── gui/ # Modules containing the user interface
│ ├── __init__.py
│ ├── animated_stacked_widget.py
│ ├── apps.py
│ ├── apps_settings.py
│ ├── bind_create.py
│ ├── bind_remove.py
│ ├── binds.py
│ ├── binds_clear.py
│ ├── custom_messagebox.py
│ ├── custom_titlebar.py
│ ├── cutoff_modes.py
│ ├── inputs.py
│ ├── inputs_settings.py
│ ├── main_window.py
│ ├── menu.py
│ ├── settings.py
│ ├── svg_color_widget.py
│ └── tray.py
│
├── resources/ # Application resources
│ ├── fonts/
| │ └── Poppins
│ ├── icons/
│ ├── resources.py
│ └── resources.qrc
│
├── README.md
├── requirements.txt
├── config.json
├── version.py
└── main.py
Pull requests are welcome. For minor changes, please open an issue first to discuss what you would like to change.
This project is licensed under the GNU General Public License v3.0. You can view the full text of the license in the LICENSE file. This license ensures that any derivative work is also distributed under the same terms, promoting open-source development and collaboration.
Icons used in this project are sourced from SVG Repo, primarily under the MIT License.