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.12.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.12-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mandelbrot_synthesizer-0.1.12.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.12.tar.gz
Algorithm Hash digest
SHA256 daf6d4af66fe37497ddda47821f8331b251c3430a01bb9d627848d1a80ce96de
MD5 f9ff80eb392bf14c1027827724434d66
BLAKE2b-256 84c53d717ab06c382d3474f9c4ec04a8c326de6e6f4ee31e019ee1de05ad5f45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mandelbrot_synthesizer-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 91f743055c9d352e1c6327e22f211c29b659769d4090e12d5d04ffb241a8540c
MD5 3133618d510f1221a68a24ae381b7473
BLAKE2b-256 d2f55cc381e79331d498a5e5495cd5d9ae4a353bea66175f72486ef5d13b9fb7

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