Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
AphexMandelbrot
Mar 31, 2002
<img alt="" border="0" src="https://fi.somethingawful.com/customtitles/title-aphexmandelbrot.jpg" /><br />Subject to change.

Zip posted:

I have no mouth and I must HRRRGGGGLLLLLPPPPHHHHHMMMMMU(#@(@#(*$#.....

The source image makes it funnier.

Adbot
ADBOT LOVES YOU

Kmlkmljkl
Sep 21, 2014


AT NIGHT I GET SO LONELY I JERK IT FURIOUSLY TO THE SIMS
This is a glitch my brother did with a scanner



Pretty neat.

BLUNDERCATS! noooo
Oct 30, 2008

Anung Un Rama, Urush Un Rama
http://www.hellocatfood.com/databending-using-audacity/

I'm following this tutorial exactly, but I can't seem to get the pictures to export properly. They're just coming out blank, Photoshop says they are "damaged"... I don't think I'm messing with the header though? Is this still a viable way of glitching photos?

EDIT: In fact, even exporting the unedited raw file creates a "broken" image file that cannot be opened. What the heck!

EDIT 2: silly me. I wasn't using .bmp files... Switched to .bmp and managed to get some dope results.

BLUNDERCATS! noooo fucked around with this message at 21:42 on Sep 21, 2014

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
How about making pictures where every pixel has a unique color? As long as the picture is less than 16.7 megapixels, you will have enough colors for each pixel (in a 24-bit colorspace). The basic algorithm could be "take a random pixel from the source image and assign the closest unused color to it." Keep going until there are no more pixels left.

Splashy Gravy
Dec 21, 2004

I HAVE FURY!
Slippery Tilde

Wheany posted:

How about making pictures where every pixel has a unique color? As long as the picture is less than 16.7 megapixels, you will have enough colors for each pixel (in a 24-bit colorspace). The basic algorithm could be "take a random pixel from the source image and assign the closest unused color to it." Keep going until there are no more pixels left.

I've been learning some python, and this could be a good learning exercise. I might see if I can find some time to try this.

itsgotmetoo
Oct 5, 2006

by zen death robot

itsgotmetoo fucked around with this message at 05:39 on Sep 27, 2014

itsgotmetoo
Oct 5, 2006

by zen death robot




itsgotmetoo fucked around with this message at 05:48 on Sep 27, 2014

itsgotmetoo
Oct 5, 2006

by zen death robot

AphexMandelbrot posted:

This thread needs a revival. gently caress it. I'll be that revival.


I'm using a variety of things at this point.

Mostly Processing. I still use it like I used Audacity. Alter. Save. Alter. Save. Alter. Save.
I had a month of being bored, reviewing code, and realizing that changing every single thing I wanted change in Processing is a lot less complicated than I thought. So it's Processing most of the time and PS to incorporate line relief if that's there.

Pixel sorting is fun.
That being said, as pretty as the end result a few lines down is, Processing can't create this:



That's the moment I realized I knew exactly what the gently caress I was doing in Audacity.
You can use just about every effect in Audacity. It just takes some (boredom/sobriety-boredom) to whittle down acceptable variables for most situations, test them, and code them down.
When I play with Audacity it's almost exclusively for -- well, the above.

I popped each of the below out in 2-7 minutes for a thing I do most nights for an hour.




















These are way legit. Also, Sandman av glitch bros. No gay poo poo.

Star Man
Jun 1, 2008

There's a star maaaaaan
Over the rainbow
This is my first real shot at data bending an image. I am in a digital art class and one of the five animated gifs we have to make is supposed to be of a single image corrupted through data bending. So I made a strobing Neptune:



I should go the distance with this on my own time and try to get pieces to move all the way across.

Data bending is a strange and dark art.

Solumin
Jan 11, 2013
I ran across this and thought this thread would appreciate it: http://wayspurrchen.com/blog/2014/09/the-eternal-robot-love-story-of-badpng-and-pixelsorter/

What happens when a PNG corruption bot and an pixel sorting bot starting looping each other? ART.

itsgotmetoo
Oct 5, 2006

by zen death robot
Starting to get a feel for the glitch/sort combo.

PHIZ KALIFA
Dec 21, 2011

#mood
So, I've got a question for folks about a potential Processing project: I'm looking for something I can feed a video clip to that will break it into 10-15 second chunks, rearrange it, and pass a filter over what results. Would that be feasible? My background in coding is I know how to make TI's draw ding-a-lings on the graph page.

dragoat
Mar 21, 2012

YOU STOP THAT
Oh wow I was surprised to see this thread updated. I've been doing quite a bit of corrupting but I never posted any of it because I assumed the thread was dead. Anyways here's a bit of my favorites since the last one I posted.























all done in audacity.

TheLastManStanding
Jan 14, 2008
Mash Buttons!

PHIZ KALIFA posted:

So, I've got a question for folks about a potential Processing project: I'm looking for something I can feed a video clip to that will break it into 10-15 second chunks, rearrange it, and pass a filter over what results. Would that be feasible? My background in coding is I know how to make TI's draw ding-a-lings on the graph page.
Processing can't handle video natively and it's limited in what still image types it can use ( .gif, .jpg, .tga, .png). If you know enough about the header and frame tags for the video you could probably load the file as an object or byte array, but it would be a lot of work. I've modified videos before, but I've used a separate program to first strip the frames and then later reassemble them. It's quick enough and pretty easy.

I like this one.

TheLastManStanding
Jan 14, 2008
Mash Buttons!
Wrote a pair of programs yesterday to help in glitching pics. The first does pixel sorting; it can load pixels by RGB or HSB, can sort individual channels, and can swap and recombine in both RBG or HSB. Sorting seems to work best on pictures with large areas of similar colors; pictures with lots of colors tend to go muddy. Cross processing from RGB to HSB tends to give good results. You can also mix input channels.




code:
// PixelSorting v141006
// By MCG
// Processing 2.1.2

PImage img;
String filename;
int w, h;
int[] a;
int[] b;
int[] c;
int step = 0;

void setup() {
  while (step < 2) {
    if (step == 0)
    {
      selectInput("Select a file to process:", "fileSelected");
      step++;
    }
  }
  img = loadImage(filename);
  w = img.width;
  h = img.height;
  size(w, h);
  a = new int[w];
  b = new int[w];
  c = new int[w];
}

void draw() {
  loadPixels();
  //colorMode(HSB); // Uncommment when outputting HSB

  for (int y = 0; y < height; y++) {
    for (int x = 0; x < width; x++) {
      int loc = x + y*width;

      // Uncomment secton to load RGB
      a[x] = img.pixels[loc] >> 16 & 0xFF;
      b[x] = img.pixels[loc] >> 8 & 0xFF;
      c[x] = img.pixels[loc] & 0xFF;

      // Uncomment section to load HSB
      //a[x] = int(hue(img.pixels[loc])); 
      //b[x] = int(saturation(img.pixels[loc]));
      //c[x] = int(brightness(img.pixels[loc]));
    }

    // Sorting
    a = sort(a); // Red or Hue
    b = sort(b); // Green or Saturation
    c = sort(c); // Blue or Brightness

    for (int x = 0; x < width; x++) {
      int loc = x + y*width;
      pixels[loc] =  color(a[x], b[x], c[x]); // Channels can be swapped here
    }
  }
  updatePixels();
  save(month() + nf(day(),2) + "/" + hour() + nf(minute(),2) + nf(second(),2) + ".png");
  //exit();
  noLoop();
}

void fileSelected(File selection) {
  if (selection == null) {
    println("Selection canceled.");
  } 
  else {
    filename = selection.getAbsolutePath();
    step++;
  }
}

TheLastManStanding
Jan 14, 2008
Mash Buttons!
The second is interactive. The mouse wheel is used to scroll through tools (What you're using is shown in the console), left click to use them, press 's' to save the picture. There's various line tools, cut and paste, inverting sections, posterizing sections, circles, and an eraser.




code:
Update in post below

TheLastManStanding fucked around with this message at 05:09 on Oct 10, 2014

itsgotmetoo
Oct 5, 2006

by zen death robot

Thanks, man. This was way helpful, and pretty cool straight out of the box, too.

TheLastManStanding
Jan 14, 2008
Mash Buttons!
Updated my code; added the ability to push and pull the image, as well as stripping color channels and adding noise.
- Arrow keys control line direction
- r, g, b, & a keys select which channel is to be modified (a is all)
- [ and ] resize the tools
- The eraser is now right click
- mouse wheel changes tools
- s to save



code:
// GlitchPaint v141009
// By MCG
// Processing 2.1.2

PImage img;
PImage timg;
String filename;
StringList styleName;
int w, h;
int x, y;
int mx, my;
int[] r, g, b;
int c1, c2, c = 1; // Cut and paste points
int pLevel = 4; // Posterization amount
int size = 50; // Object Sizes
int lsize = 7; // Line width
int str = 25; // Noise strength
char dir = 'u'; // Line directions select
char channel = 'r'; // Channel select
int step = 0;
int style = 1;

void setup() {
  while (step < 2) {
    if (step == 0)
    {
      selectInput("Select a file to process:", "fileSelected");
      step++;
    }
  }
  img = loadImage(filename);
  w = img.width;
  h = img.height;
  r = new int[h*w];
  g = new int[h*w];
  b = new int[h*w];
  size(w, h);
  styleLoad();
  image(img, 0, 0);
  loadPixels();
}

void draw() {
  if (mousePressed && (mouseButton == LEFT)) {
    mx = constrain(mouseX, 0, w);
    my = constrain(mouseY, 0, h);
    switch(style) {
    case 1: // Box
      x = mx;
      y = my;
      for (int i=0; i<size; i++) {
        // x- y-
        stroke(get(x-size, y-i));
        line(x-i, y-i, x-size, y-i);
        stroke(get(x-i, y-size));
        line(x-i, y-i, x-i, y-size);
        // x+ y+
        stroke(get(x+size, y+i));
        line(x+i, y+i, x+size, y+i);
        stroke(get(x+i, y+size));
        line(x+i, y+i, x+i, y+size);
        // x+ y-
        stroke(get(x+size, y-i));
        line(x+i, y-i, x+size, y-i);
        stroke(get(x+i, y-size));
        line(x+i, y-i, x+i, y-size);
        // x- y+
        stroke(get(x-size, y+i));
        line(x-i, y+i, x-size, y+i);
        stroke(get(x-i, y+size));
        line(x-i, y+i, x-i, y+size);
      }
      break;
    case 2: // Line
      x = mx;
      y = my;
      switch(dir) {
      case 'u':
        for (int i=0-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x+i, y));
          line(x+i, y, x+i, y-size);
        }
        break;
      case 'd':
        for (int i=1-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x+i, y));
          line(x+i, y, x+i, y+size);
        }
        break;
      case 'l':
        for (int i=0-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x, y+i));
          line(x, y+i, x-size, y+i);
        }
        break;
      case 'r':
        for (int i=0-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x, y+i));
          line(x, y+i, x+size, y+i);
        }
        break;
      }
      break;
    case 3: // Line Long
      x = mx;
      y = my;
      switch(dir) {
      case 'u':
        for (int i=0-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x+i, y));
          line(x+i, y, x+i, 0);
        }
        break;
      case 'd':
        for (int i=1-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x+i, y));
          line(x+i, y, x+i, h);
        }
        break;
      case 'l':
        for (int i=0-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x, y+i));
          line(x, y+i, 0, y+i);
        }
        break;
      case 'r':
        for (int i=0-(lsize/2); i<(lsize/2)+1; i++) {
          stroke(get(x, y+i));
          line(x, y+i, w, y+i);
        }
        break;
      }
      break;
    case 4: // Pull pixels
      loadPixels();
      for (int i = 0; i < pixels.length; i++) {
        r[i] = pixels[i] >> 16 & 0xFF; 
        g[i] = pixels[i] >> 8 & 0xFF;
        b[i] = pixels[i] & 0xFF;
      }
      int loc = mx + my*width;
      switch(channel) {
      case 'r':
        r = append(concat(subset(r, 0, loc-1), subset(r, loc, r.length-loc)), 0);
        break;
      case 'g':
        g = append(concat(subset(g, 0, loc-1), subset(g, loc, g.length-loc)), 0);
        break;
      case 'b':
        b = append(concat(subset(b, 0, loc-1), subset(b, loc, b.length-loc)), 0);
        break;
      case 'a':
        r = append(concat(subset(r, 0, loc-1), subset(r, loc, r.length-loc)), 0);
        g = append(concat(subset(g, 0, loc-1), subset(g, loc, g.length-loc)), 0);
        b = append(concat(subset(b, 0, loc-1), subset(b, loc, b.length-loc)), 0);
        break;
      }
      for (int i = 0; i < pixels.length; i++) { 
        pixels[i] =  color(r[i], g[i], b[i]); // Channels can be swapped here
      }
      updatePixels();
      break;
    case 5: // Push pixels
      loadPixels();
      for (int i = 0; i < pixels.length; i++) {
        r[i] = pixels[i] >> 16 & 0xFF; 
        g[i] = pixels[i] >> 8 & 0xFF;
        b[i] = pixels[i] & 0xFF;
      }
      loc = mx + my*width;
      switch(channel) {
      case 'r':
        r = splice(r, pixels[loc] >> 16 & 0xFF, loc);
        break;
      case 'g':
        g = splice(g, pixels[loc] >> 8 & 0xFF, loc);
        break;
      case 'b':
        b = splice(b, pixels[loc] >> 0xFF, loc);
        break;
      case 'a':
        r = splice(r, pixels[loc] >> 16 & 0xFF, loc);
        g = splice(g, pixels[loc] >> 8 & 0xFF, loc);
        b = splice(b, pixels[loc] >> 0xFF, loc);
        break;
      }
      for (int i = 0; i < pixels.length; i++) { 
        pixels[i] =  color(r[i], g[i], b[i]); // Channels can be swapped here
      }
      updatePixels();
      break;
    case 10: // Circle
      x = mx;
      y = my;      
      noStroke();
      fill(img.get(x, y));
      ellipse(x, y, size, size);
      break;
    }
  }
}

