Please forgive my ignorance, as I’m still a Reddit peasant

  • 0 Posts
  • 2 Comments
Joined 6 months ago
cake
Cake day: November 3rd, 2024

help-circle
  • Littux@lemmy.worldtolinuxmemes@lemmy.worldI tried
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    5 hours ago
    #!/bin/env bash
    echo "What music to play?"
    echo "[1] Groovy; blues"
    echo "[2] Japanese"
    echo "[3] ??"
    echo "[4] 8 bit Bass boosted"
    read music
    
    if [[ $music -eq 1 ]]; then
        echo "Enjoy!!"
        cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,3,5,6,7,10,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | pacat --channels 2 --format S32 --rate 24000
    fi
    
    
    if [[ $music -eq 2 ]]; then
        echo 'Enjoy!!'
        cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("4,5,7,11",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1046*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | pacat --channels 2 --format S32 --rate 24000 &
    
        cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | pacat --channels 1 --format s32 --rate 2000
    fi
    
    
    [ $music -eq 4 ] && {
        cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("4,5,7,11",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1046*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | pacat --channels 1 --format S16 --rate 80000 &
    
        cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | pacat --channels 1 --format u8 --rate 8000 --volume=50000
    }
    
    
    if [[ $music -eq 3 ]]; then
      echo "Taken from r/coding; enjoy!!"
      awk 'function wl() {
            rate=64000;
            return (rate/160)*(0.87055^(int(rand()*10)))};
        BEGIN {
            srand();
            wla=wl();
            while(1) {
                wlb=wla;
                wla=wl();
                if (wla==wlb)
                    {wla*=2;};
                d=(rand()*10+5)*rate/4;
                a=b=0; c=128;
                ca=40/wla; cb=20/wlb;
                de=rate/10; di=0;
                for (i=0;i<d;i++) {
                    a++; b++; di++; c+=ca+cb;
                    if (a>wla)
                        {a=0; ca*=-1};
                    if (b>wlb)
                        {b=0; cb*=-1};
                    if (di>de)
                        {di=0; ca*=0.9; cb*=0.9};
                    printf("%c",c)};
                c=int(c);
                while(c!=128) {
                    c<128?c++:c--;
                    printf("%c",c)};};}' | sox -t raw -r 64k -c 1 -e unsigned -b 8 - -d
    fi
    exit 0