MinaCoding2023_Letters

MinaCoding2023_Letters

Letters Be Golden

GoldenLetters

For the MinaCoding Prompt: Letters, I will be coding GoldenLetters in

play.ertdfgcvb.xyz , Hydra and SonicPi.

Design Process

The Letters and their movements are originally controlled by the code written in play.ertdfgcvb.xyz as it is an ASCII Based environment. Then it begins to be further manipulated through Hydra to come up with the finished product.

The sound will be composed in a way to mimic the flow of the letters as seen on the screen via SonicPi.

Video

Code

Play.ertdfgcvb.xyz

/**
    @author illestpreacha remixed of the name game
    @title  Coordinates: x, y
    @desc   Use of coord.x and coord.y
    */

    const density1 = 'abcdef'

    const d = new Date();
    let seconds = d.getSeconds();

    export var settings = {
        backgroundColor : 'black',
        color           : 'orange',
        fontSize        : 72 - d % 20,
        cellWidth         : 22,
        fontWeight      : 'bold', 
        lineHeight        : 2,
        fps                : d % 5

    }


    export function main(coord, context, cursor, buffer) {
        // To generate an output return a single character
        // or an object with a “char” field, for example {char: 'x'}

        // Shortcuts for frame, cols and coord (x, y)
        const {cols, frame } = context
        const t = context.time * 0.0001
        const {x, y} = coord

        // -1 for even lines, 1 for odd lines
        const sign = ( Math.cbrt(y) * Math.hypot(x,y) * Math.imul(x) - context.frame % 80)/3 % frame * 2


        const index = (cols + y / x * sign) % density1.length / 1
        return density1[index]


    }

Hydra

s0.initScreen()

src(s0).scale(()=> (time % 6 + 1)/3).modulateKaleid(voronoi([1,2,4,5],3,1),0.6).blend(s0).out()

speed = 0.15

SonicPi

#late night thriller Soundscape

Effects = ring(:flanger, :ixi_techno,:gverb,:echo , :reverb,:echo, :compresser)


live_loop :chills do
  12.times do
    with_fx Effects.tick do
      use_synth :pretty_bell
      play choose([:A4,:B4, :Cs5, 45, 72]), attack: 0.4, release: 0.24
      sleep 1
    end
    sleep 0.25
  end
  sleep 0.5
end


live_loop :Dramatic do
  12.times do
    with_fx Effects.reverse do
      use_bpm choose([20,40,60])
      use_synth :prophet
      play choose([:F4,:B4, :Ds5, 24, 2, 1]), attack: 0.34, release: 0.24
      sleep 1
    end
    sleep 0.25
  end
  sleep 0.5
end

live_loop :Deeper do
  12.times do
    with_fx Effects.shuffle.tick do
      use_bpm 40
      use_synth choose([:supersaw,:dark_ambience])
      play choose([:F4,:B4, :Ds5]), attack: 0.7, release: 0.324
      sleep 1
    end
    sleep 0.25
  end
  sleep 0.5
end