- Table of contents
- Description
- Built with
- Usage
- UI
- Config file
- Getting started
- Software
- Required libraries
- Python
- Hardware
- Required hardware
- Circuit diagram
- Software
- Roadmap!
- Contributing?
- Contact
- Acknowledgement/Credit
Mixuino is a windows audio mixer build with on a Arduino nano and controlled by a python program. It uses 4 slide potentiometers feeding analog input into an Arduino nano that sends the values through serial to a python scripts that handles volume management in the windows machine. You can also add an optional push button to mute/un-mute the speakers.
This is my first Arduino projects and first "big" program so please bear with me :)
Each checkbox corresponds to a running process and/or a process stored in the config file, ones stored (therefore selected) are checked, moving that slider will change the volume of selected processes (1st slider is for master volume)
Hide to systray hides the window, the window can be revealed again from the systray icon option Show
There is also a checkbox than when checked changes the hideDefault
value if you want the window to be hidden at startup
The options available refreshes and changes (if new programs are opened or others closed) when the mouse hovers any of the scrollable frames
To close the application you can just close this window or close it with the Exit
option in the systray icon
To run the program you require processes.yaml file with the structure :
hideDefault: false
slider1: []
slider2: []
slider3: []
The values are the processes each slide changes and can be changed manually or through the UI
- Using pip
comtypes==1.2.0 # To communicate with the ports
Pillow==10.1.0 # For opening the image for the systray icon
pycaw==20230407 # For audio handling
pyserial==3.5 # To read the serial data sent from the arduino
pystray==0.19.5 # To create and manage the systray icon
PyYAML==6.0.1 # To edit the Yaml config file
customtkinter==5.2.1 # To build the UI
pip install comtypes
pip install Pillow
pip install pycaw
pip install pyserial
pip install pystray
pip install PyYAML
pip install customtkinter
- Arduino nano (you could use any Arduino tho)
- 4 (or more if you want to expand) slide potentiometers
- Optional push button for muting
- Slider 3D Models for 3D printing!
- GUI to select which slides control which process (30/12/2023)
- Feel free to open up any issues or ask for features in the issues tab!
- If you want to contribute directly make sure to fork the repo and submit a pull request for me to review.
Feel free to contact me @ThePangel_ on Twitter/X or DM me on discord @thepangel
- Logo: Inés D'Olha