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 track currently playing, you can control playback using your keyboard.

Pisco running on macOS

Pisco has been tested on Linux and macOS. It is especially well suited for use with small displays (e.g. Pimoroni HyperPixel 4.0 Square) and media remote controls (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

To set up Pisco on a regular Linux or macOS machine, follow these steps:

  1. Make sure you are using Python 3.9 or higher.
  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 minimalist deployment on a Raspberry Pi Zero, please see the directory deployment.

Usage

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

pisco Leseecke  # Replace 'Leseecke' with 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.

Once 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 the 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 increase or decrease 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.6.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

pisco-0.6.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pisco-0.6.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1016-azure

File hashes

Hashes for pisco-0.6.0.tar.gz
Algorithm Hash digest
SHA256 2ce6e4520ac6990b83c2087e3ab559afbee325edb3a6a99833dee0dea9122ffb
MD5 e3bd2dbce775880fc3a30b53a4aa6f3c
BLAKE2b-256 2a740c8344a98e91d75285651896408ff23ed236dc5f0839e2ad148c50705cb3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pisco-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1016-azure

File hashes

Hashes for pisco-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e07e53a9d3d29d0544189714b0de7a1e70ca2f3c3f0a20ecb1990af0dba6d73
MD5 00798729d257902380c3eaa35bb71074
BLAKE2b-256 88bf4ff65a258aede1e58a0dc0aee3e7f361f216f1a881f71dfd79066abfda56

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