A modern, responsive web-based soundboard application with timer functionality, built using vanilla JavaScript and modern web technologies.
- 🎵 Sound playback with visualization
- ⏲️ Configurable timer with controls
- 🌓 Dark/Light theme with system preference detection
- 📱 Responsive design for all devices
- ⌨️ Keyboard shortcuts
- 🎚️ Volume control
- 📤 Drag and drop file upload
- 🔔 Toast notifications
- ♿ Accessibility features
- 📱 PWA support
- 🌐 GitHub Pages integration
- 💾 Offline functionality
- 🎨 Modern UI/UX design
- 🔄 Virtual environment support
- Python 3.9 or higher
- Modern web browser (Chrome, Firefox, Safari, Edge)
- pip (Python package installer)
- Virtual environment (recommended)
-
Clone the repository:
git clone https://github.com/yourusername/Soundboard-Python.git
-
Navigate to the project directory:
cd Soundboard-Python
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install required packages:
pip install -r requirements.txt
-
Generate placeholder sounds (optional):
python src/python/create_sounds.py
-
Open
docs/index.html
in your web browser or serve it through a local web server.
- Click sound buttons to play sounds
- Use the timer controls to manage countdown
- Adjust volume using the slider
- Toggle theme with the theme button
- Upload custom sounds via drag and drop or file picker
Space
: Play/Pause TimerR
: Reset Timer1-3
: Play Sounds 1-3M
: Mute/Unmute
- WAV (recommended for best compatibility)
- MP3
- OGG
- FLAC
- AIFF
Maximum file size: 10MB
Soundboard-Python/
├── docs/ # GitHub Pages files
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ ├── sounds/ # Sound files
│ ├── index.html # Main application
│ ├── _config.yml # GitHub Pages config
│ └── sw.js # Service Worker
├── src/ # Source code
│ └── python/ # Python scripts
│ ├── soundboard.py # Main Python app
│ └── create_sounds.py # Sound generator
├── sounds/ # Original sound files
├── venv/ # Virtual environment
├── requirements.txt # Python dependencies
├── README.md # Documentation
├── CHANGELOG.md # Version history
└── LICENSE # License information
- HTML5 with semantic markup
- CSS3 with Custom Properties
- Vanilla JavaScript (ES6+)
- Web Audio API
- Service Workers for PWA
- Python 3.9+
- Font Awesome Icons
- GitHub Pages
-
Install Python dependencies:
pip install -r requirements.txt
-
Start local development:
python -m http.server
-
Visit
http://localhost:8000/docs/
in your browser
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Font Awesome for icons
- Keep a Changelog
- Semantic Versioning
- Web Audio API community
- GitHub Pages