Code Sketch


acoustic guitar sound by sanavi pawar
By: Mhalsakant School
Category: Programming
clear()

// =====================================================
//     VIRTUAL STRINGS (ULTRA-AMPLIFIED ACOUSTIC)
// =====================================================

// Dark studio background to focus completely on the strings
setBackground(ColorMaker.hsl(222, 0.40, 0.08))

// -----------------------------------------------------
// UI Text Labels
// -----------------------------------------------------
val title = Picture {
    setPenColor(white)
    setPenFontSize(28)
    write("ACOUSTIC GUITAR")
}
title.setPosition(-120, 220)
draw(title)

val subtitle = Picture {
    setPenColor(ColorMaker.rgb(255, 180, 50))
    setPenFontSize(13)
    write("Playing automatic acoustic melody at ABSOLUTE MAX volume...")
}
subtitle.setPosition(-175, 190)
draw(subtitle)


// =====================================================
//        MATHEMATICALLY SPACED VISUAL STRINGS
// =====================================================

val startX = -100
val startY = -140
val stringLen = 300
val spacing = 40
val clickPad = 12

var i = 0
repeat(6) {
    val string = Picture {
        setFillColor(ColorMaker.rgba(0, 0, 0, 0)); setPenColor(noColor)
        repeat(2) { forward(stringLen); right(90); forward(clickPad * 2); right(90) }
        setPosition(clickPad, 0); setPenColor(ColorMaker.rgb(225, 185, 120)); setPenThickness(3.5 - (i * 0.4)); forward(stringLen)
    }
    string.setPosition(startX + (spacing * i) - clickPad, startY)
    draw(string)
    i = i + 1
}

invisible()


// =====================================================
//     ULTIMATE 24-LAYER ACOUSTIC GUITAR ENGINE
// =====================================================

// Staccato guitar script with maximum MIDI volume token
val loudMelody = "X[Volume]=16383 E3q G4q B4q E5h A3q C4q E4q A4h D4q F#4q A4q D5h E3q G4q B4q E5w"

// Stacking 24 parallel layers together to force the loudest output possible
val giantScore = MusicScore(
    Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody),
    Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody),
    Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody),
    Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody),
    Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody),
    Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody), Melody("Guitar", loudMelody)
)

// Blow out all 24 audio channels at the exact same time on execution startup
playMusic(giantScore)