Skip to main content

spectro-utils

Conversion from wav file to spectro image and from spectro image to wav file

install

pip install spectro-utils

how to use

get started

wav file to spectro image

import spectro_utils.audio2spectro as a2s
a2s.audio2spectro_img(audio_paths)

spectro image to wav file

import spectro_utils.spectro2audio as s2a
s2a.img2wav_file(image_paths)

more details of audio2spectro

read_audio_lazy

Reads a wav file using delayed evaluation. It saves memory compared to normal loading.

audios=a2s.read_audio_lazy(paths)

wave2spectro_lazy

Converts the waves to an spectrum using delayed evaluation.

spectros=a2s.wave2spectro_lazy(audios)

spectro2img

Save the spectro images as a image files(png or bmp).

a2s.spectro2img(spectros,image_names)

example of custom pipeline

def split_four_audio_lazy(audios):
    for audio in audios:
        n=len(audio)/4
        for i in range(4):
            start=n*i
            yield audio[start:start+n]

def custom_pipeline(paths:list[str],image_names:list[str])->None:
    g=a2s.read_audio_lazy(paths)
    g=split_four_audio_lazy(g)
    g=a2s.wave2spectro_lazy(g)
    a2s.spectro2img(g,image_names)

more details of spectro2audio

read_img_lazy

Reads a image file using delayed evaluation. It saves memory compared to normal loading.

images=s2a.read_img_lazy(paths)

img2amp_lazy

Converts the image to an power spectrum using delayed evaluation.

amplitudes=s2a.img2amp_lazy(images)

amp2wave_lazy

Converts power spectrum to sound waves using delay evaluation.

waves=s2a.amp2wave_lazy(amplitudes)

wave2wav_file

Save the sound wave as a wav file.

s2a.wave2wav_file(waves,file_names)

example of custom pipeline

def volume_up_lazy(amplitudes):
    for amp in amplitudes:
        yield amp*2000

def custom_pipeline(paths)->None:
    g=s2a.read_img_lazy(paths)
    g=s2a.img2amp_lazy(g)
    g=volume_up_lazy(g)
    g=s2a.amp2wave_lazy(g)
    return g

g=custom_pipeline(['./data/image/1.png'])
display(IPython.display.Audio(g.__next__(), rate=44100))

Metadata

Release files for spectro-utils 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spectro-utils 0.1.4
File Size Uploaded
spectro_utils-0.1.4.tar.gz 3.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spectro-utils 0.1.4
File Interpreter ABI Platform
spectro_utils-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 6.6 kB

Release files / spectro_utils-0.1.4.tar.gz

Download URL spectro_utils-0.1.4.tar.gz
Size 3.1 kB
Tags Source
SHA-256 checksum
How to use checksums
750056462949e250580be2ae39be9b4e52f3942e4a41ffebf06246af78a3a2a1
BLAKE2b-256 checksum
How to use checksums
f85e7e1abd430154ebede1dff24b8c5a4da13d6d3de18a8ce59ab54e3e829610
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release files / spectro_utils-0.1.4-py3-none-any.whl

Download URL spectro_utils-0.1.4-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e830480cc18064209125297583b9f7009299936184f08871bed15427de5da47
BLAKE2b-256 checksum
How to use checksums
88d9a20ec6f0d6ded11d258f4809c210da7b6e4e9bbcb055680f81b75cdb87bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page