void mouseClicked() {
  if (mouseButton == LEFT) {
    switch(style) {
    case 6: // Remove Color Channel
      switch(c) {
      case 1:
        c++;
        c1 = mx;
        c2 = my;
        println("-Point 1 taken");
        break;
      case 2:
        loadPixels();
        for (int i = 0; i < pixels.length; i++) {
          r[i] = pixels[i] >> 16 & 0xFF;
          g[i] = pixels[i] >> 8 & 0xFF;
          b[i] = pixels[i] & 0xFF;
        }
        int min = min(c1+c2*w, mx+my*w);
        int max = max(c1+c2*w, mx+my*w);
        switch(channel) {
        case 'r':
          for (int i = min; i < max; i++) {
            pixels[i] =  color(0, g[i], b[i]);
          }
          break;
        case 'g':
          for (int i = min; i < max; i++) {
            pixels[i] =  color(r[i], 0, b[i]);
          }     
          break;   
        case 'b':
          for (int i = min; i < max; i++) {
            pixels[i] =  color(r[i], g[i], 0);
          }
          break;
        default:
          break;
        }
        println("-Color Stripped");
        updatePixels();
        c=1;
        break;
      }
      break;
    case 7:  // Noise
      switch(c) {
      case 1:
        c++;
        c1 = mx;
        c2 = my;
        println("-Point 1 taken");
        break;
      case 2:
        int cx = mx;
        int cy = my;
        timg = get(min(c1, cx), min(c2, cy), abs(c1 - cx), abs(c2 - cy));
        int tw = abs(c1 - cx);
        int th = abs(c2 - cy);
        int ts = tw * th;
        for (int j = 0; j < th; j++) {
          for (int i = 0; i < tw; i++) {
            int ri = int(i + random(-4, 5));
            int rj = int(j + random(-2, 3));
            timg.pixels[i + j*tw] =  timg.pixels[constrain(ri + rj*tw, 0, ts-1)];
            //constrain((i + int(random(-10, 11)))+int(random(-4, 5))*abs(c1 - cx), 0, timg.pixels.length-1)
          }
        }
        image(timg, min(c1, cx), min(c2, cy));
        println("-Noise added");
        c=1;
        break;
      }
      break;
    case 8: // Invert
      switch(c) {
      case 1:
        c++;
        c1 = mx;
        c2 = my;
        println("-Point 1 taken");
        break;
      case 2:
        int cx = mx;
        int cy = my;
        timg = get(min(c1, cx), min(c2, cy), abs(c1 - cx), abs(c2 - cy));
        timg.filter(INVERT);   
        image(timg, min(c1, cx), min(c2, cy));
        println("-Inverted");
        c=1;
        break;
      }
      break;
    case 9: // Posterize
      switch(c) {
      case 1:
        c++;
        c1 = mx;
        c2 = my;
        println("-Point 1 taken");
        break;
      case 2:
        int cx = mx;
        int cy = my;
        timg = get(min(c1, cx), min(c2, cy), abs(c1 - cx), abs(c2 - cy));
        timg.filter(POSTERIZE, pLevel); 
        image(timg, min(c1, cx), min(c2, cy));
        println("-Posterized");
        c=1;
        break;
      }
      break;
    case 11: // Cut => Paste
      switch(c) {
      case 1:
        c++;
        c1 = mx;
        c2 = my;
        println("-Point 1 taken");
        break;
      case 2:
        c++;
        int cx = mx;
        int cy = my;
        timg = get(min(c1, cx), min(c2, cy), abs(c1 - cx), abs(c2 - cy));
        println("-Point 2 taken");
        break;
      case 3:
        image(timg, mx, my);
        println("-Pasted");
        c=1;
        break;
      }
      break;
    }
  }
  if (mouseButton == RIGHT) {
    mx = constrain(mouseX, 0, w);
    my = constrain(mouseY, 0, h);
    switch(c) {
    case 1:
      c++;
      c1 = mx;
      c2 = my;
      println("-Point 1 taken");
      break;
    case 2:
      int cx = mx;
      int cy = my;
      timg = img.get(min(c1, cx), min(c2, cy), abs(c1 - cx), abs(c2 - cy));
      image(timg, min(c1, cx), min(c2, cy));
      println("-Pasted");
      c=1;
      break;
    }
  }
}

