Skip to main content

Bidirectional spectrogram-based audio-image converter

Project description

Audio-Image-Converter

Sample Image

Converts audio to and from a picture representing the frequency-time domain, remaining perceptually lossless. When converting to .webp, achieves slightly better compression ratio than an equivalent .flac (Note that this format is not intended to compete with preeexisting audio formats/codecs, and is mostly designed as a novelty, enabling users to visually see the contents of audio files. Slight albeit unnoticeable quality loss is often unavoidable due to the conversions between several data types and representations).

The image's aspect ratio approximately corresponds to the audio's duration in minutes (with each 1588x1588 square representing 1 minute of audio), and its pixel data represents the fourier transform of the audio, with X axis representing time (left/right channels interleaved), Y axis representing frequency (default nyquist at 21000Hz), hue representing phase, and amplitude being represented as a floating-point number, where lightness is the exponent and saturation the fraction. There is slight redundancy between lightness and saturation to accomodate for the more sparse regimes of the HSL colourspace's domain.

Note that this transformation is only designed to be reversible when transforming audio to visual and back. If starting from an image not converted from audio, the audio will likely have many out-of-range values, and in addition to being unpleasant to listen to, may not accurately represent the picture when converted back.

Usage

usage: audioptic [-h] [-V] [-sr [SAMPLE_RATE]] [-f [FORMAT]] input [output]

Bidirectional spectrogram-based audio-image converter

positional arguments:
  input                 Input filename or URL
  output                Output filename

options:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -sr, --sample_rate [SAMPLE_RATE]
                        Sample rate; defaults to 42000
  -f, --format [FORMAT]
                        Output format; defaults to opus or webp depending on input

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

audioptic-1.0.2.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

audioptic-1.0.2-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file audioptic-1.0.2.tar.gz.

File metadata

  • Download URL: audioptic-1.0.2.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for audioptic-1.0.2.tar.gz
Algorithm Hash digest
SHA256 2466ae47e576288c9d997d91375e5779d8ba954d53360eabf785e7ced89b68f2
MD5 33aadecf594177fc684715d4a525c132
BLAKE2b-256 00c38edd05d36cb10f4886a9c5286c8c96e2a9d0a514107af21c7d30114e08ee

See more details on using hashes here.

File details

Details for the file audioptic-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: audioptic-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for audioptic-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6692feb0bc68d55fddec5597060e80d7e7a5423b1a347d29b82093997fc3550b
MD5 2dbcd41cd7cc14dae257e11069b9d33a
BLAKE2b-256 11fe51abc714308aee4e28f004469b2b4815c06d5972a99387d0fcc58c18ffce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page