• Count Regal Inkwell@pawb.socialOP
    link
    fedilink
    arrow-up
    7
    ·
    2 days ago

    There was a thing you could do with cat /dev/random into aplay, and get some fun “Music” but you needed some other parameters to get anything other than brown noise.

    • Littux@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 day 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
      
    • superkret@feddit.org
      link
      fedilink
      arrow-up
      7
      ·
      2 days ago

      Mine is basically the same, but since it pipes your filesystem layout into aplay instead of random bits, it’s not just brown noise.
      It plays you the song of your system.
      (also, it can damage your speakers, headphones and/or ears)