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

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, 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-9.1.0.tar.gz (81.5 kB view details)

Uploaded Source

Built Distribution

wavecracker-9.1.0-py3-none-any.whl (105.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for wavecracker-9.1.0.tar.gz
Algorithm Hash digest
SHA256 e93d055b03912c2a37d335f941c31a58b935dcc43e433469df6a5bb758ace54a
MD5 7ebad95c75016dd6e066b59fc4cd32f4
BLAKE2b-256 379071c6a029acbfc286cca18bd49597ea2dd9e25d918f2eb190410368fb764e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for wavecracker-9.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 468ba8e8f43f7d24d75824d76ffc96a323251e833b2eb167851c990d4cc002b9
MD5 332ffa45c7641bb72eacd4f6a2259553
BLAKE2b-256 4c659afa2d873fbe73cff5fe2025febe5c328502f772963d308c35233d4cc118

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