Skip to main content

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

  1. Connect your MIDI Keyboard: Attach your MIDI keyboard to your computer and ensure it's powered on.

  2. Configuration: Copy the config.example.toml as config.toml. Set lights under channels.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.

  3. Run Program: Navigate to project root and install the necessary dependencies using uv:

    uvx philips-hue-midi [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.

Metadata

Release files for philips-hue-midi 2.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for philips-hue-midi 2.1.4
File Size Uploaded
philips_hue_midi-2.1.4.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for philips-hue-midi 2.1.4
File Interpreter ABI Platform
philips_hue_midi-2.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 25.9 kB

Release files / philips_hue_midi-2.1.4.tar.gz

Download URL philips_hue_midi-2.1.4.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
bff0b9fd33b4b7cdd060e80663db5e969c5bb55ce57a3533d3f9038c2a9e16c1
BLAKE2b-256 checksum
How to use checksums
7d5579b85ca3b86ff2e495611b93e7917f680cddbd58bfced5cd90a6fdb2d6c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.8

Release files / philips_hue_midi-2.1.4-py3-none-any.whl

Download URL philips_hue_midi-2.1.4-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b834a9f2b20383a631bcb147e438cd974c39cd0df039b738a7278a5f9214eae4
BLAKE2b-256 checksum
How to use checksums
60514d0497ba343e252fa4daa1913d6fda9b4c5fe7cb324ca3d0488fbf198d49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.8

Release history Release notifications | RSS feed

This release

2.1.4 This release

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page