void styleLoad() {
  styleName = new StringList();
  styleName.append("Blank");
  styleName.append("[1] Box");
  styleName.append("[2] Line Short [arrow keys]");
  styleName.append("[3] Line Long [arrow keys]");
  styleName.append("[4] Pull Pixels [r][g][b][a]");
  styleName.append("[5] Push Pixels [r][g][b][a]");
  styleName.append("[6] Remove Color Channel [r][g][b]");
  styleName.append("[7] Noise");
  styleName.append("[8] Invert");
  styleName.append("[9] Posterize");
  styleName.append("[0] Circle");
  styleName.append("[C] Cut and Paste");
  println(styleName.get(1));
}

void mouseWheel(MouseEvent event) {
  int e = event.getCount();
  if (e != 0) {
    int ps = style;
    style = constrain(style + e, 1, 11);
    if (style != ps) {
      println(styleName.get(style));
    }
    c = 1;
  }
}

void fileSelected(File selection) {
  if (selection == null) {
    println("Selection canceled.");
  } 
  else {
    filename = selection.getAbsolutePath();
    step++;
  }
}

void keyReleased() {
  if (key == CODED) {
    switch(keyCode) {
    case UP:
      dir = 'u';
      println("-Up");
      break;
    case DOWN:
      dir = 'd';
      println("-Down");
      break;
    case LEFT:
      dir = 'l';
      println("-Left");
      break;
    case RIGHT:
      dir = 'r';
      println("-Right");
      break;
    }
  } 
  else {
    switch(key) {
    case ']':
      size += 5;
      println("Brush:" + size);
      break;
    case '[': 
      size -= 5;
      size = max(size, 5);
      println("Brush:" + size);
      break;
    case 's':
      save(month() + nf(day(), 2) + "/" + hour() + nf(minute(), 2) + nf(second(), 2) + ".png");
      println("Saved!");
      break;
    case 'r': 
      channel = 'r';
      println("-Red (cyan)");
      break;
    case 'g': 
      channel = 'g';
      println("-Green (magenta)");
      break;
    case 'b': 
      channel = 'b';
      println("-Blue (yellow)");
      break;
    case 'a': 
      channel = 'a';
      println("-All channels");
      break;
    }
  }
}  

