yiler-music-with-code

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
yiler-music-with-code [2024/06/19 18:02] yiler.huangyiler-music-with-code [2024/06/19 18:49] (current) yiler.huang
Line 9: Line 9:
 Konduktiva utilizes a system called Quantized maps. A Quantized map is like a scheduler for events or information, so that the right note can be played at the right time. This system is used to manipulate things such as chord types (chord map), root note (root map), MIDI velocity (velocity map) etc. Konduktiva utilizes a system called Quantized maps. A Quantized map is like a scheduler for events or information, so that the right note can be played at the right time. This system is used to manipulate things such as chord types (chord map), root note (root map), MIDI velocity (velocity map) etc.
  
-Users can use this line of code to input the chord progression of John Coltrane's Giant Steps into Konduktiva:+Users can use this block of code to input the chord progression of John Coltrane's Giant Steps into Konduktiva:
  
-```+<code javascript>
 addChordProgressionFromRomanNumeral(e, "giantSteps", 64, [0, 2, 4, 6, 8, 12, 14, 16, 18, 20, 22, 24, 28, 30, 32, 36, 38, 40, 44, 46, 48, 52, 54, 56, 60, 62], ["Imaj7", "bIII7", "bVImaj7", "bI7", "IIImaj7", "bVII7", "bIII7", "bVImaj7", "bI7", "IIImaj7", "V7", "Imaj7", "bV7", "bI7", "IIIma7", "bVII7", "bIII7", "bVImaj7", "IIm7", "V7", "Imaj7", "bV7", "bI7", "IIImaj7", "IIm7", "V7"], "B") addChordProgressionFromRomanNumeral(e, "giantSteps", 64, [0, 2, 4, 6, 8, 12, 14, 16, 18, 20, 22, 24, 28, 30, 32, 36, 38, 40, 44, 46, 48, 52, 54, 56, 60, 62], ["Imaj7", "bIII7", "bVImaj7", "bI7", "IIImaj7", "bVII7", "bIII7", "bVImaj7", "bI7", "IIImaj7", "V7", "Imaj7", "bV7", "bI7", "IIIma7", "bVII7", "bIII7", "bVImaj7", "IIm7", "V7", "Imaj7", "bV7", "bI7", "IIImaj7", "IIm7", "V7"], "B")
- +</code>
-```+
  
 Giant Steps played with Konduktiva: Giant Steps played with Konduktiva:
Line 28: Line 27:
 </html> </html>
  
-===== Generating Chord Progressions =====+===== Music Generation =====
  
-===== Generating Melodies =====+==== Generating Chord Progressions ====
  
 +I made an algorithm that is capable of generating chord progressions based on the "stableness" of each chord. The more stable a chord is, the more likely the next chord is going to be an unstable one, and the more unstable a chord is, the more likely the next chord is going to be a stable one. This function also utilizes chord substitution methods such as secondary dominant, tritone substitution, and minor subdominant.
  
 +A short demo of chord progression generation:
 +
 +<html>
 +<iframe width="560" height="315" src="https://www.youtube.com/embed/QRLCv_l8ok0?si=g-Mh3z9FTQyrH6ns" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
 +</html>
 +
 +==== Generating Melodies ====
 +
 +I also made an algorithm that can generate melodies based on probabilities and mathematical rules. Users can decide what key the melody is in, the length of the melody, and the scale the algorithm uses to generate the melody.
 +
 +Here is a demo of a generated melody based on the A minor harmonic minor scale: 
 +
 +<html>
 +<iframe width="560" height="315" src="https://www.youtube.com/embed/HekrBu0gio4?si=756uTBzCPpqBAHsh" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
 +</html>
  • yiler-music-with-code.1718845368.txt.gz
  • Last modified: 2024/06/19 18:02
  • by yiler.huang