Command-line & python
Using Audition 1. Import file via Raw Data and use the settings in Fig.A
Distort PORTIONs of audio waveform using effects such as reverb, invert, echo
Export the waveform back according to Fig.B
Rename the file extension back to its original (eg: mp4)
Optimize/stabilize the glitched video by rendering it in media encoder
An Easy 7-Step Protocol for Databending, Michael Betancourt
Databending with a hex editor is the simplest way to get dramatic results with databending. This protocol shows what to do to make small changes to the dataset throughout the file as a whole, and provides some suggestions for ways to alter the data beyond just replacing one value with another, random one.
(1) a HEXADECIMAL editing program, such as HexFiend on the MAC (2) a fault-tolerant video player such as VLC with the proper codecs installed so it
can recompress your file (3) a screen capture utility
Different programs will render the databent file differently, so be willing to try several. When the file can’t be recompressed, but will play, the screen capture program allows you to save those results as well. This is the most basic protocol to produce interesting results quickly:
(1) make a back up copy of the playable file you want to databend
(2) open the file in your hex editor
(3) open the find/replace dialogue
(4) use the “replace all” option to make a change such as D3 to E3; (depending on the file, this might take a minute or two)
(5) write down what the change was so you can keep track of what works (6) “save as” a file with a new name (7) test the file; don’t panic if it doesn’t work—just try again!
Your file should be saved with a new name so you can track the results. If it doesn't work, repeat Step 4 using a different value—this is why keeping notes on what you do is essential!
There are changes that will completely break most files, so if it doesn't work the first time, don't panic, just reopen the unglitched file and try again with a different value.
Note: The effects will vary depending on the dataset, level and kind of compression used (MPEG and H.264 produce very different results), and particulars of the changes made to the HEX file. (Replacing the value FF will break most MPEG-compressed files.)
Michael Betancourt | An Easy 7-Step Protocol for Databending 2
Altering data with this protocol can be done in several ways that won’t usually break the file, but will create strange effects and can make it difficult to open with some video players.
Remember that the dataset is in base-16, so the valid numbers are 0 – 9 plus A – F, giving the allowed numbers: 0 1 2 3 4 5 6 7 8 9 A B C D E F.
Depending on how much information you’re altering, here are some example approaches to handing the data:
TRANSPOSITION take a paired set of values D8 56 and change to 56 D8
SUBSITITUTION take a paired set of values D8 56 and change to D6 58
INVERSION take a paired set of values D8 56 and change to 8D 65
RETROGRADE take a paired set of values D8 56 and change to 65 8D
ASCENT/DESCENT take a value and move it down one notch F8 to E8
Your mileage may vary: This collection of engagements may not work in all cases, or with all compressions. Stacking multiple changes together in a file can produce a file that stops being readable. Save often and test between each iteration of data alteration.
Here are some basic value changes to get you started with databending a file compressed with H.264:
34 62 to 78 87 to 99 56 to
62 34 87 78 56 99
“melting effect” “disintegrates” ????? try it and find out!
Michael Betancourt | An Easy 7-Step Protocol for Databending 3 Here are some samples produced using databending.
The original File is on Left; Glitched file is on Right:
Above: Compressed as MPEG-1; global change F8 to E8
Above: Compressed as H.264 (MPEG-4); global change 34 62 to 62 34
Above: Compressed as H.264 (MPEG-4); global change 78 87 to 87 78
A Protocol for Datamoshing, Michael Betancourt
Datamoshing involves creating a specific type of glitch using MPEG video compression. This video compression codec uses two types of frames: I-Frames which contain the image data; and P-Frames which contain motion data. Datamoshing involves removing the image data from a video file so that all that remains is the motion data.
(1) the open source video editing program, Avidemux (2) a fault-tolerant video player such as VLC with the proper codecs installed so it
can recompress your file
The Avidemux software requires either PowerPC support on a MAC, or must be run using Windows (Avidemux is more stable on Windows). This is a basic protocol:
(1) open the file in Avdemux (2) it will detect MPEG and ask to index the file; say “ok” (3) do not remove the first I-Frame; it will create an unstable file (4) push the fast foward button to skip to the next I-Frame (5) select the inpoint with the “A” button (6) advance one frame (7) select the outpoint with the “B” button (8) cut the selected frame using command-X (or CTRL-X on Windows) (9) repeat steps 4 through 8 until you reach the end of the file
When you save the file, do not use the ‘fix’ or ‘repair’ option as it will undo all the work you have done to datamosh the file.
Generally there are 2 I-Frames per second (one ever 15 frames). Removing them will destroy any sync that the file has prior to the datamoshing, so you will need to correct this before you can use it in any Adobe software by recompressing it with a fault-tolernt program such as VLC player.
Note: You can append files only if they are the same size. If you save your datamoshed file, you can append it to itself to make a longer, more complex file.