ajwalkiewicz / SoundPad

Simple desktop sound pad
MIT License
7 stars 0 forks source link
audio music pygame python sound tkinter

License: MIT Code style: black

Simple Sound Pad

Simple sound pad inspired by real professional sound pads. It allows to ascribe music file to the button and play it by pressing the button or key on keyboard.

As a big fun of tabletop RPGs and the game master I felt the urge to have such a program, but I could not find anything similar to it.

So I created it.

It was also my side project while I was learning python. That is why some more advanced in python people may find totally unnecessary pieces of code in the source code, eg. abstract base class in audio module.

I am aware of that, but I am not going to change this as I believe that it is better to have program with some mistakes in the code then to have a perfect program that does not exist.

Please Notice that the program is still during the development process, therefore some feature may not work properly or at all, eg. pause button.

If you are among the people that also need such a program please feel welcome to use it.

Table of Contents

Installation

Prerequisites

Steps

  1. Clone repository
git clone https://github.com/ajwalkiewicz/SoundPad.git
  1. Go to the created directory
cd SoundPad
  1. Follow steps for your operating system

Windows

  1. Install python dependencies
pip install -r requirements.txt
  1. Run program
python soundpad.py

Linux

  1. Install necessary libraries

(Ubuntu)

sudo apt install python-dev python3-tkinter libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev libfreetype6-dev

(Fedora)

sudo dnf install python3-devtools python3-tkinter
  1. Install python dependencies
pip3 install -r requirements.txt
  1. Run program
python3 soundpad.py

Usage

Screenshot image

Features

  1. 9 different sound tracks
  2. Each track can be controlled separately
  3. Key bindings for each track
  4. Saving projects

Settings

Settings can be change in: module/data/settings/json

{
    "default_directory": "samples",
    "key_range": "system_wide",    // or "inside_app"
    "font_type": "Helvetica",
    "font_size": 10,
    "show_settings": false,        // DEPRECATED
    "fadeout_length": 2000,        // fadeout in milliseconds
    "on_top": false,               // Always on top when true
    "key_0_behavior": "pause"      // or "stop"
}

Limitations

Windows

Mac OS

Linux

Built With

To Do

Author

Adam Walkiewicz

License

Music

All the audio samples used in this project are under Creative Commons 0 License.

Files were downloaded from https://freesound.org/

SoundPad

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