this post was submitted on 20 Jul 2024
54 points (89.7% liked)

Ask Lemmy

27222 readers
2360 users here now

A Fediverse community for open-ended, thought provoking questions


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [email protected] or [email protected]. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email [email protected]. For other questions check our partnered communities list, or use the search function.


6) No US Politics.
Please don't post about current US Politics. If you need to do this, try [email protected] or [email protected]


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] cheese_greater 1 points 5 months ago (4 children)

But is sound reproducible this way?

[–] Rob 11 points 5 months ago

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).

[–] [email protected] 7 points 5 months ago* (last edited 5 months ago) (1 children)

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?

[–] cheese_greater 5 points 5 months ago (3 children)

Ya, I'm just amazed at how audio is able to be digitally represented

[–] dohpaz42 7 points 5 months ago* (last edited 5 months ago)

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.

[–] [email protected] 2 points 5 months ago (1 children)

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

[–] cheese_greater 3 points 5 months ago* (last edited 5 months ago)

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)

[–] [email protected] 2 points 5 months ago

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.

[–] [email protected] 2 points 5 months ago* (last edited 5 months ago) (1 children)

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.

[–] [email protected] 0 points 5 months ago (1 children)

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] 1 points 5 months ago* (last edited 5 months ago)

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] 2 points 5 months ago* (last edited 5 months ago) (1 children)

@[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

[–] dohpaz42 2 points 5 months ago

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.