All Projects → LeviBorodenko → Spectrographic

LeviBorodenko / Spectrographic

Licence: mit
Turn an image into sound whose spectrogram looks like the image.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Spectrographic

Img Encode
Encode an image to sound and view it as a spectrogram - turn your images into music
Stars: ✭ 157 (+6.8%)
Mutual labels:  audio-visualizer, sound, audio-processing
songturtle
🐢 Play, slow down, and loop sections of audio files in the browser 🐢
Stars: ✭ 26 (-82.31%)
Mutual labels:  audio-visualizer, audio-processing
Triton
🐳 Scripps Whale Acoustics Lab 🌎 Scripps Acoustic Ecology Lab - Triton with remoras in development
Stars: ✭ 25 (-82.99%)
Mutual labels:  sound, audio-processing
Audio cat dog classification
Classification of WAV files from cats and dogs
Stars: ✭ 16 (-89.12%)
Mutual labels:  sound, audio-processing
MusicVisualizer
A music visualizer based on the ATMEGA328P-AU
Stars: ✭ 30 (-79.59%)
Mutual labels:  audio-visualizer, audio-processing
Sound-based-bird-species-detection
Sound-based Bird Classification - using AI, acoustics and ornithology to classify birds in the environment, an environmental awareness project (Web Application, Flask, Python)
Stars: ✭ 56 (-61.9%)
Mutual labels:  sound, audio-processing
Amplituda
Amlituda - an android library that calculates amplitudes from audio and provides data in different formats. Based on this data, you can draw waveform. Android audio amplitude library.
Stars: ✭ 75 (-48.98%)
Mutual labels:  audio-visualizer, audio-processing
Dlib
Allocators, I/O streams, math, geometry, image and audio processing for D
Stars: ✭ 182 (+23.81%)
Mutual labels:  image-processing, audio-processing
catnip
terminal audio visualizer for linux/unix/macOS/windblows*
Stars: ✭ 79 (-46.26%)
Mutual labels:  audio-visualizer, sound
Dali
A GPU-accelerated library containing highly optimized building blocks and an execution engine for data processing to accelerate deep learning training and inference applications.
Stars: ✭ 3,624 (+2365.31%)
Mutual labels:  image-processing, audio-processing
Spectro
🎶 Real-time audio spectrogram generator for the web
Stars: ✭ 383 (+160.54%)
Mutual labels:  audio-visualizer, sound
sonopy
A simple audio feature extraction library
Stars: ✭ 72 (-51.02%)
Mutual labels:  sound, audio-processing
gensound
Pythonic audio processing and generation framework
Stars: ✭ 69 (-53.06%)
Mutual labels:  sound, audio-processing
Linux Audio Adjustments
Audio Tweaks for Debian Based RPi
Stars: ✭ 140 (-4.76%)
Mutual labels:  sound, audio-processing
Introduction To Programming With Matlab
Coursera Course: Introduction to Programming 👩‍💻 with MATLAB ~by Vanderbilt University 🎓
Stars: ✭ 23 (-84.35%)
Mutual labels:  image-processing, audio-processing
UnitySoundManager
Sound manager with 3 tracks, language system, pooling system, Fade in/out effects, EventTrigger system and more.
Stars: ✭ 55 (-62.59%)
Mutual labels:  sound, audio-processing
pydiogment
📣 Python library for audio augmentation
Stars: ✭ 64 (-56.46%)
Mutual labels:  sound, audio-processing
Xr3player
🎧 🎼 Advanced JavaFX Media Player
Stars: ✭ 472 (+221.09%)
Mutual labels:  audio-visualizer, audio-processing
Awesome Web Audio
A list of resources and projects to help learn about audio
Stars: ✭ 73 (-50.34%)
Mutual labels:  audio-visualizer, audio-processing
Filestack Android
Official Android SDK for Filestack - API and content management system that makes it easy to add powerful file uploading and transformation capabilities to any web or mobile application.
Stars: ✭ 140 (-4.76%)
Mutual labels:  image-processing

SpectroGraphic

Turn any image into a sound whose spectrogram looks like the image!

result


What is this?

Most sounds are intricate combinations of many acoustic waves each having different frequencies and intensities. A spectrogram is a way to represent sound by plotting time on the horizontal axis and the frequency spectrum on the vertical axis. Sort of like sheet music on steroids.

What this tool does is, taking an image and simply interpreting it as a spectrogram. Therefore, by generating the corresponding sound, we have embedded our image in a spectrogram.

The game DOOM used a similar technique to hide satanic figures inside its soundtrack. Now everyone can do the same! 😊

Set-up

Get the command-line tool spectrographic via pip by running pip install spectrographic. You can also simply use spectrographic.py from stand-alone\ as a command-line tool directly. Furthermore, make sure you meet all the dependencies inside the requirements.txt. Install them with pip install requirements.txt.

After installation with pip one simply needs to run spectrographic [...] in the console and with the stand-alone script you have to use python spectrographic.py [...] inside the folder containing spectrographic.py.

You could also simply import the SpectroGraphic class from spectrographic.base. Check the doc-strings for detailed explanations and more features.

Command-line tool usage

usage: spectrographic [-h] [--version] -i PATH_TO_IMAGE [-d DURATION] [-m MIN_FREQ] [-M MAX_FREQ] [-r RESOLUTION] [-c CONTRAST] [-p] [-s SAVE_FILE]

Turn any image into sound.

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -i PATH_TO_IMAGE, --image PATH_TO_IMAGE
                        Path of image that we want to embed in a spectrogram.
  -d DURATION, --duration DURATION
                        Duration of generated sound.
  -m MIN_FREQ, --min_freq MIN_FREQ
                        Smallest frequency used for drawing the image.
  -M MAX_FREQ, --max_freq MAX_FREQ
                        Largest frequency used for drawing the image.
  -r RESOLUTION, --resolution RESOLUTION
                        Vertical resolution of the image in the spectrogram.
  -c CONTRAST, --contrast CONTRAST
                        Contrast of the image in the spectrogram.
  -p, --play            Directly play the resulting sound.
  -s SAVE_FILE, --save SAVE_FILE
                        Path to .wav file in which to save the resulting sound.

Thus, if you have the source image at ./source.png and you want to generate a 10s long sound in the frequency range of 10kHz to 20kHz. You also want to save the resulting .wav-file as sound.wav and also play the resulting sound. Then you need to run:

spectrographic --image ./source.png --min_freq 10000 --max_freq 20000 --duration 10 --save sound.wav --play

or if you are using the stand-alone script:

python spectrographic.py --image ./source.png --min_freq 10000 --max_freq 20000 --duration 10 --save sound.wav --play

Contribute

Bug reports, fixes and additional features are always welcome! Make sure to run the tests with python setup.py test and write your own for new features. Thanks.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].