Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rhythrosalabs/algorhythm

Algorhythm is a Python application that allows you to create various randomized sounds using waveform generators and effects via code. With Algorhythm, you can create unique and experimental sound effects based on predefined algorithms combined with a degree of randomness.
https://github.com/rhythrosalabs/algorhythm

audio audio-effect audio-library audio-processing sound sound-design sound-effects sound-files sound-processing sound-synthesis sound-synthesis-processes sounds

Last synced: 18 days ago
JSON representation

Algorhythm is a Python application that allows you to create various randomized sounds using waveform generators and effects via code. With Algorhythm, you can create unique and experimental sound effects based on predefined algorithms combined with a degree of randomness.

Awesome Lists containing this project

README

        

# Algorhythm

## Overview

Algorhythm is a Python application that allows you to create various randomized sounds using waveform generators and effects via code. With Algorhythm, you can create unique and experimental sound effects based on predefined algorithms combined with a degree of randomness.

## Dependencies

- Python 3.x
- pydub (`pip install pydub`)
- tkinter (comes pre-installed with most Python installations)

## Features

- **Waveform Generators:** Sine, Square, Sawtooth, Triangle, Pulse
- **Effects:**
- Delay
- Stutter
- Arpeggiation (both pre-defined and randomized)
- Echo (makeshift)
- Reverb (makeshift)
- And more!

- **GUI Interface:** A user-friendly GUI to easily set parameters like the number of sounds, randomness factor, and maximum duration.

## Usage

1. Clone the repository.
2. Install the necessary dependencies.
3. Run the Python script to launch the GUI.
4. Set the desired properties for your sounds.
5. Click "Generate Sounds" to create the sounds, which will be saved in a timestamped directory under "random_sounds".

## Code Structure

- **Main Functions:** Contains the core logic for generating and manipulating sound waveforms.
- `add_delay(segment)`: Adds delay effects.
- `apply_stutter(segment)`: Creates a stutter effect.
- `apply_arpeggio(frequency, generator)`: Generates a basic arpeggio sound.
- `randomized_arpeggiation(base_freq, steps, duration_per_step)`: Generates a randomized arpeggiated sound.
- `makeshift_echo(sound, delay_time, decay_factor)`: Emulates a simple delay (echo) effect.
- `makeshift_reverb(sound, num_echoes=5, start_delay=30, decay_factor=-5)`: Emulates a simple reverb by layering echoes.
- `generate_random_sound(filename, randomness_factor=0.5, max_duration=6000)`: Main function for sound generation.

- **GUI Functions:** The logic for the graphical interface.
- `start_gui()`: Initiates the GUI.

## Contribute

Feel free to fork this project, make changes, and open pull requests. Any contributions, whether it's new features or bug fixes, are highly appreciated.

[![Support via PayPal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.me/noodlebake)
## License

MIT License. See `LICENSE` for more details.

---

If you enjoy the Random Sound Generator or have any feedback, please drop a star on the repository and share your sounds with the community! 🎵🎶