Bogosort Music Machine (ChomboSort) 🎵 | Change the Chords by Typing Commands in Chat

Поделиться
HTML-код
  • Опубликовано: 16 окт 2024
  • Full command syntax reference: bit.ly/chombos...
    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: / @algomotion
    ________
    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/chombos...) 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 #focusmusic

Комментарии • 4