Solumin
Jan 11, 2013
You should really throw both of these tools in a Github repository!

itsgotmetoo
Oct 5, 2006

by zen death robot
Threw this together in about half an hour using your tool. (I hosed up a lot.)

Kmlkmljkl
Sep 21, 2014


AT NIGHT I GET SO LONELY I JERK IT FURIOUSLY TO THE SIMS

itsgotmetoo posted:

Threw this together in about half an hour using your tool. (I hosed up a lot.)



looks awesome
where would you say you hosed up?

itsgotmetoo
Oct 5, 2006

by zen death robot

Kmlkmljkl posted:

looks awesome
where would you say you hosed up?

The actual process for creating the image is very simple using TheLastManStanding's code. I was just saying it took me 30 minutes to do what was basically a 5 minute job because I made a lot of mistakes before I familiarized myself with it well enough to make something cool looking.

TheLastManStanding
Jan 14, 2008
Mash Buttons!

Solumin posted:

You should really throw both of these tools in a Github repository!
:effort:

I seriously hate the github interface, but I ended up making one: https://github.com/Phonocardiogram/imageTools/
Tell me if that works. I included a new version of my PixelSorter, which has a lot more options and shows an immediate result. I also updated GlitchPaint. The changes are:
- Right click now uses a brush to erase
- Greatly improved the noise math
- Changed how cut/paste worked
- Added a quick save/load feature so you can test out small changes easily
- Added 5 filters (Horizontal/Vertical blinds, quilting, random/uniform pointilisim) which are also affected by brush size
+ If anyone has suggestions for filters I'll see about adding them. Right now the only thing I can think of is a harsh jpg compression style filter.

