This tool allows you to upload (or drag and drop) an audio, text or image file onto this page and see how it is interpreted by three different custom apps: an audio player, a text editor and an image viewer. Unlike most apps which will display an error message when trying to open a file type which it wasn't designed to open, the apps below will attempt to decode the file regardless. {{ expandText }}
This is an experimental playground, it may be buggy. If it freezes or otherwise seems slow try uploading a smaller file. Only text files (.txt), audio files (.mp3, .wav, etc.) and image files (.jpg, .png, .gif, etc) are supported.
There is a drop down menu (top right of the EDITOR) which lets you switch between a traditional "text editor" (ASCII/UTF-8) where each byte in the raw data of the uploaded file is interpreted as it's corresponding ASCII or Unicode character. This is essentially the same thing that happens when you open an image or other media file in your own text editor. You can "databend" the file by editing the ASCII text as you would in your own text editor and the AUDIO PLAYER and IMAGE VIEWER will update automatically.
When you switch the drop down menu to either "hex", "decimal" or "binary" the TEXT EDITOR becomes a BYTE EDITOR. You can navigate through the file using the "◀◀" and "▶▶" buttons, and when in "hex" mode you can also edit the bytes and the AUDIO PLAYER and IMAGE VIEWER will automatically update (note: hex, decimal and binary are all just different ways of representing the same value, see the machine code appendix to gain a better understanding).
When uploading an audio file, this player behaves like a normal audio player (it just plays the song when you press play and stops when you press stop). If you upload a text file the AUDIO PLAYER will create a sound buffer from the raw data in that text file. If you upload an image file, the AUDIO PLAYER gives you two options for how to listen to the image. The default is that it creates a sound buffer from the decoded image. This means rather than converting the raw bytes (of a compressed JPG file for example) into a sound buffer, it first decodes the image back into it's corresponding pixel values and then interprets those values as samples in an audio buffer. The other option is to convert the raw data (of a compressed image file) directly into an audio buffer.
Similar to the AUDIO PLAYER, this behaves as expected when you upload an image file (it simply displays it), but when you upload a text file it will create a pixel array (r,g,b,r,g,b,etc) from the ASCII bytes in the text file. If you upload an audio file, you get two options similar to what you would get in the AUDIO PLAYER. The default is to view the decoded audio file, this means the compressed audio file (like an .mp3 for example) is decoded into it's audio buffer and from there each sample in the buffer is interpreted as a pixel. The other option is to convert the raw data (of the compressed audio file) directly into an array of pixels.
back to index