AlgoMotion | Chat-Controlled Bogosort Music (ChomboSort) | Change the Chords by Typing in Chat @AlgoMotion | Uploaded March 2024 | Updated October 2024, 1 hour ago.
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 #focusmusic
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 #focusmusic