President Kucinich
Feb 21, 2003

Bitterly Clinging to my AK47 and Das Kapital

LastManStanding, thank you so much for the scripts.



President Kucinich
Feb 21, 2003

Bitterly Clinging to my AK47 and Das Kapital

TheLastManStanding
Jan 14, 2008
Mash Buttons!
https://github.com/Phonocardiogram/imageTools/tree/master/TimeScaler

Added a new tool. This one performs a content-aware-scale directly on the time dimension of a sequence of images. This cuts out the intermediate steps of slitscanning and using photoshop's content aware scale, and it eliminates the horizontal artifacts that the previous method produced. It also allows for more direct tuning of the intensity of the effect and greatly reduces the time required to get a result. The only side effect is that the math on this one melted my brain :psypop:



These two gifs show how the results can be tweaked.


itsgotmetoo
Oct 5, 2006

by zen death robot
Made a couple things.





Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

TheLastManStanding posted:

Added a new tool. This one performs a content-aware-scale directly on the time dimension of a sequence of images.

I love you.

No. that came out wrong.

I'm in love with you.

ironcladfolly
May 22, 2007

Devil's Favorite Doggie
This might not be exactly the right thread for this request, but it's close to what I'm looking for.

For Halloween this year, we're doing a Sci-Fi horror theme, and I want to run a bunch of sci-fi-looking loops on all the TVs and screens in the house to set the ambience of a space station. Parts of the decor are inspired by stuff like Alien and System Shock, including a psychotic AI that kills everyone on board, so I'm especially looking for stuff that's a good mix of "random computer read-outs of the station's operations" and "system error code as the AI begins to take over."

