Skip to main content

This tool converts the escape time of each point in various fractals to a tone that can be used to make simple melodies

Project description

Mandlebrot Synthesizer

Mandelbrot Synthesizer is a creative tool that transforms mathematical fractals into sound. It's perfect for artist, programmers, musicians, and anyone curious about exploring the cool intersection of math and audio.

Screenshots

Mandelbrot Synthesizer Screenshot

🎵 What Does It Do?

This project allows you to turn fractals into music. It generates sounds from multiple fractals, including:

  • Mandelbrot Set

  • Burning Ship fractal

  • Julia set

  • pheonix fractal

  • Triac fractal

  • And more fractal types (with plans for future expansion) Every point on a fractal represents a unique set of numbers. When you click a point on the fractal image, the software calculate how many iterations it took for that point to "escape" the fractal boundaries. That number is then used to determine:

  • The frequency of the Note

  • The volume of the sound The result? A one-of-a-kind note that represents a specific point in the fractal. It's like hearing mathematics!

Installation

1-Install using "pip install mandelbrot-synthesizer" without quotes. 2-Then run this command "mandelbrot_synthesizer" without quotes.

Make sure you're running this program in the new windows terminal. Because the old one doesn't support the fonts required for running textual resulting in weird artifacts

Description

There are THREE main windows in this program:

1- Fractal Display Window

There's a sidebar on the right containing buttons for all the available fractals, each button is named according to the name of the fractal it's responsible for displaying. By clicking any of these buttons, the viewport would change to host the chosen fractal instead. The fractals are displayed in a blue-brown color theme. You can press any point in the displayed fractal, and a sound would play according to the escape time of that point in the fractal. The escape time is the number of iterations it takes for a point to escape the fractal. The sounds played are different in pitch and volume. which makes them very unique.

2- Melody Maker Windowr

The melody maker window I believe is the most important feature in my application. And it is responsible for playing full melodies from the saved notes. This window has a sidebar on the left containing all the notes in the Library folder that comes pre-installed in the package. You can remove any note by right clicking it, and it will be removed entirely from your device. However, if you choose to left click this note, a bar widget would pop up in the middle of the screen and it'd contain an array of square toggle widgets. These widgets, when left clicked, change their color from grey to indigo, which indicates that they're currently active. If you go to the playback bar at the top. you'd find a play button. By clicking this button, you can play the notes in each active toggle square, resulting in a beautiful melody.

3- Naming Widget Window

When you press V in the Fractal Display Window. The Naming Widget Window pops up. This window is responsible for assigning names to different notes so they can be used later. The Input widget in this window only tolerates letters, numbers, underscores, or hyphens. The input string must begin with a number or exceed 16 characters. If you wish to exit this window, you can press the ESC key. And if you wish to continue press Enter.

Extra: sidebar

The sidebar-located on the left of the screen- contains two buttons. The first button is for the Fractal Display Window window and the second button is for the Melody Maker Window.

Controls

1- Fractal Display Window

Press v to save sound - wasd to pan - PU and PD to zoom

2- Melody Maker Windowr

Left Click to add sound - Right Click to delete sound - Ctrl + Scroll to scroll horizonally - Scroll to scroll vertically

3- Naming Widget Window

Press ESC to exit - Press ENTER to submit

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

mandelbrot_synthesizer-0.1.11.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

mandelbrot_synthesizer-0.1.11-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file mandelbrot_synthesizer-0.1.11.tar.gz.

File metadata

  • Download URL: mandelbrot_synthesizer-0.1.11.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for mandelbrot_synthesizer-0.1.11.tar.gz
Algorithm Hash digest
SHA256 c457596a43fbe39ed07acb03158d6a70660d77ff1d0cf1bfcb5be18ed06503cb
MD5 8d78f876719ac6ed82179e957c85f34e
BLAKE2b-256 80e1724db13ca23cb1d135b50154c940d9d07d9c8aa1975402140821327fefd6

See more details on using hashes here.

File details

Details for the file mandelbrot_synthesizer-0.1.11-py3-none-any.whl.

File metadata

File hashes

Hashes for mandelbrot_synthesizer-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 08bddbe6f27ab7b13e183da2e29989853dde44e40fef6be6ff5390e38db0bf80
MD5 155d8305febcc6919312bb1137e50745
BLAKE2b-256 b667e30890d1ba69b0e62b46d5656486a90c59c3fb36d685c36b452cfaf1ff91

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