AlgoMotionRotating 10 regular polygons on the circle of fifths to produce musical sequences.
The first couple of regular polygons (the triangle and the square) have easy-to-foresee musical results, but others are not so obvious until you see/hear them!
This visualization was written in Java using a graphical library called Processing (processing.org), and Java's built-in MIDI library for sound (package javax.sound.midi).
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
Rotating Polygons on the Circle of Fifths | Surprising Results!AlgoMotion2024-03-27 | Rotating 10 regular polygons on the circle of fifths to produce musical sequences.
The first couple of regular polygons (the triangle and the square) have easy-to-foresee musical results, but others are not so obvious until you see/hear them!
This visualization was written in Java using a graphical library called Processing (processing.org), and Java's built-in MIDI library for sound (package javax.sound.midi).
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #musictheory #circleoffifths #polygon #code #java #software #computerscience #visualization #geometry #rotation #algorithmicmusic #algorithmiccompositionGenetic Algorithm Solves the Traveling Salesman Problem by Mimicking EvolutionAlgoMotion2024-07-25 | Watch & hear a genetic algorithm progress as it mimics evolution to solve the traveling salesman problem.
Cities are named after the 12 notes of the chromatic scale, so we have something to listen to as we operate on the graph.
Includes a quick primer on the traveling salesman problem (TSP), conventional approaches to solving it and why they're difficult for larger problem sizes (combinatorial explosion, NP-hardness), some basic heuristics (nearest neighbor algorithm, optimal bitonic tour), and an explanation of genetic algorithms (tournament selection, elitism, crossover, mutation, and a termination condition) and their application to the TSP.
We use "edge recombination crossover" a.k.a. the "edge recombination operator" to crossover parent solutions in the TSP, and "displacement mutation" to mutate offspring.
A genetic algorithm is applied to the TSP with a population of size 20, then again with a population of size 100.
The genetic algorithm visualizations were programmed in Java using a graphical library called Processing (processing.org/).
________________________
Sources:
• Razali, N. M., & Geraghty, J. (2011, July). Genetic algorithm performance with different selection strategies in solving TSP. In Proceedings of the world congress on engineering (Vol. 2, No. 1, pp. 1-6). Hong Kong, China: International Association of Engineers. iaeng.org/publication/WCE2011/WCE2011_pp1134-1139.pdf
▶ "Genetic Algorithms in Search, Optimization, and Machine Learning" by David E. Goldberg: amzn.to/3YgQkpw ▶ "Evolutionary Deep Learning: Genetic algorithms and neural networks" by Micheal Lanham: amzn.to/4flymbN ▶ "Introduction to Algorithms" (4th Edition) by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, & Clifford Stein : amzn.to/3WlnnGj ▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL
0:00 The Traveling Salesman Problem 0:33 Naive Brute Force, Combinatorial Explosion 1:13 Held-Karp Algorithm 1:43 Other Exact Algorithms for the TSP 1:54 NP-Hardness 2:04 Heuristics 2:13 Nearest Neighbor Algorithm 2:59 Optimal Bitonic Tour 3:23 Genetic Algorithm Overview 3:38 Fitness 3:52 Initial Population Generation 4:07 Elitism 4:15 k-Way Tournament Selection 4:36 Crossover 5:10 Mutation 5:38 Termination Condition 5:59 Genetic Algorithm Summary 6:11 Genetic algorithm evolves a solution to the TSP with population size 20 36:09 Genetic algorithm evolves a solution the TSP with population size 100
#visualization #computerscience #computation #geneticalgorithm #java #processing #computermusic #algorithmiccomposition #satisfying #educational #algorithm #aiSounds of the Collatz Conjecture, Part 2: Generating Raw FrequenciesAlgoMotion2024-06-11 | Using sequences from the famous unsolved Collatz conjecture to generate audio sequences of raw frequencies.
The Collatz conjecture is also known as the 3n + 1 problem, the 3x + 1 problem, the Ulam conjecture, Kakutani's problem, the Thwaites conjecture, Hasse's algorithm, or the Syracuse problem.
Three different strategies are used to map the "hailstone sequences" into sequences of frequencies: multiplying each hailstone number by a "base frequency"; multiplying each hailstone number by an increment frequency and adding it to a base frequency; and a logarithmic mapping.
An attack, decay, sustain, release (ADSR) envelope is used on pure sine waves to generate the tones, followed by a gentle low-pass filter to smooth out the perceived loudness across the frequency range.
These visualizations were written in Java using a graphical library called Processing (processing.org/).
#math #music #microtonal #musictheory #unsolved #patterns #code #java #software #computerscience #visualization #algorithmicmusic #algorithmiccomposition #part2Bogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing Commands in ChatAlgoMotion2024-05-28 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicOctagon 2 Pattern in Conways Game of Life Generates MusicAlgoMotion2024-05-04 | The Octagon 2 pattern in Conway's Game of Life is used to generate music.
This pattern is an "oscillator" with period 5, meaning it repeats itself every 5 generations.
The finer details of the Game of Life and the music generation process are explained in the long form video: youtu.be/b2SjVwYNr54
This visualization was written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
#music #computermusic #algorithmiccomposition #algorithmicmusic #algorithm #math #cellularautomata #gameoflife #computerscienceBogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing Commands in ChatAlgoMotion2024-05-04 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicCanada Goose Pattern in Conways Game of Life Generates MusicAlgoMotion2024-05-03 | The Canada Goose pattern in Conway's Game of Life is used to generate music.
This pattern is a "spaceship", meaning it translates itself across the grid.
The finer details of the Game of Life and the music generation process are explained in the long form video: youtu.be/b2SjVwYNr54
This visualization was written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
#music #computermusic #algorithmiccomposition #algorithmicmusic #algorithm #math #cellularautomata #gameoflife #computerscienceHeavyweight Spaceship (HWSS) Pattern in Conways Game of Life Generates MusicAlgoMotion2024-05-02 | The Heavyweight Spaceship (HWSS) pattern in Conway's Game of Life is used to generate music.
This is the fourth smallest known spaceship in terms of number of cells.
The finer details of the Game of Life and the music generation process are explained in the long form video: youtu.be/b2SjVwYNr54
This visualization was written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
#music #computermusic #algorithmiccomposition #algorithmicmusic #algorithm #math #cellularautomata #gameoflife #computerscienceZ-hexomino Pattern in Conways Game of Life Generates Music #computermusic #cellularautomataAlgoMotion2024-05-01 | The Z-hexomino pattern in Conway's Game of Life is used to generate music.
This pattern is a "spark" that takes 45 generations to completely die out.
The finer details of the Game of Life and the music generation process are explained in the long form video: youtu.be/b2SjVwYNr54
This visualization was written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
#music #computermusic #algorithmiccomposition #algorithmicmusic #algorithm #math #cellularautomata #gameoflife #computerscienceLoafer Pattern in Conways Game of Life Generates Music #computermusic #cellularautomataAlgoMotion2024-04-30 | The loafer pattern in Conway's Game of Life is used to generate music.
This pattern is the fifth smallest known spaceship in terms of number of cells.
The finer details of the Game of Life and the music generation process are explained in the long form video: youtu.be/b2SjVwYNr54
This visualization was written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
#music #computermusic #algorithmiccomposition #algorithmicmusic #algorithm #math #cellularautomata #gameoflife #computerscienceDie Hard Pattern in Conways Game of Life Generates Music #computermusic #cellularautomataAlgoMotion2024-04-29 | The Die Hard pattern in Conway's Game of Life is used to generate music.
This pattern is a "spark" that takes 130 generations to completely die out.
The finer details of the Game of Life and the music generation process are explained in the long form video: youtu.be/b2SjVwYNr54
This visualization was written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
#music #computermusic #algorithmiccomposition #algorithmicmusic #algorithm #math #cellularautomata #gameoflife #computersciencePentadecathlon Pattern in Conways Game of Life Generates Music #computermusic #cellularautomataAlgoMotion2024-04-28 | The Pentadecathlon pattern in Conway's Game of Life is used to generate music.
The finer details of the Game of Life and the music generation process are explained in the long form video: youtu.be/b2SjVwYNr54
This visualization was written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
#music #computermusic #algorithmiccomposition #algorithmicmusic #algorithm #math #cellularautomata #gameoflife #computerscienceConways Game of Life as a Musical InstrumentAlgoMotion2024-04-27 | Using the most famous cellular automaton (Conway's Game of Life) to generate music.
We experiment with different note layouts and starting patterns to produce a variety of musical results.
0:00 Conway's Game of Life 1:38 Game of Life as a Musical Instrument 3:01 Thinning strategies 4:51 Midweight Spaceship (MWSS), harmonic minor 5:18 Heavyweight Spaceship (HWSS), major pentatonic 5:43 Glider, melodic minor (ascending) 6:12 Loafer, major scale 7:22 31P8H4V0, melodic minor (ascending) 8:00 Canada Goose, major scale 8:40 Table, major 13 chord 8:52 Table, major pentatonic 9:01 Twin Bees Shuttle Spark, melodic minor (ascending) 9:11 Z-hexomino, harmonic minor 9:30 Die hard, harmonic minor 10:17 Octagon 2, major scale 10:35 Pinwheel, major scale 10:55 Figure eight, melodic minor (ascending) 11:17 Pentadecathlon, major scale 11:40 T-tetromino, major scale
These visualizations were written in Java using the Processing graphical library (https://processing.org). The audio was generated using Java's built-in MIDI library (javax.sound.midi).
Interested in learning more about algorithms, math, and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #math #cellularautomata #gameoflife #conway #computermusic #algorithmicmusic #algorithmiccomposition #patterns #algorithm #computerscienceBogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing Commands in ChatAlgoMotion2024-04-21 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicSounds of the Collatz Conjecture: Generating Music from the 3x + 1 ProblemAlgoMotion2024-04-15 | Using sequences from the famous unsolved Collatz conjecture to generate musical passages as MIDI notes.
The Collatz conjecture is also known as the 3n + 1 problem, the 3x + 1 problem, the Ulam conjecture, Kakutani's problem, the Thwaites conjecture, Hasse's algorithm, or the Syracuse problem.
Different strategies are used to map the "hailstone sequences" into sequences of MIDI note numbers, including a straightforward "additive" numerical mapping, "directional" mappings using fixed jump sizes, and mappings based on pitch class.
These visualizations were written in Java using a graphical library called Processing (processing.org), and Java's built-in MIDI library for generating MIDI data (package javax.sound.midi).
0:00 The Collatz Conjecture 1:27 Mapping to MIDI Notes 2:07 Strategy No. 1 4:03 Strategy No. 2 4:45 Strategy No. 3 5:21 Strategy No. 4 5:54 Strategy No. 5 7:18 Strategy No. 6 8:04 Strategy No. 7 9:12 Extra Long Example
________
Interested in learning more about algorithms, math, and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ "The Ultimate Challenge: The 3x+1 Problem" by Jeffrey C. Lagarias: amzn.to/4aVejxH ▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#math #music #musictheory #unsolved #patterns #code #java #software #computerscience #visualization #algorithmicmusic #algorithmiccompositionBogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing Commands in ChatAlgoMotion2024-04-12 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicRotating a Hendecagon on the Circle of FifthsAlgoMotion2024-04-01 | Rotating a hendecagon on the circle of fifths produces either the circle of fourths or circle of fifths, whichever is in the opposite direction of the rotation.
This visualization was written in Java using a graphical library called Processing (processing.org), and Java's built-in MIDI library for sound (package javax.sound.midi).
________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #visualization #polygon #pentagon #circleoffifths #musictheory #scale #chromaticscale #math #geometry #rotation #modulararithmeticRotating a Pentagon and a Heptagon on the Circle of FifthsAlgoMotion2024-04-01 | Rotating a pentagon or a heptagon on the circle of fifths plays a chromatic scale, a result I found rather surprising!
This visualization was written in Java using a graphical library called Processing (processing.org), and Java's built-in MIDI library for sound (package javax.sound.midi).
________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #visualization #polygon #pentagon #circleoffifths #musictheory #scale #chromaticscale #math #geometry #rotation #modulararithmeticBogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing Commands in ChatAlgoMotion2024-03-28 | Full command syntax reference: bit.ly/chombosort-syntax
Going back to the original wide screen aspect ratio for this stream!
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicDodecagon Chaos Game Played on the Circle of Fifths #fractal #music #mathAlgoMotion2024-03-23 | Generating a dodecagon fractal on top of the circle of fifths using the chaos game.
Using all 12 notes (the chromatic scale) as the corners of a dodecagon, a fractal pattern is formed using the chaos game.
Interested in learning more about fractals, algorithms, and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ "The Fractal Geometry of Nature" by Benoit B. Mandelbrot: amzn.to/4apa7pT ▶ "Fractals Everywhere" by Michael F. Barnsley: amzn.to/4apgh9r ▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#fractal #math #music #programming #code #java #processing #computerscience #beauty #art #music #mathematical #sierpinski #triangle #chromatic #scale #visualizationBogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing Commands in ChatAlgoMotion2024-03-22 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicHexagon Chaos Game Played on the Circle of Fifths #fractal #music #mathAlgoMotion2024-03-22 | Generating a hexagon fractal on top of the circle of fifths using the chaos game.
Using the notes C, D, E, G♭, A♭, and B♭ (the whole-tone scale) as the corners of a hexagon, a fractal pattern is formed using the chaos game.
Interested in learning more about fractals, algorithms, and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ "The Fractal Geometry of Nature" by Benoit B. Mandelbrot: amzn.to/4apa7pT ▶ "Fractals Everywhere" by Michael F. Barnsley: amzn.to/4apgh9r ▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#fractal #math #music #programming #code #java #processing #computerscience #beauty #art #music #mathematical #sierpinski #triangle #wholetone #scale #visualizationChaos Game Played on the Circle of Fifths #fractal #music #mathAlgoMotion2024-03-21 | Generating the Sierpinski Triangle on top of the circle of fifths using the chaos game.
Using the notes C, E, and A♭ (an augmented chord) as the corners of a triangle, the Sierpinski Triangle is generated via the chaos game.
Interested in learning more about fractals, algorithms, and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ "The Fractal Geometry of Nature" by Benoit B. Mandelbrot: amzn.to/4apa7pT ▶ "Fractals Everywhere" by Michael F. Barnsley: amzn.to/4apgh9r ▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#fractal #math #music #programming #code #java #processing #computerscience #beauty #art #music #mathematical #sierpinski #triangle #augmentedChat-Controlled Bogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing in ChatAlgoMotion2024-03-21 | Full command syntax reference: bit.ly/chombosort-syntax
New this stream: ▶ Minor aesthetic tweaks (background images)
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicChat-Controlled Bogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing in ChatAlgoMotion2024-03-21 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicStructure from Chaos: Fractals Generated on the Circle of Fifths via the Chaos GameAlgoMotion2024-03-20 | Running the chaos game on the circle of fifths, producing music to accompany the beautiful fractals that result.
We start using a triangle on the notes C, E, and A♭ (forming an augmented chord), and play the chaos game to generate the Sierpiński triangle.
Then we use a hexagon on the notes C, D, E, G♭, A♭, and B♭ (a whole-tone scale). For optimal packing, the ratio used to divide the lines in the chaos game is 0.667 for a hexagon.
Next we use all 12 notes (the chromatic scale) to form a dodecagon fractal. The dodecagon is optimally packed with a ratio of 0.789 to divide the lines.
Finally, we use a square (i.e. a diamond) on the notes C, E♭, G♭, and A (forming a diminished 7th chord). Playing the normal chaos game on a square, however, doesn't yield a fractal. It only produces uniform noise within the square. When a simple restriction is added: not allowing any corner to be repeated twice in a row, a beautiful fractal results.
0:00 Sierpiński Triangle 3:54 Hexagon Chaos Game 7:05 Dodecagon Chaos Game 10:27 Square Chaos Game ________
Interested in learning more about fractals, algorithms, and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ "The Fractal Geometry of Nature" by Benoit B. Mandelbrot: amzn.to/4apa7pT ▶ "Fractals Everywhere" by Michael F. Barnsley: amzn.to/4apgh9r ▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#fractal #math #music #beauty #art #mathematics #code #programming #computerscience #processing #java #visualization #algorithmicmusic #computermusic #experimental #hypnotic #randomnessChat-Controlled Bogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing in ChatAlgoMotion2024-03-19 | Full command syntax reference: bit.ly/chombosort-syntax
New features: ▶ Minor69 chord (available to everyone), use any of: min69, minor69, m69, -69 ▶ Add comments to your commands (available to everyone): the interpreter will ignore everything after "//" or "#" (not including # within note commands) so you can write arbitrary text after your command.
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicChat-Controlled Bogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing in ChatAlgoMotion2024-03-17 | Full command syntax reference: bit.ly/chombosort-syntax
New features: ▶ Minor69 chord (available to everyone), use any of: min69, minor69, m69, -69 ▶ Add comments to your commands (available to everyone): the interpreter will ignore everything after "//" or "#", so you can write arbitrary text after your command.
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicChat-Controlled Bogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing in ChatAlgoMotion2024-03-17 | Full command syntax reference: bit.ly/chombosort-syntax
New features: ▶ Minor69 chord (available to everyone), use any of: min69, minor69, m69, -69 ▶ Add comments to your commands (available to everyone): the interpreter will ignore everything after "//" or "#", so you can write arbitrary text after your command.
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicChat-Controlled Bogosort Music (ChomboSort) | Change the Chords by Typing in ChatAlgoMotion2024-03-15 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicChat-Controlled Bogosort Music (ChomboSort) | Change the Chords by Typing in ChatAlgoMotion2024-03-15 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicChat-Controlled Bogosort Music (ChomboSort) | Change the Chords by Typing in ChatAlgoMotion2024-03-14 | Full command syntax reference: bit.ly/chombosort-syntax
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicToothpick Sequence with Circle of Fifths Harmony #math #fractal #visualization #musicAlgoMotion2024-03-13 | Visualizing the Toothpick Sequence to 16 steps, with musical harmony based on the circle of fifths.
In the The On-Line Encyclopedia of Integer Sequences (OEIS), the Toothpick Sequence is sequence number A139250: oeis.org/A139250
To generate the toothpick sequence, at each step add a toothpick to the end of every "exposed" toothpick. Two toothpicks may never overlap, and the midpoint of each new toothpick must touch the endpoint of exactly one existing toothpick. An endpoint is "exposed" if it does not touch any other toothpick.
At steps of the form 2^k (powers of 2), the number of new toothpicks at those steps are equal to 2^k, and they are always placed along two lines perpendicular to the initial toothpick.
Chord Selection: =============
The chords move through the circle of fifths until a "power of 2" step is reached. Each chord is selected so that every time we arrive at a "power of 2" step, the chord is a C.
The exact quality of each chord was manually selected for each pitch class (i.e. for all 12 notes). The number of notes in each chord and the MIDI velocity of each note are functions of how many new toothpicks are placed at a given step.
The code for creating this video was written in Java using the Processing graphical library (processing.org/).
#math #art #music #toothpick #sequence #circleoffifths #musictheory #algorithmicmusic #visualization #mathematics #cellularautomata #algorithm #java #code #computerscience #fractal #hypnotic #mesmerizing #calming #calmingmusic #audiovisual #studymusic #focusmusicToothpick Sequence Visualized with Circle of Fifths Harmony | 256 StepsAlgoMotion2024-03-13 | Visualizing the Toothpick Sequence to 256 steps, with musical harmony based on the circle of fifths.
In the The On-Line Encyclopedia of Integer Sequences (OEIS), the Toothpick Sequence is sequence number A139250: oeis.org/A139250
To generate the toothpick sequence, at each step add a toothpick to the end of every "exposed" toothpick. Two toothpicks may never overlap, and the midpoint of each new toothpick must touch the endpoint of exactly one existing toothpick. An endpoint is "exposed" if it does not touch any other toothpick.
At steps of the form 2^k (powers of 2), the number of new toothpicks at those steps are equal to 2^k, and they are always placed along two lines perpendicular to the initial toothpick.
Chord Selection: =============
The chords move through the circle of fifths until a "power of 2" step is reached. Each chord is selected so that every time we arrive at a "power of 2" step, the chord is a C.
The exact quality of each chord was manually selected for each pitch class (i.e. for all 12 notes). The number of notes in each chord and the MIDI velocity of each note are functions of how many new toothpicks are placed at a given step.
The code for creating this video was written in Java using the Processing graphical library (processing.org/).
________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#math #art #music #toothpick #sequence #circleoffifths #musictheory #algorithmicmusic #visualization #mathematics #cellularautomata #algorithm #java #code #computerscience #fractal #hypnotic #mesmerizing #calming #calmingmusic #audiovisual #studymusic #focusmusicChat-Controlled Bogosort Music (ChomboSort) | NEW FEATURES: Change the Instrument & More!AlgoMotion2024-03-08 | Full command syntax reference: bit.ly/chombosort-syntax
New member-only features: ▶ Change the melody instrument with one of the following commands: rhodes, rhodes2, organ, pipeorgan, vibes, marimba, nylon, electric, strings, brass, whistle, beep, synth, dreamsynth, shortsynth, glisssynth, vocal. ▶ Use a cymbal pattern of any length between 1 and 16 (e.g. cym200, cym2010, cym1000200020120020, etc.). ▶ New chords: 7sus2, 7sus4, 9sus4, min7#11, min7b9.
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, changing the drum pattern, changing the color theme, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj7 C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicBogosort Sheds Arabesque No. 1 Until it Sorts the ListAlgoMotion2024-03-06 | Bogosort plays over the changes to Debussy's "Arabesque No. 1" until it sorts the list.
The chord changes are from the first 16 bars of Arabesque No. 1 (looped). ________
The Bogosort algorithm is as follows:
1. Randomly shuffle the list. 2. Check if the list is sorted. 3. If not, go back to 1.
For a list of n elements, there is a 1/n! chance that Bogosort successfully sorts the list on any given pass, since there are n! (n factorial) possible permutations of the list. So with six elements, the probability of the list being sorted on any given pass is 1/6! = 1/720 ≈ 0.00139.
In this instance, the algorithm took 1051 passes to sort the list.
The six elements of the list are mapped to notes of a specific scale or chord, depending on which chord is being played in the progression.
The shuffling algorithm used is the Fisher–Yates Shuffle, from lowest index to highest. The note played is the value of the element at the current index in the outer for-loop of the shuffle algorithm.
________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#debussy #algorithm #music #musictheory #piano #classical #impressionist #arabesque #meme #random #randomness #improvisation #bogosort #sortingalgorithm #sorting #visualization #computerscience #programming #code #satisfying #asmr #scrollingscore #transcription #hypnotic #lullaby #sleepmusic #sleepingmusic #studymusic #focusmusicBogosort Sheds Bachs Prelude in C Major (BWV 846) Until it Sorts the ListAlgoMotion2024-03-02 | Bogosort is taking it back to the early 18th century with some J.S. Bach, Prelude in a C Major (BWV 846) from the Well-Tempered Clavier.
The Bogosort algorithm is as follows:
1. Randomly shuffle the list. 2. Check if the list is sorted. 3. If not, go back to 1.
For a list of n elements, there is a 1/n! chance that Bogosort successfully sorts the list on any given pass, since there are n! (n factorial) possible permutations of the list. So with eight elements, the probability of the list being sorted on any given pass is 1/8! = 1/40,320 ≈ 0.0000248.
In this instance, the algorithm took 3154 passes to sort the list.
The eight elements of the list are mapped to notes of a specific scale or chord, depending on which chord is being played in the progression.
The shuffling algorithm used is the Fisher–Yates Shuffle, from lowest index to highest. The note played is the value of the element at the current index in the outer for-loop of the shuffle algorithm.
________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
A follow-up stream, as the first one tonight was relatively short.
New member-only and Super Chat-only commands: ▶ Change the color theme with "darkmode" and "lightmode" ▶ Change the cymbal pattern with commands like "cym20102010" (2 is an accent, 1 is a regular hit). ▶ Ten tempo tiers (t0, t1, t2, ... t9). ▶ Shorter mute command syntax. ▶ New member-only scales/chords: augmaj7 (Aug major 7 chord), dblharmmajor (double harmonic major scale)
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj7 C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
New member-only and Super Chat-only commands: ▶ Change the color theme with "darkmode" and "lightmode" ▶ Change the cymbal pattern with commands like "cym20102010" (2 is an accent, 1 is a regular hit). ▶ Ten tempo tiers (t0, t1, t2, ... t9). ▶ Shorter mute command syntax.
Become a channel member to help keep this channel viable, and unlock full access to all commands, including tempo changes, muting instruments, and custom note specification: youtube.com/channel/UCuiNK3mwhlVnxNJNyAcr3iw/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyNotes", for example:
Eb.Bbmaj7 C.Ebmaj7 F.Fmin7 Bb.Bdim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Ebmaj7 Cmin7 Fmin7 Bb7
If no chord is specified, a major chord is assumed, so "C G F G" is valid syntax.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library (processing.org), and gRPC (grpc.io) to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicBogosort Sheds Clair de Lune Until it Sorts the ListAlgoMotion2024-02-29 | Bogosort is going back to the classics, taking on a section of Debussy's "Clair De Lune" until it sorts the list.
Thanks to @pianoinvalhalla for first writing this progression during a ChomboSort live stream (the interactive chat-controlled version of this bogosort audio-visualization).
The Bogosort algorithm is as follows:
1. Randomly shuffle the list. 2. Check if the list is sorted. 3. If not, go back to 1.
For a list of n elements, there is a 1/n! chance that Bogosort successfully sorts the list on any given pass, since there are n! (n factorial) possible permutations of the list. So with six elements, the probability of the list being sorted on any given pass is 1/6! = 1/720 ≈ 0.00139.
In this instance, the algorithm took 1040 passes to sort the list.
The six elements of the list are mapped to notes of a specific scale or chord, depending on which chord is being played in the progression.
The shuffling algorithm used is the Fisher–Yates Shuffle, from lowest index to highest. The note played is the value of the element at the current index in the outer for-loop of the shuffle algorithm.
________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#debussy #algorithm #music #musictheory #classical #impressionist #clairdelune #meme #random #randomness #improvisation #bogosort #sortingalgorithm #sorting #visualization #computerscience #programming #code #satisfying #asmr #scrollingscore #transcription #hypnotic #studymusic #focusmusicOne Hour Loop of Jacob Colliers One-Hand Polyrhythm Visualized w/ Bouncing Balls 🔴🟢🔵🟠🟣AlgoMotion2024-02-24 | Jacob Collier's famous 5-finger polyrhythm, 2:3:4:5:6, visualized with perfectly elastic bouncing balls, looped for an hour.
Each ball gets "highlighted" while the others are "dampened" to help you hear and understand the individual parts of the polyrhythm in their relation to the whole.
The balls bounce according to the rules of Newtonian physics, assuming there's no air resistance, no losses due to friction, etc. (i.e. "perfectly elastic" bounces).
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #polyrhythm #polyrhythms #meme #rhythm #jacobcollier #computerscience #visualization #code #physics #hypnotic #asmr #relaxing #java #processingChat-Controlled Bogosort Music Machine (ChomboSort): Tell Bogosort Which Notes to Play (in 7/8)AlgoMotion2024-02-21 | Full command syntax: bit.ly/chombosort-syntax
Become a channel member to unlock full access to all commands, including tempo changes, muting instruments, and custom note specification: youtube.com/@AlgoMotion/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With a 7-element list, the probability of a successful sort on any pass is 1/(7!) = 1/5040 ≈ 0.000198. ________
The general syntax is: "BassNote.MelodyRootNote.MelodyNoteSpec", for example:
Eb.Bb.maj7 C.Eb.maj7 F.F.min7 Bb.B.dim7
For a I-vi-ii-V in Eb major.
When you want to use the same melody note root as the bass note, you can use the shorthand notation and just specify a single note, e.g.:
Eb.maj7 C.min7 F.min7 Bb.7
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'.maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library, and gRPC to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicChat-Controlled Bogosort Music Machine (ChomboSort): Tell Bogosort Which Notes to PlayAlgoMotion2024-02-20 | Full command syntax: bit.ly/chombosort-syntax
Become a channel member to unlock full access to all commands, including tempo changes, muting instruments, and custom note specification: youtube.com/@AlgoMotion/join ________
Chat-Operated Musical Bogosort (ChomboSort) is an extension of the "Bogosort Sheds" videos from @AlgoMotion, wherein you (the users in chat) control the notes bogosort plays by typing commands.
Bogosort is a (poor) sorting algorithm that attempts to sort a list by randomly shuffling it, checking if it's sorted, and trying again repeatedly until it's sorted. In ChomboSort, the elements in the list are mapped to musical notes which you see and hear being played back in real time as the sort proceeds.
The stream ends when the list is successfully sorted. With an 8-element list, the probability of a successful sort on any pass is 1/(8!) = 1/40,320 ≈ 0.0000248. ________
The general syntax is: "BassNote.MelodyRootNote.MelodyNoteSpec", for example:
Eb.Eb.maj7 C.C.min7 F.F.min7 Bb.Bb.7
For a I-vi-ii-V in Eb major.
To lower or raise the bass note, use a comma or apostrophe, respectively. For example: "C,.C'.maj" plays the bass note an octave lower, and the melody notes an octave higher.
Use "b" and "#" for flat and sharp, respectively. The commands are *not* case sensitive.
If any part of your command is considered invalid syntax, the whole command will be ignored. Refer to the syntax guide (bit.ly/chombosort-syntax) for a complete command reference.
ChomboSort is written primarily in Java using the Processing graphical library, and gRPC to connect the major system components. ________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG
#music #algorithm #computermusic #interactive #live #livestream #algorithmicmusic #algorithmiccomposition #sorting #java #processing #code #computerscience #jazz #musictheory #scales #chords #chat #random #randomness #hypnotic #studymusic #focusmusicMIDI Art: Charlie Parker on Sax Plays Donna Lee #midiart #music #algorithm #computervisionAlgoMotion2024-02-15 | An image of Charlie Parker playing sax gets converted into MIDI art that plays his tune "Donna Lee".
The algorithm for generating a MIDI file from a given image is roughly:
1. Run edge detection on the original image. 2. Dilate the grayscale edge image. 3. Downsample the image to a height matching the number of notes in the desired range. 4. Convert the downsampled image to MIDI by constraining the notes to certain pitches over time.
#midiart #music #algorithm #computervision #midi #computermusic #donnalee #charlieparker #bird #jazz #code #programming #images #visualization #visuals #art #piano #sax #saxophoneMIDI Art: Duke Ellington Portrait Plays Take the A Train #midiart #music #computervisionAlgoMotion2024-02-14 | An image of Duke Ellington gets converted into MIDI art that plays his tune "Take the 'A' Train".
The algorithm for generating a MIDI file from a given image is roughly:
1. Run edge detection on the original image. 2. Dilate the grayscale edge image. 3. Downsample the image to a height matching the number of notes in the desired range. 4. Convert the downsampled image to MIDI by constraining the notes to certain pitches over time.
#midiart #music #algorithm #computervision #midi #computermusic #dukeellington #taketheatrain #atrain #jazz #code #programming #images #visualization #visuals #art #pianoMIDI Art: Ella Fitzgerald Converted Into Rhythm Changes #midiart #music #algorithm #computervisionAlgoMotion2024-02-13 | An image of Ella Fitzgerald gets converted into MIDI art that plays part of the Rhythm Changes ("I Got Rhythm").
The algorithm for generating a MIDI file from a given image is roughly:
1. Run edge detection on the original image. 2. Dilate the grayscale edge image. 3. Downsample the image to a height matching the number of notes in the desired range. 4. Convert the downsampled image to MIDI by constraining the notes to certain pitches over time.
#midiart #music #algorithm #computervision #midi #computermusic #ellafitzgerald #ella #rhythmchanges #igotrhythm #jazz #code #programming #images #visualization #visuals #art #pianoMIDI Art: Dizzy Gillespie Plays A Night in Tunisia #midiart #music #algorithm #computervisionAlgoMotion2024-02-12 | An image of Dizzy Gillespie playing king b-flat trumpet gets converted into MIDI art that plays his tune "A Night in Tunisia".
The algorithm for generating a MIDI file from a given image is roughly:
1. Run edge detection on the original image. 2. Dilate the grayscale edge image. 3. Downsample the image to a height matching the number of notes in the desired range. 4. Convert the downsampled image to MIDI by constraining the notes to certain pitches over time.
#midiart #music #algorithm #computervision #midi #computermusic #dizzygillespie #trumpet #horn #jazz #code #programming #images #visualization #visuals #art #pianoMIDI Art: Coltrane on Sax Plays Giant Steps #midiart #music #algorithm #computervisionAlgoMotion2024-02-11 | An image of John Coltrane playing sax gets converted into MIDI art that plays his tune "Giant Steps".
The algorithm for generating a MIDI file from a given image is roughly:
1. Run edge detection on the original image. 2. Dilate the grayscale edge image. 3. Downsample the image to a height matching the number of notes in the desired range. 4. Convert the downsampled image to MIDI by constraining the notes to certain pitches over time.
#midiart #music #algorithm #computervision #midi #computermusic #giantsteps #coltrane #trane #johncoltrane #jazz #code #programming #images #visualization #visuals #art #piano #sax #saxophoneMIDI Art: An Autumn Leaf Plays Autumn Leaves #midiart #music #algorithm #computervisionAlgoMotion2024-02-11 | An image of a leaf converted to MIDI art that plays the changes to the jazz standard "Autumn Leaves".
The algorithm for generating a MIDI file from a given image is roughly:
1. Run edge detection on the original image. 2. Dilate the grayscale edge image. 3. Downsample the image to a height matching the number of notes in the desired range. 4. Convert the downsampled image to MIDI by constraining the notes to certain pitches over time.
#midiart #music #algorithm #computervision #midi #computermusic #autumnleaves #jazz #code #programming #images #visualization #visuals #art #pianoJazz in Pixels: MIDI Art Renditions of 6 StandardsAlgoMotion2024-02-10 | Images of jazz legends (and a leaf... that is, an *autumn* leaf) play the changes from six jazz standards as MIDI art.
Includes the standards Autumn Leaves, Giant Steps, Night in Tunisia, Rhythm Changes (I Got Rhythm), Take the "A" Train, and Donna Lee, set to images of a leaf, John Coltrane, Dizzy Gillespie, Ella Fitzgerald, Duke Ellington, and Charlie Parker.
The algorithm for generating a MIDI file from a given image is roughly:
1. Run edge detection on the original image. 2. Dilate the grayscale edge image. 3. Downsample the image to a height matching the number of notes in the desired range. 4. Convert the downsampled image to MIDI by constraining the notes to certain pitches over time.
I intend to explain the algorithm in more detail in a future video, stay tuned for that!
________
Interested in learning more about algorithms and how to program? Here are some useful and/or classic textbooks that I recommend (these are affiliate links, if you buy one, I get a small commission):
▶ “Algorithms” (4th Edition) by Robert Sedgewick & Kevin Wayne: amzn.to/3uo25xR ▶ “Effective Java” (3rd Edition) by Joshua Bloch: amzn.to/3HOnYJL ▶ “Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming” by Eric Matthes: amzn.to/481jQ43 ▶ “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, & John Vlissides: amzn.to/49fpr7R ▶ “Discrete Algorithmic Mathematics” by Stephen B. Maurer & Anthony Ralston: amzn.to/4bmsOvG