Skip to main content

Python batch tool for signal time/frequency analysis

Project description

Wave Cracker

PyPI Version License Python Versions Ask questions Powered by

Logo

(formerly known as bytecrafters)

Abstract

Python batch tool for signal time/frequency analysis (input data: CSV or audio files).

Detailed documentation: here

Plot examples

PlotEx1 PlotEx2 PlotEx3

Setup

You can install the package using pip:

python -m pip install wavecracker

Python Dependencies

Module Version required Notes
Python >= 3.7 Preferably > 3.8 and < 3.12, ref. documentation for additional details
numpy >= 1.23.5
PyYAML >= 6.0
pandas >= 2.0.1
chardet >= 4.0.0
scipy >= 1.10.1
matplotlib >= 3.7.1
PyWavelets >= 1.4.1 Optional (for wavelet transform)
pydub >= 0.25.1 Optional (for audio file processing)
moviepy >= 1.0.3 Optional (for audio file processing)
psutil >= 5.9.5 Optional (for hardware detailed diagnostics upon boot)

Installing extras (i.e. optional Python dependencies)

The following commands allow the installation of the extras correspondent to the optional dependencies above mentioned:

python -m pip install wavecracker[wavelet]
python -m pip install wavecracker[audio]
python -m pip install wavecracker[hwdiagnostics]

Note that some of these extras may or may not work depending on the Python version. More information in the documentation.

Other Dependencies

As mentioned above, the following directories are needed in the PATH:

  • PYTHON_HOME and PYTHON_HOME/Scripts

Also, but only if you are willing to process audio files, these directories must be present in the PATH, too.

  • The directory containing the FFMPEG executable (6.0 or upper; note, needed only for audio files processing)

Usage

We assume, in the following, that ${PACKAGE_HOME} is where the package is available after the install (typically under ${PYTHON_HOME}/Lib/site-packages/wavecracker or alike).

Open a command shell, make sure your Python install is in the PATH, and enter the following command:

python "${PACKAGE_HOME}/signalanalyzer.py" <arguments>

Many other details can be found in the documentation about:

  • Available command line arguments
  • Parameters in the configuration file

Launching the DEMO

python "${PACKAGE_HOME}/demo/launch_demo.py"

Examples

Example 1 (CSV file processing)

... .. /signalanalyzer.py --input-path ./inputdata.csv --qplot time_1 signal_1 --include-histogram --out-directory ./output_1
Explanation:
  • This would process a csv file named inputdata.csv (in the current directory), looking for a header with columns named time_1 and signal_1, saving the results into a subdirectory of the current directory named output_1.
  • Plots typically generated are Fourier transform and others
  • A CSV is saved (with data about some of the calculated functions).
  • Note: the output directory needs to be existing.
  • A directory named logs has to be created in the current directory for the logs to be saved.

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

wavecracker-8.5.0.tar.gz (80.4 kB view details)

Uploaded Source

Built Distribution

wavecracker-8.5.0-py3-none-any.whl (104.2 kB view details)

Uploaded Python 3

File details

Details for the file wavecracker-8.5.0.tar.gz.

File metadata

  • Download URL: wavecracker-8.5.0.tar.gz
  • Upload date:
  • Size: 80.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for wavecracker-8.5.0.tar.gz
Algorithm Hash digest
SHA256 ef12edda2283fa13d055d4ac951c4a92a7c63af075a11382c8acc57205aefabc
MD5 8b1ef19429113429d66b7795bab068f4
BLAKE2b-256 28fb45043298f8fc441825a9ffe55d5e2ba6f50f975ac9234c481d2916a97e91

See more details on using hashes here.

File details

Details for the file wavecracker-8.5.0-py3-none-any.whl.

File metadata

  • Download URL: wavecracker-8.5.0-py3-none-any.whl
  • Upload date:
  • Size: 104.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for wavecracker-8.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec9eef71dbc2ef1e72ade9bf62b07292979df2a448a682bfec64cc2134f8472c
MD5 a7d95d74a68247f68e379f824293ab81
BLAKE2b-256 d242733f019e72a4b873f57e2c905bd11b2afc587860e91b1edcc5f52a7edc0f

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