Skip to content

A voice controlled application which controls the media volume of the system based on how loud you yell at it

License

Notifications You must be signed in to change notification settings

iamdanielsuresh/useless_project

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Voice-Controlled Volume Adjuster ๐ŸŽฏ

Where Volume Control Gets Vocal

Demo Video

Basic Details

Basic Details

Team Name: KrazyPitz

Team Members

Role Name Institution
Team Lead Daniel Suresh CUSAT
Member Sreeram P CUSAT
Member Niju Roy CUSAT

Project Description

A voice-controlled application that turns your music up or down based on how loudly you yell at it! The app uses real-time audio processing to detect voice intensity and adjusts system volume accordingly.

The Problem (that doesn't exist)

Control your volume by yellingโ€”because who needs buttons when you have lungs? In a world where touching volume controls is just too mainstream, we bring you the solution nobody knew they needed!

The Solution (that nobody asked for)

An app that adjusts your device's volume based on how loudly you yellโ€”perfect for those moments when your voice needs to be heard... by your speakers!

โœจ Key Features

  • ๐ŸŽค Real-time voice intensity detection
  • ๐ŸŽš๏ธ Dynamic volume adjustment with smoothing
  • ๐Ÿ“Š Multiple visualization modes with live graphs
  • ๐Ÿ”ง Smart calibration system for any environment
  • ๐Ÿ’ป Cross-platform compatibility (Windows/Mac/Linux)
  • โšก Low-latency performance optimization
  • ๐ŸŽต Optional audio feedback
  • ๐Ÿ”„ Auto-recovery from audio stream failures
  • โŒจ๏ธ Convenient keyboard shortcuts

๐Ÿ› ๏ธ Technical Details

System Requirements

  • Python 3.8 or higher
  • Operating System: Windows 10+, macOS 10.15+, or Linux (with PulseAudio)
  • Microphone access
  • Admin privileges (for system volume control)

Dependencies

python >= 3.8
tkinter >= 8.6
sounddevice >= 0.4.4
numpy >= 1.21.0
matplotlib >= 3.4.0
pygame >= 2.1.0
pycaw >= 20181226 (Windows only)
comtypes >= 1.1.10 (Windows only)

Project Structure

voice-controlled-volume-adjuster/
โ”œโ”€โ”€ Screenshots/           # Application screenshots
โ”œโ”€โ”€ venv/                 # Virtual environment (auto-generated)
โ”œโ”€โ”€ .gitignore           # Git ignore rules
โ”œโ”€โ”€ LICENSE              # MIT License
โ”œโ”€โ”€ main.py             # Application entry point
โ”œโ”€โ”€ README.md           # Project documentation
โ”œโ”€โ”€ requirements.txt    # Python dependencies
โ”œโ”€โ”€ volume_control_config.json  # Configuration file
โ””โ”€โ”€ volume_control.log  # Application logs

Detailed Installation Guide

1. Basic Installation

# Clone the repository
git clone https://github.com/iamdanielsuresh/useless_project.git

# Navigate to project directory
cd useless_project

# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

# Install required packages
pip install -r requirements.txt

2. Platform-Specific Setup

Windows
# Install Windows-specific dependencies
pip install pycaw comtypes
Linux
# Install PulseAudio development files
sudo apt-get install libpulse-dev python3-dev
macOS
# No additional steps required

Configuration

The project uses JSON configuration files:

  • volume_control_config.json - Contains user settings and calibration data

Default configuration:

{
  "sensitivity": 1.0,
  "max_history": 100,
  "update_interval": 100,
  "audio_feedback": true,
  "visualization_mode": "Line Graph",
  "calibration": {
    "min": 0,
    "max": 100
  }
}

๐ŸŽฎ Usage Guide

Quick Start

  1. Launch the application:
    python main.py
  2. Click "Start Calibration" and follow the prompts
  3. Make some noise to calibrate
  4. Click "Start Monitoring" to begin voice control

Keyboard Shortcuts

  • Space: Toggle monitoring
  • C: Start calibration
  • Esc: Exit application
  • โ†‘: Increase sensitivity
  • โ†“: Decrease sensitivity

Calibration Guide

  1. Environment Setup

    • Find a quiet space
    • Keep consistent distance from microphone
    • Close other audio applications
  2. Calibration Process

    • Click "Start Calibration"
    • Make noise at different volumes
    • Wait for 15 seconds
    • Check calibration results
  3. Fine-tuning

    • Adjust sensitivity slider
    • Test with different volumes
    • Recalibrate if environment changes

๐Ÿ› Troubleshooting Guide

Common Issues

  1. No Audio Input

    • Check microphone permissions
    • Verify default input device
    • Run audio diagnostics
  2. High Latency

    # Adjust these values in config
    "update_interval": 50,  # Decrease for faster response
    "max_history": 50      # Decrease for better performance
  3. Calibration Problems

    • Ensure quiet environment
    • Check microphone sensitivity
    • Verify audio input levels

Error Recovery

The application includes automatic recovery for:

  • Audio stream failures
  • Volume control errors
  • System integration issues

Team Contributions

  • Daniel Suresh:
    • Project architecture
    • Core audio processing implementation
    • Performance optimization
  • Sreeram P:
    • GUI development
    • Visualization components
    • Documentation
  • Niju Roy:
    • Cross-platform compatibility
    • Testing and debugging
    • Windows volume control integration

Known Limitations

  • May require recalibration in different noise environments
  • Brief latency during initial startup
  • System volume control requires appropriate permissions
  • Performance may vary based on system specifications

Future Improvements

  • Machine learning-based noise detection
  • Mobile app version
  • Network-based remote control
  • Custom visualization plugins
  • Voice command integration
  • Multi-device support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

Made with โค๏ธ at TinkerHub Useless Projects

Static Badge Static Badge

About

A voice controlled application which controls the media volume of the system based on how loud you yell at it

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%