Are there any good collections and central resources for things like this?

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

MiketheGreat posted:

Are there any good collections and central resources for things like this?

One thing you could use is a recording of http://fediafedia.com/neo/ and other "hacker typing" sites.

the_lion
Jun 8, 2010

On the hunt for prey... :D

MiketheGreat posted:

This might not be exactly the right thread for this request, but it's close to what I'm looking for.

For Halloween this year, we're doing a Sci-Fi horror theme, and I want to run a bunch of sci-fi-looking loops on all the TVs and screens in the house to set the ambience of a space station. Parts of the decor are inspired by stuff like Alien and System Shock, including a psychotic AI that kills everyone on board, so I'm especially looking for stuff that's a good mix of "random computer read-outs of the station's operations" and "system error code as the AI begins to take over."

Are there any good collections and central resources for things like this?

"Loo..look look at you hacker.." :D
I love Shodan.

If you're looking for audio, there's a good creepy thing called number stations. Mostly involve automated voices reading numbers out over static and crazy noises.

There's a collection of them used in movies. Check it out here:

http://en.m.wikipedia.org/wiki/The_Conet_Project

For those not in the know, there's an interesting article on what they are (nobody knows, there's a lot of conspiracy theories) surrounding them.

http://en.m.wikipedia.org/wiki/Numbers_station

