Measure one or more aspects of one or more audio files.
Project description
analyzeAudio
Measure one or more aspects of one or more audio files.
Note well: FFmpeg & FFprobe binaries must be in PATH
Some options to download FFmpeg and FFprobe at ffmpeg.org.
Some ways to use this package
Use analyzeAudioFile to measure one or more aspects of a single audio file
from analyzeAudio import analyzeAudioFile
listAspectNames = ['LUFS integrated',
'RMS peak',
'SRMR mean',
'Spectral Flatness mean']
listMeasurements = analyzeAudioFile(pathFilename, listAspectNames)
Use getListAvailableAudioAspects to get a crude list of aspects this package can measure
The aspect names are accurate, but the lack of additional documentation can make things challenging. 'Zero-crossing rate', 'Zero-crossing rate mean', and 'Zero-crossings rate', for example, are different from each other. ("... lack of additional documentation ...")
import analyzeAudio
analyzeAudio.getListAvailableAudioAspects()
Use analyzeAudioListPathFilenames to measure one or more aspects of individual file in a list of audio files
Use audioAspects to call an analyzer function by using the name of the aspect you wish to measure
from analyzeAudio import audioAspects
SI_SDR_channelsMean = audioAspects['SI-SDR mean']['analyzer'](pathFilenameAudioFile, pathFilenameDifferentAudioFile)
Retrieve the names of the parameters for an analyzer function with the ['analyzerParameters'] key-name.
from analyzeAudio import audioAspects
print(audioAspects['Chromagram']['analyzerParameters'])
Use whatMeasurements command line tool to list available measurements
(.venv) C:\apps\analyzeAudio>whatMeasurements
['Abs_Peak_count', 'Bit_depth', 'Chromagram', 'Chromagram mean', 'Crest factor', 'DC offset', 'Duration-samples', 'Dynamic range', 'Flat_factor', 'LUFS high', 'LUFS integrated', 'LUFS loudness range', 'LUFS low', 'Max_difference', 'Max_level', 'Mean_difference', 'Min_difference', 'Min_level', 'Noise_floor', 'Noise_floor_count', 'Peak dB', 'Peak_count', 'Power spectral density', 'Power spectral density mean', 'RMS from waveform', 'RMS from waveform mean', 'RMS peak', 'RMS total', 'RMS_difference', 'RMS_trough', 'SI-SDR mean', 'SRMR', 'SRMR mean', 'Signal entropy', 'Spectral Bandwidth', 'Spectral Bandwidth mean', 'Spectral Centroid', 'Spectral Centroid mean', 'Spectral Contrast', 'Spectral Contrast mean', 'Spectral Flatness', 'Spectral Flatness mean', 'Spectral centroid', 'Spectral centroid mean', 'Spectral crest', 'Spectral crest mean', 'Spectral decrease', 'Spectral decrease mean', 'Spectral entropy', 'Spectral entropy mean', 'Spectral flatness', 'Spectral flatness mean', 'Spectral flux', 'Spectral flux mean', 'Spectral kurtosis', 'Spectral kurtosis mean', 'Spectral rolloff', 'Spectral rolloff mean', 'Spectral skewness', 'Spectral skewness mean', 'Spectral slope', 'Spectral slope mean', 'Spectral spread', 'Spectral spread mean', 'Spectral variance', 'Spectral variance mean', 'Tempo', 'Tempo mean', 'Tempogram', 'Tempogram mean', 'Zero-crossing rate', 'Zero-crossing rate mean', 'Zero-crossings rate']
Some clues about the aspects
'Abs_Peak_count': float
'Bit_depth': float
'Chromagram': NDArray[float64] # shape(..., 12, frames)
'Chromagram mean': float
'Crest factor': float
'DC offset': float
'Duration-samples': float
'Dynamic range': float
'Flat_factor': float
'LUFS high': float
'LUFS integrated': float
'LUFS loudness range': float
'LUFS low': float
'Max_difference': float
'Max_level': float
'Mean_difference': float
'Min_difference': float
'Min_level': float
'Noise_floor_count': float
'Noise_floor': float
'Peak dB': float
'Peak_count': float
'Power spectral density': NDArray[float64] # shape(channels, frames)
'Power spectral density mean': float
'RMS from waveform': NDArray[float64] # shape(..., 1, frames)
'RMS from waveform mean': float
'RMS peak': float
'RMS total': float
'RMS_difference': float
'RMS_trough': float
'SI-SDR mean': float
'Signal entropy': float
'Spectral Bandwidth': NDArray[float64] # shape(..., 1, frames)
'Spectral Bandwidth mean': float
'Spectral centroid': NDArray[float64] # shape(channels, frames)
'Spectral centroid mean': float
'Spectral Centroid': NDArray[float64] # shape(..., 1, frames)
'Spectral Centroid mean': float
'Spectral Contrast': NDArray[float64] # shape(..., 7, frames)
'Spectral Contrast mean': float
'Spectral crest': NDArray[float64] # shape(channels, frames)
'Spectral crest mean': float
'Spectral decrease': NDArray[float64] # shape(channels, frames)
'Spectral decrease mean': float
'Spectral entropy': NDArray[float64] # shape(channels, frames)
'Spectral entropy mean': float
'Spectral flatness': NDArray[float64] # shape(channels, frames)
'Spectral flatness mean': float
'Spectral Flatness': NDArray[float64] # shape(..., 1, frames)
'Spectral Flatness mean': float
'Spectral flux': NDArray[float64] # shape(channels, frames)
'Spectral flux mean': float
'Spectral kurtosis': NDArray[float64] # shape(channels, frames)
'Spectral kurtosis mean': float
'Spectral rolloff': NDArray[float64] # shape(channels, frames)
'Spectral rolloff mean': float
'Spectral skewness': NDArray[float64] # shape(channels, frames)
'Spectral skewness mean': float
'Spectral slope': NDArray[float64] # shape(channels, frames)
'Spectral slope mean': float
'Spectral spread': NDArray[float64] # shape(channels, frames)
'Spectral spread mean': float
'Spectral variance': NDArray[float64] # shape(channels, frames)
'Spectral variance mean': float
'SRMR': NDArray[float64] # shape(...)
'SRMR mean': float
'Tempo': NDArray[float64] # shape(...)
'Tempo mean': float
'Tempogram': NDArray[float64] # shape(..., 384, samples)
'Tempogram mean': float
'Zero-crossing rate': NDArray[float64] # shape(..., 1, frames)
'Zero-crossing rate mean': float
'Zero-crossings rate': float
Installation
pip install analyzeAudio
My recovery
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file analyzeaudio-0.0.14.tar.gz.
File metadata
- Download URL: analyzeaudio-0.0.14.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea92c28993199b88b66bfbd5e90bbb873c16aa8db2b109b53ef24c19fb3a567a
|
|
| MD5 |
75ae2e015e06e899a13231b197abe665
|
|
| BLAKE2b-256 |
3d4cb926a746035d796f23e38183f7f251ef1406a528c28f62f479c1d7307785
|
Provenance
The following attestation bundles were made for analyzeaudio-0.0.14.tar.gz:
Publisher:
pypiRelease.yml on hunterhogan/analyzeAudio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
analyzeaudio-0.0.14.tar.gz -
Subject digest:
ea92c28993199b88b66bfbd5e90bbb873c16aa8db2b109b53ef24c19fb3a567a - Sigstore transparency entry: 178613615
- Sigstore integration time:
-
Permalink:
hunterhogan/analyzeAudio@a6f33f1e7429def8ac35018cb40f3eeecb8d5599 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/hunterhogan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypiRelease.yml@a6f33f1e7429def8ac35018cb40f3eeecb8d5599 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file analyzeaudio-0.0.14-py3-none-any.whl.
File metadata
- Download URL: analyzeaudio-0.0.14-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc788e6d785e9b11934f703252a343faa1a8ea71364315b0316a25d5662a9b00
|
|
| MD5 |
3f0288a6e6c967347f5d8de93bd629d7
|
|
| BLAKE2b-256 |
81b94e2d232fc74faa6a30d01e0219002658aedd64435e0d15a10fbff066fde7
|
Provenance
The following attestation bundles were made for analyzeaudio-0.0.14-py3-none-any.whl:
Publisher:
pypiRelease.yml on hunterhogan/analyzeAudio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
analyzeaudio-0.0.14-py3-none-any.whl -
Subject digest:
cc788e6d785e9b11934f703252a343faa1a8ea71364315b0316a25d5662a9b00 - Sigstore transparency entry: 178613617
- Sigstore integration time:
-
Permalink:
hunterhogan/analyzeAudio@a6f33f1e7429def8ac35018cb40f3eeecb8d5599 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/hunterhogan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypiRelease.yml@a6f33f1e7429def8ac35018cb40f3eeecb8d5599 -
Trigger Event:
workflow_run
-
Statement type: