Imagine you have a book that’s written in Korean. If you gave it to me and asked me to read it out loud, I wouldn’t be able to make sense out of it. If you gave it to a Korean person, however, they could read it perfectly fine.
The book itself hasn’t changed — just the person reading the book. And that person has a different set of skills (or instructions, if you will).
I feel like you want to but binary data into text. You may be interested in base64, or base32 for easier human processing.
Example of short low bitrate Opus audio in base64: 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
This is not unique to just audio files. What you’re seeing is a readable representation of binary (or raw) data. This will happen if you open an image, zip, or other non-text files.
Fun Fact: Microsoft Office’s .docx file is actually a zip file containing mostly plain text files in the XML format (XML is a markup language similar to HTML, and is used for describing data). You could theoretically unarchive a .docx file and modify the texts files by hand, and then rearchive the files back to .docx. Just be sure to back the file up before doing so. 😉
Data essentially are 1’s and 0’s (zeros) that are arranged in such a way that a program can interpret the data to be used by the program.
You’ve already seen the format that audio files get saved in. They are meant for music players, and as long as the codecs (a way to encode and decode data into a specific format for storage and playback) are supported, your music player will have no problem reading the contents of the file. Text editors will do their best to display plain text, and because text has a limited range of characters it can render, a lot of the data of raw files cannot be displayed. This is why if you opened an audio file in a text editor, and edited it, the file would be ruined. Same for images, zips, and exes.
If you want to see your binary data as text, you should use a hex editor. A hex editor will render each bit of data in hexadecimal format (0 through 16, where 11 - 16 are shown as the letters A - F). Hex editors also then attempt to show the raw data as text too, so you get to see the data in a safe way. They also allow you to change the values of the data, but unless you know what you’re doing, you risk damaging the file and making it unreadable by its application.
Its just so incredible to me that plaintext can actually represent a real piece of sound to be rendered and that can be rendered exactly the same by any device (speaker quality/processing power aside)
For the second time in a few days I’m compelled to recommend a series on digital audio and CDs done by Alec on his youtube channel Technology Connections. He explains quite well how digital audio works.
The text program obviously can’t process and play the audio, it will try to open the file as if it contains text.
But it’s not like opening the file destroys it. You can still just close the text program, and then open the file using a suitable media program instead.
Here’s the thing: Let’s say your text editor interprets the file as ASCII.
Several characters in the ASCII table aren’t printable. The first 32 characters in the table are control characters, so they don’t get displayed on screen as text you could copy and paste. So if you opened an audio file in a text editor as an ASCII file, copied the text, pasted it in another text field, then saved that file, any bytes that were between 0 and 32 decimal would be missing.
@[email protected] is right. I’ll interpret your question as “can I send this to someone and they will be able to play it” – then the answer is yes. You can take a binary file like mp4, pretend it’s text like I did above, and send it via chat or a lemmy post. The recipient will need to copy that text, enter it in, for instance, notepad++ and save the file on their disk. Renaming the file from the-text.txt to the-text.mp4 should be sufficient for any audio player to pick the file up and play it.
Not entirely true. There are bits in binary files that cannot be rendered correctly by text editors. In fact, if a text editor cannot read a bit, it might omit it or substitute it with a generic placeholder. Instead, what you would do is encode the file into a text format and the transmit it to somebody, who would then decode the text back into its original file format.
This is how email attachments and uploading/downloading files from the web work. Usually that text format is called base64. In email attachments, they go one step further and typically limit the encoded data to fixed length lines called chunks.
But yeah, sending raw binary data as text requires special formatting first. Opening it up in a text editor and copying and pasting is not enough.
But is sound reproducible this way?
Imagine you have a book that’s written in Korean. If you gave it to me and asked me to read it out loud, I wouldn’t be able to make sense out of it. If you gave it to a Korean person, however, they could read it perfectly fine.
The book itself hasn’t changed — just the person reading the book. And that person has a different set of skills (or instructions, if you will).
I feel like you want to but binary data into text. You may be interested in base64, or base32 for easier human processing.
Example of short low bitrate Opus audio in base64:
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
Is that what you are looking for?
Ya, I’m just amazed at how audio is able to be digitally represented
This is not unique to just audio files. What you’re seeing is a readable representation of binary (or raw) data. This will happen if you open an image, zip, or other non-text files.
Fun Fact: Microsoft Office’s .docx file is actually a zip file containing mostly plain text files in the XML format (XML is a markup language similar to HTML, and is used for describing data). You could theoretically unarchive a .docx file and modify the texts files by hand, and then rearchive the files back to .docx. Just be sure to back the file up before doing so. 😉
Data essentially are 1’s and 0’s (zeros) that are arranged in such a way that a program can interpret the data to be used by the program.
You’ve already seen the format that audio files get saved in. They are meant for music players, and as long as the codecs (a way to encode and decode data into a specific format for storage and playback) are supported, your music player will have no problem reading the contents of the file. Text editors will do their best to display plain text, and because text has a limited range of characters it can render, a lot of the data of raw files cannot be displayed. This is why if you opened an audio file in a text editor, and edited it, the file would be ruined. Same for images, zips, and exes.
If you want to see your binary data as text, you should use a hex editor. A hex editor will render each bit of data in hexadecimal format (0 through 16, where 11 - 16 are shown as the letters A - F). Hex editors also then attempt to show the raw data as text too, so you get to see the data in a safe way. They also allow you to change the values of the data, but unless you know what you’re doing, you risk damaging the file and making it unreadable by its application.
You’ve hit on half the magic!
You’re talking about how the information is encoded, and the other side is how it can be decoded and turned back into analog sounds.
There’s quite a bit at play here, but it’s pretty well documented out in the world. You might want to read about audio encoding, or codecs
Its just so incredible to me that plaintext can actually represent a real piece of sound to be rendered and that can be rendered exactly the same by any device (speaker quality/processing power aside)
For the second time in a few days I’m compelled to recommend a series on digital audio and CDs done by Alec on his youtube channel Technology Connections. He explains quite well how digital audio works.
What do you even mean by that?
The text program obviously can’t process and play the audio, it will try to open the file as if it contains text.
But it’s not like opening the file destroys it. You can still just close the text program, and then open the file using a suitable media program instead.
Here’s the thing: Let’s say your text editor interprets the file as ASCII.
Several characters in the ASCII table aren’t printable. The first 32 characters in the table are control characters, so they don’t get displayed on screen as text you could copy and paste. So if you opened an audio file in a text editor as an ASCII file, copied the text, pasted it in another text field, then saved that file, any bytes that were between 0 and 32 decimal would be missing.
I know.
I didn’t claim you could do that.
I said you could close the file and open it using something else. Not save and then open it using something else.
@[email protected] is right. I’ll interpret your question as “can I send this to someone and they will be able to play it” –
then the answer is yes. You can take a binary file like mp4, pretend it’s text like I did above, and send it via chat or a lemmy post. The recipient will need to copy that text, enter it in, for instance, notepad++ and save the file on their disk. Renaming the file from the-text.txt to the-text.mp4 should be sufficient for any audio player to pick the file up and play it.Edit: doesn’t actually work
Not entirely true. There are bits in binary files that cannot be rendered correctly by text editors. In fact, if a text editor cannot read a bit, it might omit it or substitute it with a generic placeholder. Instead, what you would do is encode the file into a text format and the transmit it to somebody, who would then decode the text back into its original file format.
This is how email attachments and uploading/downloading files from the web work. Usually that text format is called base64. In email attachments, they go one step further and typically limit the encoded data to fixed length lines called chunks.
But yeah, sending raw binary data as text requires special formatting first. Opening it up in a text editor and copying and pasting is not enough.