Skip to content

pumpkin-bit/Flux3n1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flux3n1 - Collatz Music Generator

Turn mathematical chaos into music. This program transforms the Collatz conjecture (3x+1 problem) into procedurally generated IDM/Ambient audio

How it works

  1. You give it a number
  2. It computes the full 3x+1 sequence e.g. 27 - 82 - 41 - 124 - 62 - ...
  3. Each value in the sequence drives:
  • Notes mapped to a 4-octave Phrygian Dominant scale
  • Rhythm chaotic subdivisions 32nd to quarter notes selected by XOR hashing
  • Instruments 9 synthesized voices triggered by sequence entropy
  • Effects 18 glitch effects activated probabilistically

Voices

Voice Synthesis Role
Bass sawtooth + LPF low-end foundation
Lead FM synthesis melody, one octave up
Pad (x3) 3 sine voices symphonic chord bed
Arpeggiator square wave fast high-freq arpeggios
Drone sine sub-bass atmosphere
Piano sine + 2nd harmonic, fast decay bell-like melodic plucks
Soft Synth Filtered square wave gentle tonal melody
Kick sine + pitch envelope punchy low-end
Snare sine + noise (40/60) crisp rhythm
Hi-hat HPF noise short, crispy
Metal Perc FM synthesis metallic clicks/scrapes

Effects

  • Chorus: Short modulated delay creating stereo width and harmonic shimmer.
  • Filter: Slow LFO-driven master low pass filter that opens and closes.
  • Portamento: Smooth frequency transitions between notes for a fluid melodic feel.
  • Swing: Subtle timing jitter ±5ms to give the rhythm an organic, non-robotic feel.
  • Tempo Rush: Mathematical acceleration triggered by ascending phases in the Collatz sequence, creating a natural flow.

Glitch Effects (18)

Bitcrush · Stutter · Granular freeze · Ring mod · Pitch scramble · Gate · Tape wobble · Wavefold · Overdrive · Comb filter · XOR scramble · Spectral freeze · Time stretch · Sample & Hold · Vinyl crackle · Decimator · Buffer override · Hardclip distortion

Build

Requires libsndfile.

gcc -O2 -o collatz_music collatz_music.c -lsndfile -lm

Usage

./collatz_music <number> [output.wav]

Usage example

./collatz_music 6171           
./collatz_music 27 my_track.wav

Convert to MP3 and etc.

example:

ffmpeg -i collatz_out.wav -b:a 320k collatz_out.mp3

Generator result example

You can listen to an example of the generator's output here. SoundCloud

Contributing

Do you have any ideas or would you like to help the project develop? Check out our contributing guide

License

GPL 3.0-License

About

Music generation using the Collatz conjecture formula

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors