A program that allows controlling Philips Hue lights using a midi keyboard.
Project description
philips-hue-midi
Overview
Control your Philips Hue lights with your piano. This project is inspired by the perceptual phenomenon of Synesthesia. See it in action below:
Getting Started
What You'll Need
- Philips Hue Lights & Bridge
- A MIDI Keyboard
Installation & Setup
-
Connect your MIDI Keyboard: Attach your MIDI keyboard to your computer and ensure it's powered on.
-
Configuration: Copy the
config.example.tomlasconfig.toml. Setlightsunderchannels.0(master channel) to the list of Philips Hue Lights you want to control. See full-config.example.toml for a full list of configuration options. -
Run Program: Navigate to project root and install the necessary dependencies using uv:
uv run python main.py config.toml
Technical Details
The program samples incoming MIDI events sixty times per second (defined by SAMPLE_RATE). Controllers are responsible
for taking this list of midi events (of variable size, M)
and converting them to a list of midi events of size N, where N is the number of channels. These channels are
defined in the config.toml file and are collections of lights and their configurations.
Currently, the default controller is the note_controller which takes in M notes and maps to 12 channels, based on
pitch class. For example, the first channel will be activated if the note C is played, the second channel for C#,
and so forth. Therefore, your configuration should have 12 channels.
Note that channel 0 is the master channel and is used for turning lights on or off and is the default fallback channel if the controller outputs a channel not configured. All lights you wish to control should be included in this channel.
Notes
You may have to set the MIDO_DEFAULT_INPUT environment variable to the name of your MIDI device if the correct
midi device is not automatically detected. You can find the name of your MIDI device by running:
```bash uv run mido-ports`.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file philips_hue_midi-2.0.0.tar.gz.
File metadata
- Download URL: philips_hue_midi-2.0.0.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79aecab3bb4132b1f22540628620205d76b745b5ab2d7b5129ff362614b41de8
|
|
| MD5 |
ec8fd4a5a077fa6c9fcb346168009736
|
|
| BLAKE2b-256 |
2abbded295b189860aae4abd301e99d69d37c66cf85e01e8126d1ab24d16fee5
|
File details
Details for the file philips_hue_midi-2.0.0-py3-none-any.whl.
File metadata
- Download URL: philips_hue_midi-2.0.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a29056f79860b3f94a20c83bc155aa7603dfcefed17669ef8560f279620f766
|
|
| MD5 |
567bbcf4833c52e6715d6d1d343d1e1f
|
|
| BLAKE2b-256 |
0519444534cf8931985ba02e814be4da04d431a3fb6b32ae1877c59fab902899
|