Skip to main content

🎼 symphonix

Find, play, download and use public-domain classical music — entirely from your terminal. 24 legendary composers. Animated ASCII portraits. A real-time equalizer driven by the actual audio. Works on Linux, macOS, Windows — anything that runs Python.

 pip install symphonix

⚡ quickstart

sx                       # splash screen + menu of ideas
sx search chopin nocturne        # colorful results table
sx play mozart requiem           # streams instantly + animated equalizer
sx download bach brandenburg     # download to a local cache
sx quiz                          # guess-the-composer game (music plays!)
sx theme vaporwave               # repaint the whole app

Prefer not installing yet? python -m symphonix play bach air works too.

🎨 the cool part — command tour

command what it does
sx banner [bach] giant animated composer portrait (or a surprise one)
sx composers --art the full gallery — 24 ASCII masterpieces, colored
sx search <q> -n 10 search archive.org + musopen + imslp at once
sx search <q> --json JSON output → use in YOUR python projects
sx play <q> --shuffle queue with real reactive equalizer + note animations
keys during play space pause · n skip · s stop+next · q quit
sx download <q> --all batch download withprogress bars
sx cache list|clear|path manage the offline cache (~/.symphonix/cache)
sx playlist add lofi <q> sx playlist play lofi save/replay lists; .m3u export for VLC
sx info beethoven composer facts pulled from Wikipedia
sx theme list|set <t>|custom <hex...> 🎨 full color control, even per-composer
sx quiz --rounds 5 music assassin: recording plays, you name the maestro
sx doctor check audio engine, network, themes

🌎 what "public domain" is used

Audio comes from three wonderful projects:

  • archive.org — 100k+ classical recordings, stable API, direct mp3/ogg/flac
  • musopen.org — royalty-free recordings (their license icons still apply per track)
  • imslp.org — the Petrucci Library: sheet music + community recordings

Composer facts via Wikipedia. All playback uses miniaudio (a pure pip wheel — no system libraries needed). If the wheel is missing for your platform, symphonix automatically falls back to ffplay / mpv / mpg123 if installed.

🔌 use it inside your own python code

from symphonix import search, Track

tracks = search("beethoven symphony 5", limit=3)
best: Track = tracks[0]

print(best.title, "|", best.composer, "|", best.url)
best.cache_path()       # stable local path after sx download

Also: symphonix.player.Player (play by track), symphonix.art.COMPOSERS (the portraits), symphonix.config.THEMES. The CLI is just the tip.

🖥 platforms

OS status notes
Linux ✅ pulseaudio/pipewire/alsa; falls back gracefully
macOS ✅ coreaudio via miniaudio wheel
Windows 10/11 ✅ WASAPI; rich does ANSI fine

Requires just Python 3.9+.

🧪 development

git clone https://github.com/thisisforlearn/classical && cd classical
pip install -e .[dev]
pytest            # offline tests
pytest --live     # include home-tested network tests

🛟 licensing

symphonix is GPL-3.0-or-later (see LICENSE).

The recordings are public-domain recordings per their source, but every country's implementation differs (especially on performance rights). Each track row shows the source; --json includes the license URL when the upstream provides one. Do the polite thing and respect whatever the source icon says.

🔴 the fun part

cd classical && sx quiz — the library plays a real recording, hides the composer, and you guess. Highest score is saved on your machine forever. Beat it.

Metadata

Release files for symphonix 1.0.0

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

Source distribution (sdist)

Source distribution for symphonix 1.0.0
File Size Uploaded Provenance Actions
symphonix-1.0.0.tar.gz 46.4 kB With provenance Details for symphonix-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for symphonix 1.0.0
File Interpreter ABI Platform Actions
symphonix-1.0.0-py3-none-any.whl Python 3 none any Details for symphonix-1.0.0-py3-none-any.whl

Total release size: 94.7 kB

Release files / symphonix-1.0.0.tar.gz

Download URL symphonix-1.0.0.tar.gz
Size 46.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5200625e69145ae3c1ca11b6819ebaf53e4e87bd57149200ee558e158052792c
BLAKE2b-256 checksum
How to use checksums
dc1499b1fcdc86e0ff5eb50e8a22142e2d2cbc77b317084a78cf8e8c087a5cca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / symphonix-1.0.0-py3-none-any.whl

Download URL symphonix-1.0.0-py3-none-any.whl
Size 48.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
688d35f85e499241171524002a508d9e58b7ed7c8713434d3c274f1b76f2081a
BLAKE2b-256 checksum
How to use checksums
4dfed5a7ad125c83e7cf1129259f37f1e39bab7a0efa36acfa818e254b728949
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for symphonix 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for symphonix-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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