I bet someone has made video to these on YouTube too. I'd look but the sound creeps me out as it is. Even a search for glitch music videos might help.

http://en.m.wikipedia.org/wiki/Glitch_(music)

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
Also I noticed the "paulstretch" effect in Audacity yesterday, that can be used to stretch audio by extreme amounts (like 10 x), which makes it sound all echo-y and sort of creepy.

Max
Nov 30, 2002

There are people in this thread that absolutely must submit to this. The Tate is asking for people to openly glitch their art to display.

http://www.tate.org.uk/whats-on/tate-britain/special-event/open-call-submission-all-glitched

TheLastManStanding
Jan 14, 2008
Mash Buttons!

Max posted:

There are people in this thread that absolutely must submit to this. The Tate is asking for people to openly glitch their art to display.

http://www.tate.org.uk/whats-on/tate-britain/special-event/open-call-submission-all-glitched
Cool idea, but those images they've provided aren't great.


I changed my time scale code to properly interpolate between frames, but the difference is almost unnoticeable. It got rid of hard pixel boundaries on quick changes, but also introduced a weird temporal artifact in which contrasted outlines from later frames are apparent in much earlier frames. I haven't updated the code on github yet since I plan to completely rework the order of operations as I'm not satisfied with how smooth it is yet. But have some videos:

https://www.youtube.com/watch?v=tRadBW9ZWNU

https://www.youtube.com/watch?v=VjZe_hsnMa0

Row sorting RGB:


Row sorting hue and sat:


Full sort red, row sort blue:


Progressively smaller quilting, then vertical blinds:

itsgotmetoo
Oct 5, 2006

by zen death robot

Max posted:

There are people in this thread that absolutely must submit to this. The Tate is asking for people to openly glitch their art to display.

http://www.tate.org.uk/whats-on/tate-britain/special-event/open-call-submission-all-glitched

Pretty cool. Ended up submitting this:

Sparr
Jan 17, 2006

I made a thing too

Sparr fucked around with this message at 05:36 on Oct 27, 2014

President Kucinich
Feb 21, 2003

Bitterly Clinging to my AK47 and Das Kapital

itsgotmetoo
Oct 5, 2006

by zen death robot

President Kucinich
Feb 21, 2003

Bitterly Clinging to my AK47 and Das Kapital

Adbot
ADBOT LOVES YOU

Kmlkmljkl
Sep 21, 2014


AT NIGHT I GET SO LONELY I JERK IT FURIOUSLY TO THE SIMS

is.. is that the ice cream face guy?

  • Locked thread