Skip to main content

A CLI music recognition tool for audio and mixtapes.

Project description


Pyzam logo Pyzam logo



https://pepy.tech/project/pyzam https://pepy.tech/project/pyzam

Pyzam is a free CLI music recognition tool for audio and mixtapes in Python.

Pyzam usage

Installation

Dependencies

Pyzam requires ffmpeg installed.

Installation

Using pip:

$ pip install pyzam

Using environment.yml with Conda (installs ffmpeg for you):

conda env create -n pyzam --file=environment.yml

conda activate pyzam

Usage

# Listen to speaker (5 seconds by default)
pyzam --speaker

# Listen to microphone
pyzam --microphone

# Listen to audio files
pyzam --input audio_file.mp3

# Listen to audio via URL
pyzam --url "https://archive.org/download/09-hold-me-in-your-arms/02%20-%20Never%20Gonna%20Give%20You%20Up.mp3"
# Loop the recognition continously and save the logs as CSV file
pyzam --speaker -d 10 --write --loop

# Listen to mixtapes and save the logs as CSV file
pyzam --input audio_file.mp3 --duration 12 --mixtape

See pyzam --help for more options.

Options

Argument name Description
--input Detects from the given audio input file.
--microphone, -m Listens to the microphone of your device.
--speaker, -s Listens to the speaker of your device (default).
--url, -u Detects from the given URL to an audio file.
--help, -h Show usage, options and exit.
--duration, -d Length of microphone or speaker recording. Max = 12 seconds.
--quiet, -q Supresses the operation messages (i.e. Recording speaker for X seconds...).
--loop, -l Loop the recognition process indefinitely.
--mixtape Detects every -d seconds for a given input file, only works with --input. --write is enabled automatically.
--json, -j Return the whole Shazamio output in JSON.
--write, -w Writes the output of as a CSV file.

Known Limitations

Shazam API Call Limit (Error 429)

Shazam allows up to 20 requests per minute. Hence, a proxy is recommended to speed up recognition when using --mixtape.

12 Second Sample Limit per request

The maximum sample duration that Shazam allows is 12 seconds. Any audio after 12 seconds will not be recieved by Shazam.

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

pyzam-0.12.3.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

pyzam-0.12.3-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file pyzam-0.12.3.tar.gz.

File metadata

  • Download URL: pyzam-0.12.3.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for pyzam-0.12.3.tar.gz
Algorithm Hash digest
SHA256 5089a982dc963f9c478c75ac33296a4615d93d12c55dd3b0dbc216935e4950f1
MD5 b675282c5efaf1ed947d362d0a9a3f14
BLAKE2b-256 d8f127ba68f140b51b840930ecfec754c78cdd41163a86569b664d7954998bf6

See more details on using hashes here.

File details

Details for the file pyzam-0.12.3-py3-none-any.whl.

File metadata

  • Download URL: pyzam-0.12.3-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for pyzam-0.12.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6dd7fc158c0f048c79276a132ddd6c480215097b9912250e74e5d43e83c93beb
MD5 89a1c6e22cfac0bdb4580e62c0d56f4e
BLAKE2b-256 aaa3bd0cb3058db63bbe5805211cb5170bfa9cc8fa36a3ec283f6129ffa4b629

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