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 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.6.0.tar.gz (81.1 kB view hashes)

Uploaded Source

Built Distribution

wavecracker-8.6.0-py3-none-any.whl (105.5 kB view hashes)

Uploaded Python 3

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