Skip to main content

Keyboard only controller for Sonos speakers

Project description

Pisco

Pisco is a keyboard only controller for Sonos speakers. While Pisco's graphical interface displays the album art of the currently running track, you can control playback with your keyboard.

Pisco has been tested on Linux and on macOS. It is particularly well-suited for usage with small displays (e.g. Pimoroni HyperPixel 4.0 Square) and media remotes (e.g. Satechi Bluetooth Multi-Media Remote).

Pisco running on a Raspberry Pi Zero attached to a Pimoroni HyperPixel 4.0 Square surrounded by a Satechi Bluetooth Multi-Media Remote and a Sonos speaker

Setup

Proceed as follows to set up Pisco on an ordinary Linux or macOS machine:

  1. Make sure you are using Python 3.9 or newer.
  2. Create a virtual environment if you do not want to clutter up your default environment.
  3. Install Pisco:
    pip3 install pisco
    

For a clean and minimalistic deployment on a Raspberry Pi Zero, please check the directory deployment.

Usage

When starting Pisco, you need to provide the name of the Sonos device (i.e. Sonos room) you want to control:

pisco Leseecke  # Replace 'Leseecke' by the name of your Sonos device.

You can use the option --help to find additional options:

$ pisco --help
Usage: pisco [OPTIONS] SONOS_DEVICE_NAME

  Control your Sonos device with your keyboard

Options:
  -b, --backlight DIRECTORY    sysfs directory of the backlight that should be
                               deactivated when the device is not playing
  -w, --width INTEGER RANGE    width of the Pisco window  [default: 320; x>=0]
  -h, --height INTEGER RANGE   height of the Pisco window  [default: 320;
                               x>=0]
  -r, --refresh INTEGER RANGE  time in milliseconds after which playback
                               information is updated  [default: 40; x>=1]
  --help                       Show this message and exit.

As soon as Pisco is running, you can use the following keys to control playback:

  • ⏯ (or return) to pause or resume playback
  • ⏹ to stop playback
  • ⏮ and ⏭ (or left and right arrow) to play previous or next track
  • 0️⃣ to 9️⃣ to play the top 10 tracks (or radio stations) of your Sonos favorites
  • ➕ and ➖ (or up and down arrow) to raise or lower volume
  • 🔇 to mute or unmute

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

pisco-0.5.2.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

pisco-0.5.2-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file pisco-0.5.2.tar.gz.

File metadata

  • Download URL: pisco-0.5.2.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.9.16 Linux/5.15.0-1034-azure

File hashes

Hashes for pisco-0.5.2.tar.gz
Algorithm Hash digest
SHA256 9144bbf794adc2025c4d799a26e78642b91a995c31822bdf01ee63c85a3c3bef
MD5 b8f27f8e6f2a863d3e34e209ca6c21d8
BLAKE2b-256 d3204b68d297ac8131ac579612fac845b9a33d92492047ce48948bca689be931

See more details on using hashes here.

File details

Details for the file pisco-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: pisco-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.9.16 Linux/5.15.0-1034-azure

File hashes

Hashes for pisco-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4a9473783044ea6e204ef2ac5781e17ab1d29b8d20bc3d34110b5f58da89b1c5
MD5 4c1c82e0ccc8786dc8dd1e54dc71ae25
BLAKE2b-256 21cbe9397b924d4f13106364b7b6cee64a0dbe234f84a9e2b582b36eba4ec1f6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page