This is your periodic reminder that 10 years ago an audiophile forum started debating which versions of memcpy had the highest sound quality.
And that C++ new sounds better than malloc.
This is your periodic reminder that 10 years ago an audiophile forum started debating which versions of memcpy had the highest sound quality. And that C++ new sounds better than malloc. 223 comments
12
@brendan @dan I assume you know https://stackoverflow.com/a/1732454/2615367 but if not, enjoy! @dan this is truly one of the most perfect exhibitions of human nature that ever happened @dan oh god, lol, lmao Did you see the audiophile SSD that made the rounds a couple years ago? They said it sounded best with the OS loaded onto it and music on a different drive entirely. @ieure Don't miss the world of audiophile-grade ethernet switches! https://jcat.eu/product/m12-switch-gold/ Oh yeah, but it's at least possible to mumble something about conductivity for those. With these it becomes even more obvious that it's just a moron tax. @dan switched from std::memcpy to Monster’s $60 gold-plated one and I can definitely hear a difference @dan from a reply later in that thread: “I have found the best sound is an infinite goto loop with it throwing an exception after it reads beyond the end of the buffer, I set exceptions off so it doesn't crash the program. “ I can’t stop laughing 😀😀😀 @dan @donmelton @dan TIL audiophilia = mysticism. @RustedComputing @dan every hobby with a technical aspect has a "woo-woo" subgroup like this. Audiophiles mostly aren't like that, but boy are their woo subgroups noisy in comparison to a lot of other hobbies. @dan More and more, I'm thinking the whole audiophile community is a trolling competition that got way out of hand. @dan It's a CD demagnatizer. It removes magnetism from aluminum CDs. @ricci @FritzAdalis @dan This reminds me of when I was taking music production in the early 90s and people claimed that vinyl was better than CDs because vinyl captured the frequencies over 100kHz which gives music its flavour and colour. @gwozniak @FritzAdalis @dan The 'SSD for music' linked elsewhere in this thread actually claims that it makes your bits sound more like vinyl 🤦♂️ @dan it's the undefined behavior that provides a subtle frisson. audio code in Rust just sounds more boring, this is all provable @sophieschmieg @regehr @dan Anything* can happen. *It’s not all equally likely, and you probably won’t like it, but it could happen. https://raphlinus.github.io/programming/rust/2018/08/17/undefined-behavior.html @sophieschmieg @regehr @dan Apologies for the lack of alt text, I don’t seem to have the option to edit it in (maybe because I used the edit function to add the picture?) The picture depicts a bugfuck-bonkers scene with orange sky, flying unicorn and disembodied mouths and eyes. It’s meant to convey the kinds of things that could happen if you allow UB. @dan Oh, there’s no end to them. Oxygen-free copper *USB* cables… Noughtier noughts, oneier ones! Analog numbers! I guess we should be glad their gullibiity doesn’t translate into anything more dangerous than listening to the sound of empty wallets. @dan Yet another example of how extremism is indistinguishable from its parody. Thanks to @jcfischer for the pointer; this gave me a good chuckle to start my Sunday morning. 🙂 @xahteiwi @dan I had these kinds of discussions around 25 years ago when I worked in an IT company, where the boss also was into HiEnd and helped design and produce speakers. The gear he had in his office was astounding. @xahteiwi @dan also at that time the best sounding CD players were cheap CD-ROMs from PCs. Simple reason: They transferred data in 8bits, and fed them to a DAC with an external clock, while audio CDs fed data serial to DAC and clock was derived from bit stream. That led to jitter, while the el-cheapo CD-ROMs had stable clock :) @ramin_hal9001 @xahteiwi @dan @jcfischer Ah, but laser vinyl players. Need I say more? @ramin_hal9001 @xahteiwi @dan @jcfischer Well... there's no needle to scratch and degrade the precious record. Can that offset the digitization? Can we have analog laser-based readers? So many important questions for audiophiles. @ramin_hal9001
I can sell you a CD player that uses a pickup instead of a laser. @xahteiwi @dan @jcfischer @dan In the scale of stultifyingly pretentious bullshittery, audiophiles are just above cryptobros and just below wine bores. @dan what a fascinating thread. Thank you for sharing. I am still trying to grasp the confusion of concepts where one build was too “bass heavy”. @dan Don't forget, the HDD brand you use to store your music can also affect the SQ. 🤦♂️ https://www.enjoythemusic.com/hificritic/vol5_no3/listening_to_storage.htm @dan This is just the high-budget version of that classic thread with the bodybuilders arguing about the number of days in a week. @dan I honestly can't work out whether this was an elaborate troll. @dan Should we tell them about acoustic cryptanalysis? At least they could come up with more plausible nonsense. @dan Poe's Law means I have no idea if the original post is serious or not. I'm fairly sure that at least some of the replies were taking the piss, though. @gilhova @dan I'll see your zip-file argument (which I've also had re. audio & graphics) and raise you the professor that didn't want students storing files on Iomega Zip drives for the "same" (i.e. name-collision with "zip" and zip is bad) reason. :flan_facepalm: talk of lossy-vs-non-lossy never sank in. @dan hilarious, but it also reminded me of a glibc memcpy (I think) bug that broke Linux audio for ages (iirc, it had something to do with the direction of copying) @dan that's it, I'm burning my headphone stash, the world does not deserve audio gear @dan and in 2023 you can part with $1200 EU for the "best sounding" ethernet cable 🤣 https://jcat.eu/product/signature-lan-cable/ @dan @dan the ONLY way I could see this making any difference is if your use of memcpy were on a device with just marginal ability to play audio in the first place, producing jitter. Even in that extreme edge case IDK if it would matter 😂 @dan 😭 I miss when the worst thing I knew audiophiles believed was vinyl >> PCM 44kHz > mp3 because there was at least some sort of theoretical argument for loss of precision that some small subset of super-heaters (à la super-tasters of broccoli) that could hear the difference. @dan @dan In grad school (late 90s) my desktop machine was a Dell PC with some sort of Soundblaster card and a CD burner. If I played music through the sound card, it was picking up all the internal electrical noise of the machine. Scroll your web browser and get a ton of high frequency noise. Luckily, the CD burner had its own headphone jack, and that sound output was clean. @dan Honestly, while reading about ridiculous audiophile junk is endlessly entertaining, there is a little part at the back of my mind that knows, for sure, that there is some area of my life where I don't know nearly as much as i think I do, and am completely susceptible to this kind of stuff. And of course I don't know what area(s) they are. @dan #LittleKnownFact Be sure to keep your digital cables straight. The 0s can get around the corners more smoothly because they're round but the 1s can sometimes get stuck. Audiophiles are funny, but this music fan conspiracy stuff filters down into a lot of regular people's lives, they're just the extreme version. So many clueless people talking about how record labels and producers work, how you can't hear music the way it was intended because manufacturers don't think you can handle the truth... It's pretty much the equivalent of your relatives who don't believe Qanon entirely or that lizard people from space rule the Earth, but do believe Fox News. Audiophile/music fan conspiracies are just like any other conspiracies; there's a hidden truth that dark forces are trying to keep from you. Once you are exposed to that truth you will be enlightened and better than. Lots of snake oil and golden ears in the audiophile scene .. There are some reasonable folk out there also, many of them hanging out at places like https://www.audiosciencereview.com @dan That’s just basic science! Also it’s why I only use one-way audio cables, so the ions can flow more freely! 🙄 @dan decades before that, I recall watching a Usenet audiophile group get into a days-long debate over whether CDs read from the center to the outer edge, or from the outer edge to the center, complete with lots of theories and suggestions for scientific experiments to prove one hypothesis or the other. Instead of just looking the answer up in the technical documentation for the CD format. @dan That's quite an argument to dig through... Though there is some theory suggesting that audio has special performance considerations, which *might* give this argument some credence. On the otherhand I don't trust internet arguments! @dan Modern C++ and Rust are noisy and bad. RAII = resource allocation is interference Of course m68k assembly has the sound that's the most uh... bright? Warm? Smooth? Iridescent? Homeopathic? Tanniny? @dan "playing wav files from a ramdisk gave best sound" something similar to this (e.g. playing AIFFs from RAM Disk) may have been true on Commodore Amigas, in the 1980s, back when the CPU was 7MHz and disk i/o could theoretically cause an audio drop out. Given that, IMHO Windows has always been a downgrade from Amiga Workbench, it wouldn't surprise me if maybe some system set ups are less optimal, but if that alternative memcpy exists, it can be tested, empirically, not just subjectively. @dan I have never before seen a mailing list where the reply list itself is a message from god @dan reminds me of that mp3 player that has different implementation with bias to use eax instead of ebx and vice-versa, because person argues the cpu registers have a different feel/quality :D @dan Different instruction mixes can cause the CPU to use different amounts of power and so make the coil whine sound different. But I don't think that just a different memcpy would be enough to cause an audible difference. Java vs C for an application using a lot of CPU (and generating a ton of garbage) *might* be audible, especially if garbage collection causes frequencies to ramp up on other CPU cores. The exact claim is that replacing memcpy in a playback loop with an optimized version removes some audiblea artifact ("edge"). This is within the realm of the plausible. The code shown contains not only a memcpy, but several Win32 event waits in the middle of the loop, which are suspicious. As a general remark, if you want to be streaming samples without any skips, you have to just shove bits into some pipe/device, without synchronizing with other threads. @dan And then people run around lumping C/C++ together like one language when C++ CLEARLY SOUNDS BETTER! @dan@discuss.systems Now I'm wondering if anyone debated Linux vs. BSD, or CISC vs. RISC, or x86 vs. aarch64, or STP vs. USTP, or ext4 vs. btrfs... @dan to be fair, a decade ago we weren't neccesarily oozing clock cycles with Audio, and some of us were getting pretty bad latency/clicks and pops. It did actually matter how things were allicated and used, and Malloc actually had several successors that did a better job by default. I've personally run into these kinds of horrendous system level issues for decades, so I can relate. That doesn't mean it's not a ridiculous convo, just that I can see why it exists 😂 @dan Heh, the idea that different memcpy implementations would result in different bits is silly. However the idea that different implementations would have different performance, clock speeds, CPU utilization, power utiliziation etc isn't. I've heard fans, coil whine, power differences, and interference definitely impact near by speakers. @dan given that with sufficiently bad board design (interference from the power ciruitry into the audio circuitry) you can hear code behavior such as CPU wakeups, i would be curious to see someone take the documented situation, discard any and all explanations given in that forum (which are trash), and investigate if there's a measurable difference different memcpy implementations might activate SIMD units in the CPU or not, which may be measurable. new vs. malloc is definitely nonsense though @dan The effect might be real. The CPU might cause electromagnetic interference that is picked up by one of the analog components. Executing something different will then result in a different audible effect, which might sound better. The real fix of course is not changing the software but the hardware. |
@dan this is breaking my brain worse than when I tried to parse HTML with regular expressions.