We updated! Go to /meta/ to report any bugs.
What a nice board!
READ THE RULES >>6
Neon Genesis Evangelion is utter garbage >>>/a/
Remember when video games used to have better sound? Today we can have games as detailed as real life, but sound-wise, ridiculously flat. You can thank Creative's patent jewing and Microsoft's butchering of DirectSound for getting audio technology in games stuck in the early 00's and forcing you to use an external solution such as OpenAL Soft or ALchemy to restore hardware audio features in older games if you are using a newer OS.
It would only be years later until things got back on track. Valve updated CSGO's audio engine and introduced normalfags to HRTF. Modders are adding HRTF and enviromental audio to games, both new and old. Webm related, this makes paid software such as (((Dolby Atmos))) sound awful in comparison. Give it a few years, and we might surpass A3D.
Here's an audio mod for Autismcraft. It's from an older version that has been abandoned but it's been forked by other modders.
I think the real shame in audio is that so many devs fell for the ambient meme for soundtracks. Instead of the unique soundtracks we got in the past, a lot of AAA games seem to not want to ruin the "immersion" and basically not include a soundtrack at all (see botw). Also, what the fuck is wrong with audiophiles?
Fun anecdote, I may presently or have in the past worked for a game company as an audio engineer/developer. There are many questionable things I could say about the state of audio, but it's a small company so I wouldn't expect sound expertise. However, they decided to use unreal engine with wwise, or as I like to call it, un/wwise supposedly, industry standard tools. Let me tell you wwise is fucking garbage and it's pretty clear that it was either never touched by an actual audio engineer, or the suits higher up lobotomized the interface to the point that it is indistinguishable from an interface that was never touched by an audio engineer. See pic related if you know anything about filters. Anyways, wwise is a steaming pile of dogshit that is buggy as fuck, can't do anything of value, and has a bloated mess of an interface. If I wanted to do stereo EQ, the native effects can't do it, I'd have to write my own EQ to apply to each channel. Sometimes I would apply some filters to a sound, but when I remove them, The interface shows that the operation is undone, but the audio would still have the effect applied. This is related to a bug where newly imported sound files will not be able to playback unless the entire project is closed and reopened. Dumb studio dev's fall for this shit because flashy modern flat UI ooga booga bix nood mothafugga unga bunga bo munga. I honestly don't know what to say other than shit's fucked. This is a warning: Do not try to go in to games. Do not try to go in to audio.
We've been going backwards since 2005 and you can thank Creative being the biggest jews imaginable, Microsoft giving them the finger and console focus for that.
After 2007 the rest is history, I'm just glad things are getting better after that god awful decade of cancer, shame we have to put up with ideologue faggotry now.
>Also, what the fuck is wrong with audiophiles?
Fancy term for turbo autists. Imagine buying a vinyl record, a technically inferior format that needs autistic levels of mastering to not sound like shit, only in order to enjoy what sounds like a glorified cassette but with clicks... AND still complain about the clicks.
Also they now have a way to visualize their audio so you can't troll them with placebo MP3s anymore.
Never heard of wwise before so it's probably not as "standard" as you/they think. What would you recommend instead?
What happened with Creative?
>Never heard of wwise before so it's probably not as "standard" as you/they think. What would you recommend instead?
I worked in audio software before this, and had no intention of going into games, just got whatever work I could find. As such, I don't really know, FMOD is the other big name, it certainly looks acceptable by comparison, though I cannot recommend something which I don't use. For all I know it's shit too, like Unreal, Unity, and 90% of all software released in the past two decades.
>What happened with Creative
Their legal team of monkeys sued everything in sight to hold a monopoly and when Microsoft pulled the plug on DirectSound with Vista, EAX which was essentially the only decent 3D Audio option died along with their shitty sound cards.
It's extremely popular, you'll find wwise in a huge number of games. It's also the reason people will incorrectly blame game crashes on audio drivers. Due to how they ship the library, it often ends up one of very few things in a game that has a lot of symbols, so when the game crashes and players poke at logs and minidumps in hopes of miraculously divining what went wrong they see it crashing relative to a wwise symbol, google the mystical phrases, and start jumping to conclusions. They don't realize that the symbol names are largely meaningless in non-debug builds or what a large offset from a symbol implies and they start talking shit about how the person reporting the crash should have bought a better motherboard (fucking REALTEK REEEEE) or needs to reinstall drivers. It's painful to watch. If you want to see that in action, search for this:
Almost none of those crashes will actually have anything to do with wwise.
Ah yes, time to enjoy some wonderful gameplay audio.
>Almost none of those crashes will actually have anything to do with wwise.
I was reading your post and was about to say this but you did it for me. Audio drivers are an especially sore spot for me. I've had multiple sound cards bluescreen on me and if don't get me started on linux audio which is astonishing considering the driver has to do literally nothing but transmit a buffer of memory to the device. For some reason I have found that the oldest driver release is almost always the most stable. I suspect these companies just hire pajeets to add fancy new gui's and wrap the code base in OOP bloat so that everyone can pretend they're doing "real software development." But yeah everythings fucking fucked.
This is actually really impressive, holy shit.
What the fuck is that shit
look like the tentacles wanting some raepe.
Aside from the audio tech I also think a lot of games don't even bother with detailed environmental sounds, the last game that really surpsied me was the last Alien game.
What's the name of the song in the 1st webm?
Shit, that's really impressive. Sometimes it feels like I'm so used to games having shit spatial audio that I forget what I'm missing.
Here's vid related for your collection.
Юрий Алмазов - Воркутинский снег
Yuri Almazow - Vorkuta Snow
May His passing cleanse the world
Spek was only released in 2010 though, and gained popularity much much later.
That sucks... Hopefully other technologies are developed that are not encumbered by patents.
Yeah I'd like to understand why linux audio is considered bad. Personally I haven't encountered issues with audio on my linux machine and even pulseaudio runs smoothly, haven't tried JACK though heh
>Hopefully other technologies are developed that are not encumbered by patents.
Already happening with Volvo of all companies, Soyny marketed the hell out of it for the PS5 and then made it only available on their shitty Headphones and it sucks dick as it not properly implemented.
Just hot water like their SDD faggotry, as always.
This has bothered me so much in the last few years - what happened to good audio design? We used to get improvements, both artistic innovations and hardware upgrades all the time, but I honestly cannot remember the last time games audio sounded really good.
We get really good soundtracks and general atmospheric design, but that's not really the same thing as hearing really a really realistic IRL mountain echo like in the Alps. Or something like that nightmarish screeching some birbs like to do just before the dawn, that, if you're camping, sounds like satan is testing his surround speakers.
Fucking Skyrim, remember fus-ro--dahing in the mountains and not hearing a proper fucking echo. Fuck that shit.
Thanks for posting. This explains quite a lot. I started making tracker music with amiga and c64, went through midi era with my sanity somewhat intact, and now I mostly fuck around with small minimalistic projects with modern tools. Never worked with any game developers, so I probably dodged a bullet there.
As an amateur coder I've always been interested in audio tech on the software side, but lost interest at some point. It's nice to hear that giving audio engineering in game development a pass, was a good call - unknowingly but still.
>what happened to good audio design?
Corporate wanted the dev-time to shift over to something that they could plaster the latest nigger music they bought the rights to over for a trailer.
also audio programming is high tier autist work,AAA studios never made the proper effort to keep the relevant people on board,since they could just rely on turnover for underpaid graduates hooked on "passion"
>We get really good soundtracks and general atmospheric design, but that's not really the same thing as hearing really a really realistic IRL mountain echo like in the Alps.
<AAA corporate kikes finally realize they can't punch any more shekels out of the graphics corpse and look for other ways to fulfill their societal obligations
<they discover HRTF and find out some fags with taste are upset about Creative jewing it to death
<they experiment a bit with it and get a call from Dr. Goldberg at Langley, the CIA and NSA have shown interest in their work
<corporate kike noses stand erect as they invite several undercover software engineering consultants in drag as part of a diversity cover scheme
<development begins, some autists and former Aureal employees are headhunted to improve the product quality for once
<development finishes and the technology is incorporated into and advertised in a major game, the game itself being not entirely shit in order to lure in naive gen Z anons and select normalfags with ASMR fetishes
<Crapple advertises new 3D airpods, M$ develops a software framework for HRTF standardization and so does the Linux community, normalfags are starting to buy the hype
<Mainstream music kikes abandon increased noise and start incorporating spatial audio into the latest Rap songs with varying levels of success
<a scene erupts among soundclowns and 2hu doujin artists converting old 2D songs to 3D, Dolby tries to sue Khronos and systemd over alleged HRTF copyright infringement only to lose the suit with help from Hedgefunds, Poettering adds a Dolby module to systemd
<Music kikes start publishing CDs designed not to play on non-HRTF certified devices, Android adds HRTF checks as a form of DRM
<old diversity council approved songs are "converted" to HRTF and sold at markup, normalfag news blogs describe plain ol' stereo including old mainstream shit as problematic and not fit for current times
<CIAniggers start to make use of HRTF datasets obtained via botnet and deploy the first batch of spatial subliminal messaging frameworks to advertisers
<Soyny releases a TV with big speakers connected to motors for headphone-free 3D audio, this diverse and independent device manages to keep them barely afloat after fags started buying PS5s for CFWing due its advanced HRTF debug mixer
<doggos are programmed via spatial high frequency noises in TV advertising to prefer certain foods, this is then extended to humans as well
<HTRF headphones/earbuds are becoming mandatory in certain congested areas such as subways to help enforce Corona safety distances, some high end phones even using them as keys for fingerprint unlocks based on the user's skull shape
<newly sold phones and Inthell/AMD motherboards no longer permit the complete deactivation of audio output/devices, unplugged speakers are logged to the user's social score
<Ballot harvesting, necromancy etc. are no longer necessary to win an Election, truly a stunning victory for Democracy
HRTF is cool and all, but the cat's already out of the bag because there's already HRTF injectors and OpenAL-Soft (although yeah, more games should support it out of the box). The real cool shit is stuff like ambisonics, baked or realtime raytraced audio reflections, physically motivated audio, and so on, but no one seems to use that shit even when the libraries are free.
Anyhow, here's some relevant software and libraries for this shit
https://openal-soft.org/ - Adds HRTF or ambisonics support (you probably won't use the latter) to OpenAL games, needs some config file tweaking
https://github.com/kcat/dsoal - Same dev as above, translates DirectSound calls to OpenAL and fakes EAX
https://github.com/kosumosu/x3daudio1_7_hrtf - HRTF support for Xaudio2 and X3DAudio games
https://valvesoftware.github.io/steam-audio/ - Has a lot of cool shit, but it's proprietary
https://gpuopen.com/true-audio-next/ - GPU-accelerated audio shit, used in Steam Audio
https://phyacode.wordpress.com/ - I'm just going to link https://www.youtube.com/watch?v=hCA4EokrvP0 , it explains this shit better than I can.
More footage coming up.
You know what fucking bums me about audio design recently? Having it be so fucking loud with a lot of reverb on it so it can feel "EPIC" and "BADASS" and losing out on the gameplay benefits on return.
I gave Doom 2016 a try recently, and something that I really, really fucking hated about was the possessed zombies, they do nothing but scream and overpower every other sound in the game. But hey killing someone with a glory kill sounds like a dying jet engine so it's SO COOL BRAH, right?
Anon, how dare you besmirch the name of Doom 2016, the best game to come out, bested only by its long awaited and highly acclaimed sequel, Doom Eternal (2020, available for PC, PS4, XBOXSX and Nintendo Switch)?!
That game was a masterpiece, it took 12 years to make!
The composer, Mick Gordon, is beyond us!
HE USED CHAINSAWS INSTEAD OF GUITARS TO SOUND LESS METAL!
THAT'S SO FUCKING METAL DUDE WOAAAAAAAH!!!!
FUCK JESPER KYD, TOMMY TALARICO, MEGANEKO, FRANK KLEPACKI AND MICHIEL VAN DEN BOS, THOSE HACKS CAN'T EVEN COMPRARE TO THE MAGNITUGE, NAY, THE INORMITY OF MICK GORDON HE'S SO FUCKING BRUTAL DUDE!!!!!!!!
>tfw some fag were adding random noise to flac and uploading to what.cd for years
>no one noticed
>only admitted doing it after the site got vanned
That's not really hard considering the size of the thing. Tons of stuff on red has 2 leeches or so.
>A man said to me one of the best hi fi upgrades was a good ear syringe cleaning.
truer words have never been spoken. I had an ear syringe cleaning like 2 years ago and it was insane how GOOD I could hear afterwards. I'd recommend doing it once a year at least.
>comparing the audio quality of lossless audio formats
Sounds like a good way to get an ear infection
That was so fucking retarded I didn't even finish reading the OP.
Loudness wars, in MY vidya?!
MAME has been able to emulate the QSound chip at a low level for years. It's disabled by default due to being very CPU intensive. You need to modify qsound.h in the source code and compile it yourself to enable LLE. It's not meant for headphones, use aligned speakers.
Here's an article on how the QSound DSP works: https://archive.is/Owtaa
This sounds like what parallax scrolling looks like. Is that how its always supposed to sound/feel to my ears like?
Why the fuck isn't this standard in all games since the late 90s?
THIS ISN'T HOW SOUND WORKS IN REAL LIFE YOU RETAAAAAAAAAAAAAAAAAARDS! POSITIONAL AUDIO IS NOWHERE NEAR THIS ACCURATE IN REAL LIFE. WHEN SOMEONE WALKS TO YOUR LEFT, YOU CAN HEAR HIM WITH BOTH YOUR EARS AT ROUGHLY THE SAME VOLUME. IN THESE RETARDED """"""""""REALISTIC"""""""""""" DEMOS YOUR LEFT EAR IS AT LIKE 95% VOLUME AND YOUR RIGHT AT 5%
>Implying realism is the goal with a game like thief and not knowing where the guards are at all times.
well yes, but then...
>irl you have much higher peripheral vision
>irl you can feel the vibrations of the ground when someone or something is moving nearby
>irl you can see things much further without them looking like a bunch of jagged jumbled squares
these among a bunch of other handicaps that don't exist irl but exist in vidya due to the technical limitations of the medium. "real" binaural audio isn't much meant to be realistic as it is meant to try and aid the player deal with these artificial handicaps with the added benefit of sounding super cool at the same time.
It's almost like they're using volume as a stand in for being unable to change the actual fucking source position you gurgling cum flutist.
It's a game you dumb fuck, you need to know were the enemies are by sound.
It's obvious, but it's so exaggerated my brain melts and goes out of one ear (the one being assaulted by sound).
I agree. That shit is so much more nauseating and headache inducing compared to all the other stuff in games >>39469
I never thought about it too much so I didn't realize they probably did it for gameplay reasons and possibly to get around sound limitations >>39465 >>39471
Is there any game with proper echo effects?
Funny how for a bunch of audiophile turboautists, they make so many completely incorrect statements that I'd expect from a tech illiterate nigger in just the first page of that forum thread.
I'm curious, how computationally expensive is spacialized audio in video games? Is it something that can be pushed on to the GPU (If I could take a guess probably yes)?
I've never really noticed sound in games, but looking at the videos in this thread, its immediately apparent how shit it is. It understandable for a small development entity but for the large AAA corps with hundreds of millions of dollars? No fucking excuses.
Aside from my complaint I thought of something interesting for audio.
>Record sounds in environmentally-neutral area (Anechoic chamber)
>Sounds are "raw" this way instead of contaminated by the environment they're recorded in.
>Throw these raw sound files into the game and compute the environments effect on them in real time as you're playing.
I'm guessing this is how its done, or it not, a better way to do it? Anechoic chambers aren't exactly cheap.
Pretty broad topic. I will say right off the bat that putting a basic eq/lowpass/highpass filter on every audio stream is so computationally inexpensive that doing that on GPU would be overkill. I do believe reverb can be done in GPU, but I'm not sure how suitable it would be for realtime/games. Either way, it's not completely necessary. You'd have trouble processing reverb individually for each sound, but you can very easily mix groups of sounds down to one bus and apply reverb to the entire bus. Just organize your buses based on where the sounds are located in physical space, and you're pretty close to having a working spalatalization system. The problem of making it sound good is more artistic than technical. though lack of technical knowledge/ability is part of why these fuckers can't make good audio systems for games.
As far as anechoic chambers go, that's probably not a terrible idea, but almost certainly unnecessary. If you're recording foley/voices in a studio with reasonable sound proofing, almost every in-game environment will surely only require adding more reverb on top. The bit of BG room sound will be there, but the differences will likely be negligible. That being said, I have seen sound designers bake reverb directly into the raw sound. Sometimes that works, sometimes it sucks.
>they make so many completely incorrect statements that I'd expect from a tech illiterate nigger in just the first page of that forum thread.
Like the retard talking about 'high quality' USB sticks and PSU affecting audio quality or how copying a WAV file degrades sound quality.
Are these audiophiles scam artists who own businesses that sell premium ultra quality gold plated USB cables and resonating to put in front of your speakers? That sounds like a troll.
As far as I understand it the problem isn't applying the effects but finding out what effects to apply by computing how a sound reaches the player and doing that in realtime. The demos I've seen do it with pathtracing and giving every object some info on what frequency they reflect or swallow how much and what goes through, granted you likely won't need the same resolution as graphical ray-tracing does but it'll add up eventually.
Bad PSUs can is the primary source of noise related issues in both output and inputs though?
You do know that corroded / very low quality USB cables can cause jitter from micro disconnections right? though would only affect you if you used an external DAC (and then not in all circumstance provided you don't care too much about higher audio latency).
I bet you don't even put stones on your cables for better audio quality.
>Bad PSUs can is the primary source of noise related issues in both output and inputs though?
No, badly isolated onboard audio circuits are.
>You do know that corroded / very low quality USB cables can cause jitter from micro disconnections right?
If your USB device loses connection its fucking gone and has to fully reconnect, there is no such thing as "micro disconnections". If you have a connection, your cable works. If you dont or it keeps disconnecting, its fucking broken. It is however possible that with a long enough cable or a corroded one possibly if it could even maintain a stable connection the bandwidth could drop so low as to cause issues, but that would result in playback stalling and not some retarded imagined audiophile phenomenon like tone shifts or loss of bass or whatever audiophile meme is popular that day. This ties into the main reason for audiophile related lulz; they simply cannot understand the difference between analog and digital be it connections, storage mediums, playback hardware, codecs or even containers.
Eternal reminder that AMP/DACs are eternally superior to the meme that is "sound cards". Sound cards are the audio equivalent to gaming headsets. Trash and overpriced.
A ~$90 AMP/DAC completely obliterates >$300 "sound cards".
I bet your don't even cum in your audio ports for better conductivity.
>No, badly isolated onboard audio circuits are.
Not really no, it's only part of the issue shileding is a multi layer, problem, if your PSU has improper shielding it'll cause issue with even normally shielded audio circuits, if it has improper grounding it'll also cause issue in some cases
>If your USB device loses connection its fucking gone and has to fully reconnect, there is no such thing as "micro disconnections"
>the bandwidth could drop so low as to cause issues, but that would result in playback stalling and not some retarded imagined audiophile phenomenon like tone shifts or loss of bass or whatever audiophile meme is popular that day
Micro disconnection might not be the exact term but the idea is that each packet that contains a sample doesn't take the exact same time to go from the system to the DAC, in most modern DACs that use USB and can reclock the signal (as in make it so that the DAC chip receives each sample with a fixed delay instead of however fast they arrive) but if you use older ones or ones that can't reclock in some extreme cases you can introduce enough of it to cause variations you can actually hear, the most extreme case you're most likely familiar with is VOIP "robot voice".
Consumer grade SPDIF / optical don't have anything that can counteract jitter, however they're not quite as prone to the whim of garbage USB support on low end chipsets so usually if you're not doing something exceptionally retarded (or your optical out is exceptionally atrocious) there's no audible issues
Where the audiophile bullshit come in is when they want to reclock data transfer that aren't ones going to the DAC, you don't need to reclock SATA / Ethernet etc, those have usually have buffer that far exceeds any sort of jitter you're gonna encounter
Although I'll grant you that cables are usually not the cause of it and it's more likely that you have just shit hardware or a software related issue but it's not impossible to have it come from chink cables.
Pretty much, a Creative Soundblaster G6 is already far more than most people need and it's like 99bucks
>Bad PSUs can is the primary source of noise related issues in both output and inputs though?
Come on nigger we're talking about people who think they can hear the difference between identically copied filed or two loseless wrappers. Yeah a bad PSU can also cause coil whine or mobo's fan could resonate in your case but that isn't what they're talking about when it's shit like "oh wow I spent $500 on this power supply I can really hear the difference!" delusions.
Either of you got a decent rec for an amp?
For gayming / general use
Creative SoundBlasterX G6.
Although if you need speakers with your headphones you'll have to look elsewhere.
I just use a Fiio E10K
My Xonar DSX is serving me well, not sure you can even find many other soundcards anymore, DAC/AMP combos are after all more popular now. That said unless you really have some trash audiochip the biggest advantage from dedicaded HW is probably just being able to run high impedance stuff at all.
I listen to my headphones with my Aune X1S (the 10th anniversary one), but I regret getting the AKG K712 Pro's for it. I should have saved more money and bought the Sennheiser HD 600's with it.
>That said unless you really have some trash audiochip the biggest advantage from dedicaded HW is probably just being able to run high impedance stuff at all.
I hope that there will be mobos that can handle high-impedance headphones in the near future. DAC/AMP's are way too expensive (for the average guy that just wants to fucking listen to music in his good headphones).
>I hope that there will be mobos that can handle high-impedance headphones in the near future. DAC/AMP's are way too expensive
Will most likely never happen, doesn't make sense financially and will always be inferior technically.
>(for the average guy that just wants to fucking listen to music in his good headphones)
It depends on your definition of good headphones but really doubt someone who can spend that much on headphones will mind an extra 50-100 bucks on a DAC, it's not like there's many (if any even) worthwhile headphones that need an amp below 300 bucks.
>I hope that there will be mobos that can handle high-impedance headphones in the near future.
My ~$200 mobo onboard audio could probably handle a bit more than the 50Ω headphones I use right now. If you need more than that wouldnt a cheap amplifier be enough?
How much of a meme this distro is?
What does it cost you to experiment with that OS? A few hours of your time probably, but absolutely nothing else.
I wouldn't trust people on here to give their opinions on something like this, especially since I'm certain less than 1% of people here have even used it. Its better you just try it out yourself and read its site to learn what makes it special.
I'll admit I haven't used it but from the looks of it probably enables most of the kernel options used by ubuntu studio, and maybe a few of the same packages too. kxstudio or some equivalent In other words, I doubt it's doing anything particularly custom or revolutionary. With that disclaimer and judging only from the advertised info:
On a scale of magic pebbles to acoustic foam it's probably between a 5 and 8, so not terrible. I could argue that it's almost certainly overkill for the average listener, even an "audiophile," but even then, that's not really a detriment in itself. It's doubtful a human can hear the difference between 44.1khz and 192khz sound files, and realtime is mostly only going to be useful for recording and music production. Either way, the claim that it allows your computer to playback audio at the highest quality is technically true, even if not practically useful to most people. If you're looking for an audio oriented arch distro, (especially for production, rather than just listening) I definitely wouldn't tell you NOT to look into it.
>especially for production, rather than just listening
Oh and after skimming the blog, it seems the main intended use is for someone who wants to set up a home media system on a raspberry pi without spending a million dollars on snake oil shit. And for that, again, it seems it should be perfectly adequate, assuming it's stable.
>I am retarded and I have no idea how audio works. Hurr durr SURROUND SOUND CARDS
>It's doubtful a human can hear the difference between 44.1khz and 192khz sound files
Monty's article on the matter is still 100% accurate, no matter how many analpained audiophiles are in denial about it.
Is there a way to "decode" Dolby Pro Logic II into HRTF'd stereo in Dolphin on GNU/Linux?
It doesn't have an OpenAL backend and there doesn't seem to be much in the way of systemwide general purpose surround virtualizers like Hesuvi and such on Lunigs the Negroarch core is also hideous and unstable.
The thing to know is that there is actual good reason to use 96khz or 192khz if you intend to resample or apply effects. Higher sample rates help to avoid aliasing and preserve high frequencies if you need to use a pitch shifter or what have you. That's more or less the main reason these formats exist. But for raw playback, it's completely unnecessary.
I'm sure if you came up with a good sob story you could scam the Dolphin trannies into adding ffmpeg's Pro Logic decoder to their audio engine. After that it's up to you to downmix the multichannel stream to stereo. Worst case you might have to write your own pulse/jack filter.
>No redline vidya with crazy f-zero speed
why live ?
I got vdownmix to work but its built-in HRTF is shit.
Is it possible to make the plugin use a custom table?
I'm surprised this video wasn't posted allready, I thought it was more common.
I remember having that on one of our first computers, I was so mystified about what the purpose of this game was, without ever figuring out that it isn't a game.
>You can thank Creative's patent jewing and Microsoft's butchering of DirectSound for getting audio technology in games stuck in the early 00's
That's a somewhat misleading description of what happened. To be a bit more accurate, Creative achieved a monopoly position in the wintel soundcard market during the mid-'90s, which wasn't actually all that big a deal until spatialization happened, since any competitor could pretty easily emulate the few very generic functions any soundcards had. Once spatialization hit, though, suddenly Creative's EAX was radically different from A3D, Sensaura, Xonar, etc., which made reverse-engineering harder, slower, less accurate, and harder to avoid patent challenges. Probably the best hope to fix this was everyone lining up behind MS's DS3D to replace all their competing formats, but since Creative's participation was lackluster using the same "submit outdated specs and silently extend your own implementation" behavior MS itself was infamous for, it ended up being irrelevant to Creative's deathgrip. This meant that since most devs coded for SoundBlaster, and everyone felt compelled to get a SoundBlaster card, then Creative ruthlessly exploited the situation to abuse competitors, buy them up, kill their technology, and ramp up prices.
What actually killed everything was when, after the norm had been that onboard wintel PC audio was too awful to even listen to music with, Intel introduced normalfag-acceptable "HD Audio" in their newer MoBo chipsets, with the promise to gaymurz that CPUs were now powerful enough to do in software what soundcards had previously done in hardware. Of course, while technically true, the software to fully replace all functions of DS3D5/OpenAL & EAX5 never materialized, but everyone was too angry at Creative to care at that point.
Gamers, gamedevs, PC OEMs, and OS vendors united as one in a murder-suicide pact to obliterate Creative, with the release of Windows Vista as the final shovelful of dirt on their grave.
>Modders are adding HRTF and enviromental audio to games
>this makes paid software such as (((Dolby Atmos))) sound awful in comparison
You're mixing up four very different things:
<1. 3D sound positioning in games, approximately what DS3D3 or OpenAL did, just barebones panning and distance attenuation, targeting one specific channel configuration at a time. This is all most modern games do without messing it up too badly.
<2. Realtime spatialization, most of what A3D or EAX did. Reverb, absorption, occlusion, reflection, Doppler motion, etc., many of these features requires deep access to game geometry, and special designation of that geometry (similarly to applying textures, placing lights, and use of skyboxes) for audio their audio properties. Most modern games do none of this, and very few do all of it.
<3. Output targeted to a specific channel configuration, be it mono, stereo, headphones, or various surround/soundfield formats. On that note Dolby Atmos is not "software", it is a surround format similar to Dolby's previous formats, similarly supported by various media/players/receivers/decoders, with the added twist that incorporates a certain amount of internal recognition for channel-independent 3D sources, much like DTS:X. IMHO this is an improvement over the previous "just a dumb stack 'o premixed channels" technology, but it's also an evolutionary death spiral compared to "soundfield" technologies such as Ambisonics that seamlessly allow for rendition in any possible channel configuration using just 4 special channels. Much the same is true IMHO of various increasingly convoluted multi-channel VR photography formats being made in lieu of unification on "lightfield" formats.
<4. Processes for converting between channel configurations. This includes different stereo speaker layouts, stereo>headphones, surround>headphones, and surround>surround. By definition, this also includes all binaural/HRTF/FIR/crossfeed/etc. headphone processing, such as that included in Dolby's official Atmos software for Windows, their prior Dolby Headphone process, or other software such as HeSuVi, since material originated for headphones (whether recorded IRL with a dummy head, or synthesized in a game with internal headphone support) is simply output as two channels.
From what I understand, the main benefit of something like WWISE, FMOD, XAudio, Miles, etc., is that it gives vidya developers all the features they might otherwise leave out due to unawareness.
IMHO this reliance on middleware is only so crucial because there are no longer external APIs with deep access inside the architecture of (especially 3D) games' audio engines that remind devs to keep the in-game requirements on geometric assets of audio in mind, and give users the ability to customize/fix game audio.
>Yeah I'd like to understand why linux audio is considered bad
Because it's a mishmash of garbage written by people who don't care about audio and don't use any software that puts serious demands on audio performance or features. Your choices are outdated clunky trash (ALSA), even more outdated utter trash (OSS), bloated buggy trash (Pulse), low-latency but also bloated and clunky trash (JACK), and pre-alpha incomplete trash (PipeWire).
Absolutely. APIs for this are being pushed by both GPU makers, with nVidia's VRWorks & AMD's TrueAudio, as well as better standardization of GPGPU for all purposes through SPIR-V. As you may have noticed, the main incentive for this renaissance is VR, because while the post-2005 (ABSOLUTE) STATE of vidya audio is terrible normally, it's utterly unbearable in VR. As an aside, even if you aren't into VR, just adding something like TrackIR support to headphones to detect even very small head movements GREATLY improves the quality of binaural sound.
Yup, there's all kinds of crazy stuff you can do for audio. What you're describing was called "wavetracing" by Aureal back in the day. Much like how raytracing can eliminate the need for all kinds of precanned hacks in rasterization renderers for visuals, such unified/realistic elegant audio spatialization can also replace many hacky solutions such as precanned reverb and attenuation.
Nowadays, unless you're doing pro stuff that needs a zillion analog channels or insanely low latency via ASIO or whatever, the main reason to have anything beyond onboard audio is to electrically isolate your DAC.
DAC aside, your choice of amp should be dictated by your speakers/headphones. Only pointers general enough to bear mention are that you should match high/low impedance amps to high/low impedance speakers/headphones, and that most speaker amps are badly suited for headphones.
Saw your post in the emulation thread, didn't know you were using eunuchs. Your only real options are funnel your audio through WINE to access a decent surround>headphone SOFT virtualizer, or plug an external HARDware headphone surround>headphone virtualizer.
I don't know if it's just nostalgia, but I remember Star Wars: Republic Commando having good audio.
>try using EAX on Need for Speed High Stakes SP/EP as that is the only version that werks in wine
>the option in wine-staging does nothing
>game spatializes the front L/R speakers in stereo mode, but doesn't do anything beyond that
>enabling EAX in the audio options crashes the game
>changing audio to mono does too
>the game's config file isn't human-readable from what I can tell
Does anyone have a config.ini with EAX set as the audio modo?
Does EAX or OpenAL work in wine at all?
I tried several games with DSOAL and they all crashed with 04ac:err:dsound:DSBuffer_Initialize Panning for multi-channel buffers is not supported NFS HS being the lone exception that actually went ingame with DSOAL running, albeit with only frontal stereo output.
>even more outdated utter trash (OSS)
I've heard good things about OSS4, but it's irrelevant these days and its devs really fucked it over by making it proprietary for a while.
Something else I sort of wanted to add on the subject: Much the same is true of FOSS/libre display servers and WMs, all of which are likewise total embarrassments compared to their modern Windoze/OSuX equivalents, let alone some of the better proprietary *N*X ones from the defunct workstation OSs.
The only hope I have for it is that a ground-up rewrite via Wayland will finally burn down all the trash in Linux and yield something at least mediocre overall, perhaps actually even good in a few critical areas.
For FOSS/libre audio, that hope lies in PipeWire eventually maturing into something worthwhile, since its fundamental architecture doesn't appear to be inherently retarded in theory.
>dependent on systemD
Ain't happening bro.
The GUI meme has been allowed to go on for too long. If something is bad you're supposed to try something else, not double down.
All we really need is fast graphics in the terminal.
Strong choice of words only to then bet on wayland and pipewire.
I'll grant you ALSA being arcane any day of the week but then again it also works out of the box for me often enough.
Wayland has been ported to non-looniks OSs, it isn't dependent on Poetteringware.
Cards on the table: I grew up a Macfag, always admired truly forward-looking efforts such as BeOS/Haiku, and was very very salty when OSuX happened. I think the opposite is the case. CLI should've died long ago, and most of the reason it persists is because GUI was never able to conquer programming (especially simple scripting tasks), which remains stuck in the 1960s at best, arguably having gone backward since then. Even CLI itself has regressed from innovations being made in past, like actual structured object/API recognition instead of just throwing around raw ASCII soup that computers can only guess at the meaning of, not to mention the cancerous spread of manually "human readable" file formats into markup applications that were once purely machine edited.
What's really needed is to bring back the "every user is always a developer"/"the programming language is the UI" ethos from the old days, but combined with the amenability of GUIs for intuitive and immediate discovery of seldom-used functions. Basically what everyone was already doing in the 1970s before Apple dropped the ball with MacBasic & HyperCard, falling back on the antiquarian LW/MPW, with every other PC GUI then following in their footsteps.
Sadly, there isn't anything better to hope for than a rewrite. I kinda' think Linux might not be long for this world, maybe eunuchs will return to monke via BSD or whatever soon.
>return to monke via BSD
Never ever. I think a more realistic bad end for Linux is Red Hat integrating their userspace poz loads into the kernel (if you remember KDBus, and you probably do since you seem like a moronix dweller, that was the test balloon) and both sides becoming so bloated and dysfunctional that only cloud jews can build and maintain a working system. At which point an autist will fork a prior version of Linus' tree while learning precisely nothing from his mistakes, and the cycle will begin anew.
Linux would be a lot better and more consistent if its GUI environments and programs embraced the "everything is a file" autism, plaintext autism, and "stringing together a bunch of small programs to accomplish bigger tasks" autism that Unix is known for. As it stands, there's a great divide between how Linux CLI and GUI programs work and newfags get a rude shock when they realise they still gotta use the commandline and config files for some things, and all the fags trying to fix it by borrowing un-Unixy concepts from Windows and OS X (Lennart Poettering and the Gnome crew being everyone's favourite examples) are only making it worse.
Unix-like OSes are abominations.
Its such a shame that pretty much every operating system in existence is a steaming pile of shit, whether you're using Arch or Windows 10. I'd honestly only expect a corporation or organization to successfully pull off creating a good OS, but as of right now no one's decided to step up to the challenge. Just WerksTM is good enough.
I'm curious, what you all of you consider the deficiencies of the Linux audio subsystem and what do you think it'd look like done properly?
>Unix-like OSes are abominations.
>I'd honestly only expect a corporation or organization to successfully pull off creating a good OS
Maybe a couple decades ago, but any OS that anyone is going to make now is going to be a gimped DRM-filled normalfag mobile OS with ads and mandatory app store.
The only way we'll get a good OS is if someone who's skilled and not obsessed with Linux/unix decides to start an OS project from scratch, and takes it seriously instead of treating it as a hobby meme project (there's a few of those already out there). People will start joining it just like they joined Linux if it can prove itself to be actually good, nobody will join an OS that's basically Linux with less features.
This distro could be pretty good for playing rhythm games, but at the same time you could just install the real time Linux kernel and setup JACK output to get low latency audio in your distro of choice.
He has a point there. Modern PCs and operating systems can do a lot of stuff but often I wish it was as simple as a C64.
It's hilarious how bad our operating systems are compared to how good they could be. It doesn't need to be CLI vs GUI vs app store vs "user developer", the whole Linux vs Windows thing is a tiresome argument because you can make an OS that serves all of those ideals at the same time better than current operating systems do any of them. But that's what you get when you're stuck with the same operating systems for 3 fucking decades and carrying all the flawed and outdated ideas we've had since the beginning of home computers.
> I'd honestly only expect a corporation or organization to successfully pull off creating a good OS
Won't happen because of muh backwards compatibility. muh backwards compatibility is the reason why we are still using x86 architecture (Intel and AMD processors) Nintendo 64 had more advanced processor design than your IBM PC compatible Intel/AMD processor. CISC is niggers. All normies who aren't gaymers could be using ARM processors in their laptops RIGHT NOW.
PowerPC is more advanced and superior to x86 (or its 64-bit extensions). ARM, POWER PC and RISC-V are the future. But normies and the CIA are clusterfucking everything.
UNIX = shittier version of MULTICS. Kek both are from late 1960s/early 1970s. There has been a lot of research and innovations since then.
BeOS Haiku and Amiga are better than UNIX/*BSD/Linux. Micro kernels and "Hybrid" kernels are the future. Symbolics lisp machines and Smalltalk environments (which probably inspired TempleOS) have better interface than any UNIX-like system.
When Terry is coherent he's fucking brilliant. Shame the glow niggers offed him.
>muh backwards compatibility
Better hacked together emulators under constant threat of DMCAs by Inthell than cross-platform javashit cloud services.
>CISC is niggers
The m68k was alright.
>everything popular is shit, I could replace 60 years of operating system iteration and make Richard Stallman suck my dick
>this is because reading a few wikipedo articles and The UNIX-HATERS Handbook made me a systems design expert
Holy fucking shit, it's like I'm actually on >>>/tech/
>>everything popular is shit
Most people value convenience over anything else and it's bit stooopid to think that a 70s operating system is the peak of operating system evolution. Unix-like systems are trying to emulate that old design so there isn't as much room for improvement and innovation when comparing to other kind of operating systems.
x86 is an abomination and the fact its the most popular ISA with the most developed and diverse ecosystem is a tragedy. Fuck x86 and fuck the companies involved, especially Intel. The list of scummy kike crap they've pulled spans tens of thousands of lines.
Can't wait for RISC-V adoption to become more widespread so anyone could buy an SBC with the ISA. Computers have been shit for far too long. From my own research the ISA is very well designed and isn't difficult at all to learn. We might actually get good chunks of people comfortable with assembly as its very easy to learn.
Linux is an abomination and weenies like >>40882 want to believe its the True MansTM OS.
Its a broken hacked together piece of shit. That's not to say Windows 10 isn't shit either (Shitter, actually), but people give Linux way too much credit for what it is.
Its the OS of choice for tards who think spending months learning how to actually manage it is peak productivity. FOSS developers are brain dead when it comes to designing user interfaces. I use Linux because the alternatives are worse.
Sage for off-topic.
>I am a retard who doesn't understand technology
Downvote negated. Now tell me, in detail, why amd64 is so bad and everyone should rewrite everything to use whatever meme architecture you're masturbating to this week.
>sage for off-topic
Kill yourself retard
You're a big boy Linux user right? You should know the process to research what's wrong with it yourself.
>Rewriting programs for different architectures
>What is compiler
>source: you already know I'm right
>Symbolics lisp machines have better interface than any UNIX-like system
They did. They were also unresponsive as shit. Someone tested a bunch of computers from over the decades for their latency and not only was the Symbolics machine the laggiest he tested by a long shot (which is already embarrassing given how laggy many shit LCD screens are), the time between pressing a key and seeing the key show up was over a hundred milliseconds SLOWER than sending a packet around the world.
Both Windows and Linux are way too complicated, and are carrying architectural baggage from decades ago before we came up with better ways to do things so they're full of incredibly badly designed APIs for basic functions. All you need to do is be a serious software developer (see: not a /tech/ fizzbuzz nigger or an indian college grad who imports 78 libraries and never makes anything himself) and pay attention, and it's not hard to see how to improve basically everything about the operating system.
The same can be said about programming languages. They're all fucking shit because the decent ones were made so early in computer history and thus carrying all of that baggage with them, and the new ones are designed around shitty programming practices like OOP and garbage collection because white people are extinct so nobody knows how to program in a real language anymore.
Saging because picrel
Srsly, think about it. Linux+GNU only happened in the first place because of the AT&T antitrust stuff evaporating, abusing the "cleanroom" judicial autism from Compaq's fight against IBM to dodge patents from UNIX's owners. But now that the legal cloud around BSD has vanished? GNU/looniks can safely go into the trash.
I agree the underlying ideology of modularity *N*X or Plan 9 espouses was always a good one, but it does so in a way that was outdated even in the 1960s, and is downright criminally reactionary today. All of those things are outdated abstractions: Using plaintext for everything is fucking retarded because it obscures machine-readable syntactic meaning even for literal plaintext. Using discrete programs is fucking retarded because it obscures routines and libraries. Using files is fucking retarded because it conflicts with more application-appropriate structures such as an RDBMSs or object stores.
Like I said, IMHO the problems didn't start with GUIs, but with the concession of programming by GUIs to CLIs, which created the dysfunctional "GUI user"/"CLI dev" dichotomy of today. Something 1970s research GUIs refused to concede, instead pioneering innovative GUI/TUI breakthroughs to make programming & scripting as easy and productive as possible.
Indeed. Windows is almost literally VMS+, all its competitors are literally *N*X, we are eternally trapped in a perverse microcosm of a fucking DEC VAX from 1975.
>what you all of you consider the deficiencies of the Linux audio subsystem and what do you think it'd look like done properly?
Like I said, compared to Apple's CoreAudio, MS's UAA, or various 3rd-party professional solutions such as ASIO? Linux audio is built in multiple concentric layers of garbage that are never cleaned away or compacted, each with their own primitive and ideosyncratic interfaces and quirks that users and app devs alike are far too often forced to directly confront, little relation to the way programs (especially demanding or specialized ones) or hardware actually work with audio in lieu of hackers getting music to play audibly and then ignoring the issue, and absolutely no serious attempt to do whole-architecture optimizations to meet serious issues such as scheduling and buffer exhaustion.
Agreed on all counts
>replace 60 years of operating system iteration
That is exactly what Stallman did, he replaced it with a clone of an OS that was already outdated when it premiered two decades earlier.
Nah, that's cheating, it's mostly just UNIX-users harshing on each other for fun. I myself am a microcomputer supremacist, bitter at my conquest by misshappen mainframe/minicomputer OSs.
>tell me, in detail, why amd64 is so bad and everyone should rewrite everything to use whatever meme architecture you're masturbating to this week
At minimum, in objectively UNDENIABLE terms? Because it's now (since the Pentium "CRISC" era) a fake ISA cluttering an otherwise relatively sane RISC with decoder and cache that eat up precious silicon and waste precious cycles. In the case of AMD, they LITERALLY just bolted the 80x86 frontend onto their old 29k RISC core and shipped it!
Yeah, while the UX ideas being explored by research OSs in the '70s still feel astoundingly futuristic, their dependence on GC that couldn't be disabled for actual compilation caused them to be outright impractical on the hardware of the era for many applications, even if it would only be crippling today.
To be fair though, something resembling Rust hadn't been invented yet, as it wasn't until well into the late '90s at the earliest that, e.g., Ada mostly caught up in performance and overhead to C when correctly compiled while retaining its safety and usability parity with interpreted/bytecode languages.
Substantially disagree. Mainstream OSs are built on ideas that were outdated even when their predecessors were written, and the problem with programming is that it's a stubborn throwback to pre-GUI interaction that has been rightfully vanquished from any other activity. If both were designed properly, nobody would hire the pajeets/neckbeards, because normalfags would be able to do simple codemonkey tasks as part of their everyday computer use.
>normalfags would be able to do simple codemonkey tasks
You're 7000% deluded if you think the average computer user is going to do any programming-like activity at all. There might be more people scripting things and developers would love their OS if it was well designed, but it wouldn't be anywhere near a norm. It wouldn't even not be niche, just like using a CLI to interact with a desktop computer isn't anything but a meme despite Linux niggers endlessly claiming that it's superior in every way.
>the problem with programming is that it's a stubborn throwback to pre-GUI interaction that has been rightfully vanquished from any other activity
Have you ever used a visual programming language or anything the required you to use a GUI for programming something? It's painfully slow compared to plaintext coding and with an editor with code completion you can do it even faster. But I do think that being able to program your system should be basic user knowledge.
That's exactly the kind of task that programmers are hired to while away most of their working lives on, because the hopelessly backward design of modern software provides no means for most people to do so.
Looks like a glorified auto clicker, MMO gold farmers probably have much more advanced automation and they didn't need a special OS to do it. If you wanted to somehow integrate that into your OS and programs, software developers would have to make their programs in a way that your gay script mascot API can interact with it, nobody wants to program that way since it just makes everything way more complicated, that's exactly how you make developers hate your shitty OS.
I can only imagine you're referring to (typically flowchart-like) tools like LabVIEW that are intended as a drop-in replacements for typical programming languages, implementing their same "write, deploy, use" workflow.
What I'm referring to are ideas that integrate programming as seamlessly as possible into normal use, radically altering both programming and use in the process. That could be something simple, like the way structured authoring allows powerful conditional statements about syntax and meaning to be seamlessly embedded and used, something more complex like the way compound objects allow custom programs to be assembled out of intercompatible editors and transcluded data, or something extremely sophisticated like the live development that Smalltalk systems were capable of making hacks much easier to integrate into workflow.
Especially given the large amount of code reuse and reconfiguration involved in most actual programming, as opposed to hammering out lines of fresh assembler, you have to think in terms of "what is the easiest way each of these tasks can be performed", not "how can I make accomplishing these tasks by writing in a language less tedious".
>software developers would have to make their programs in a way that your gay script mascot API can interact with it
In other words, by drawing up a standardized schema for classifying inputs, outputs, data types, and IPC, then actually conforming to it. Which aside from automation would also greatly aid security, maintainability, and compatibility.
Of course, lousy devs hate making and conforming to consistent specs.
Not all programs are on the same level of complexity and feature set as some email text program. As as soon as you want to do something even mildly unusual or tweaky or design inputs that are ideal for your particular program, it starts to become a pain in the ass to hook into a GUI api that was designed without any knowledge of your program.
Sure, which is why there need to be broader and deeper hierarchies of schema to describe such applications. A conundrum XML has famously been tangling with of late, as new XML specs aren't drawn up or agreed on often enough.
This is exactly what I was bemoaning earlier, as for instance UNIX was designed for text processing, and works reasonably well for that, but falls on its face for anything else. Similarly, WIMP GUIs since the Macintosh were designed for DTP (formatted text, lineart, and bitmap images, arranged in documents), but don't work well with other tasks.
What's needed is something both far more general and extensible in its abilities, but still with the ability to natively understand and accommodate all of these different applications and their data types as 1st-class citizens with the OS's native interface.
I'm curious since my experience with programming was very limited, why is OOP bad and what would be the alternative? I've never used OOP in that large of a scope to learn its flaws besides it being tedious to write in certain cases.
If you could do the things you're talking about in a good way then it would undeniably be good, but I just don't see a way to do it in practice. I can only see it increasing the complexity of everything for what doesn't seem like a big advantage. Rather than devising some hacky script system on top of programs, I think a better solution is to improve the programs that are on the computer, and make it easier to create them. I have a bunch of ideas for programs that I think would be very useful for many people in ways that an automation script could never replicate as well, but some things are just hard to do for reasons that don't need to be hard.
Make the OS very good and easy to program for. Create guidelines and educational materials and sample programs and helpful libraries to help interested people start programming for it and to program in the proper way. Create an official community website where people can help each other with development and to write scripts. Make it very easy to distribute and find and download software. Give the OS a good permissions and sandboxing systems so you can safely run programs even from questionable sources.
There's many different things that make it bad, the very idea encourages you to do a lot of messy and overcomplicated things, and it generally isn't based on the way the computer works so the program becomes slower. You could technically use it in a way that isn't bad though, there's some valuable ideas in it, particularly regarding code organization, but you don't need OOP for that. The better alternative is procedural programming.
OOP can be ok if it's done sensibly and only for very high level tasks where the maintenance/development speed benefits of organising things in a way that seems sensible to less technically minded humans outweigh the performance loss both in speed and in memory use you get from not optimising it for the way a computer actually works. However in practice it tends to end up with a lot of 'design pattern' nonsense where poorly trained programmers blindly copy in things without understanding, the overuse of inheritance (and often also of abstract objects, factory methods etc) that overcomplicate the code and a bunch of other bad practices. Also it ends up being used in lower level technical areas where it's very much not the right call and where the performance loss really does start to matter because that's the only way some people learn to work. That said bad programmers can also create horrors with paradigms just as easily.
As with pretty much all things it was originally a decent idea for one specific use that became trendy and bastardised into fitting into every role because buzzwords.
with other paradigms*
Just so I'm getting this right, the performance hit is through the overhead you get because of all of the inheritances and kind of useless function calls due to private variables requiring getters and setters?
Bad programmers truly are a bigger problem than any programming paradigm. I think a good language that doesn't have weird problems along with good educational materials can help with that quite a bit.
There's no one thing that makes it slow, but abstractions in general often lead to slowness. The biggest source of slowness is data fragmentation, i.e. related data being in separate parts of memory. That's devastating to program performance because of CPU caching. It's not a problem with OOP specifically, but OOP encourages is.
Objects themselves have a memory overhead just by existing regardless of what you stick in them. Depending on the language and the number of objects you've got this can be negligible unless you're pissing around at a low level it probably will be or very concerning but is just inherent to the idea of making objects since that all has to be stored somewhere. Strictly speaking you don't need to have a processing cost over doing something procedurally if you very carefully design your objects and their inheritance but in practice that's probably not going to happen outside of very simplistic programs.
However as >>40949 says recently, particularly with video game development, the major concern is really how objects can spread similar data around in memory and how that affects caching and access: ideally if it's all in one big linear area you can fetch, process and return it far more effectively and at a very low level that can really help with performance. There are workarounds for that with objects but that just adds an extra level of headache and then you lose the on-paper benefits of OOP (readability, modularity, maintainability, handling larger teams with poor communication etc).
In an ideal world all heavy lifting would be done by competently written procedural code hopefully in a language designed for that e.g. purest C, but sadly more often the abomination that is C++ and then the higher level stuff where human concerns outweigh performance is doing minimal work and maybe calling certain functionality from the better performing code when needed through an API. With vidya the engine should do that while the game sits on top in some scripting language mess the developers built but in practice modern engines are mostly just stuff actually competent people wrote ~20 years ago with decades of poorly made C++ functionality bolted on by people following trends.
>Bad programmers truly are a bigger problem than any programming paradigm. I think a good language that doesn't have weird problems along with good educational materials can help with that quite a bit.
That and accepting the number of people who can program is large but the number who can actually understand the way things work at a low level is very small. I think even with better languages and education it still has to come down to only letting the autists touch anything serious while everyone else fucks around with the GUI or whatever.
What I meant to say is, what does procedural programming do differently?
My sound card has an amp, that's the whole reason I have it. It was a lot less than $90 too.
That gets more into the semantics than I'm comfortable with, I'm not sure I can answer what counts as procedural programming but isn't something you might do in OOP.
>Enter a thread on an interesting topic.
>Anons are talking about shit so outside your knowledge-base they might as well be communicating in Chinese.
How and where can I find the basic absolute-intro information about how computational audio even works, the history of all of these audio programs, and the companies that made them?
Well, son, in the beginning there was a 1 and a 0...
From what I understand and I have very limited experience with either paradigm, procedual programming focuses on treating the incoming data as if it was on an assembly line and "transforms" it by either taking actions based on it or actually reworking it into something else. Opposed to OOP you don't have objects that hold the data and also offer functions but rather you get containers and then can apply functions to modify parts of it or get info from the data.
Does the 1 go inside the 0?
Gonna take some time this weekend looking it up then. Thank you anons.
Before going into this I'd note that you've got procedural programming and functional programming which are somewhat different but for the purposes of what you're asking the distinction doesn't really matter. I'm also just going to make broad statements that might not be 100% technically correct for the sake of simplicity also I'm no expert.
Procedural programming is best thought of as a bunch of linear functions/blocks of code (procedures) that can all take in some data and return some other data. Procedures can call each other more or less whenever they want. Some variables will be passed around between functions and persist and other variables will only exist inside procedures and more or less be discarded when you're done. Procedures are still modular in that the code is enclosed inside a procedure you can call but the procedure itself can basically be ignored when it's not currently being executed.
Object Orientated Programming, to a greater or lesser extent depending on the language, is about encapsulating data and procedures in objects. Some languages force you to only use objects, others will let you mix paradigms. So you might have a dog object that contains all its data (name, weight, hp) and then also contains a bunch of functions for either manipulating or returning that data, you might also make some of it private so it can't be accessed or just can't be modified from 'outside' of the object. There's a whole bunch of other stuff you can do, most of it overused leading to the problems people have with OOP, but that's the basic idea.
That's not a particularly great explanation I'm afraid.
>Is it like say Assembly where all the stuff is just in one file, no "programmer friendly" compartmentalizing of the project?
Files are a different thing, both of the above don't really mind things being in multiple files or being broken up within files (procedures are themselves blocks of code). Generally speaking when dealing with human level concepts and well designed OOP-style objects will be easier for humans, programmers or otherwise, to understand.
Unfortunately, I haven't seen a DSP for dummies book. In reality most of these algorithms come from taking analog circuits, expressing their behavior with formulas and then implementing those formulas in code. Unfortunately, because of this, many resources assume electrical engineering knowledge.
Book related is sometimes called "the cookbook." It's a pretty decent resource if you want some high-level overview on how to make a particular effect. You'll want some basic experience with programming and audio engineering first though. Honestly I'd recommend you start by just playing around with a DAW and learning how all the effects work. Look at the waveforms, spectrograms, etc. Gain some intuition for what everything does visually and sonic-ly. You'll have a much better time learning about the fundamental algorithms once you can see and hear what is actually happening.
Is it theoretically possible to do matrixed surround sound with FM synthesis?
From what I'm reading, this is just a way of playing a stereo file with a surround system. Just turn two tracks into four: L, R, L+R and L-R. Whatever your FM chip is, it might only be able to do stereo, but you'd definitely be able to mix it to a matrixed surround system with the appropriate hardware. The tricky thing would be getting the FM chip to produce sound in JUST the L-R channel. If you wanted to played a sine wave in this channel, you'd need to play the same sine wave panned hard left and hard right, but with one playing in inverted phase you could think of this as just playing at a negative amplitude, or in other words, the waveform is upside-down. Not aware of FM chips that would let you do this easily, but it might be possible. If you have some sampling capability, you could create two copies of a sample and invert the phase quite easily. But with FM it's a question of what the chip will allow you to do.
Outside of surround systems, L+R and L-R are commonly called mid/side channels. because L+R is all material common to the center channel (both stereo channel,) while L-R is all the material that is not in the center channel, hence the side channel.
excuse typos, was typing quickly
>still trying to learn brogramming after all these years
>making slow but steady progress through SICP, in chapter 3
>still no idea what all this shit means and why OOP is bad
Should I just off myself and be done with it?
>fell for the sicp meme
Found your problem.
Stop reading books. Find something small and interesting to do. Treat every problem as a nail to hammer until you decide that the hammer isn't good enough. You'll immediately be confronted by whatever practical blindspots you might have and have plenty of inspiration for whatever the next project is. THEN you'll have the practical experience for these books to be of value to you.
Has anyone here tried Tempest 3D?
Does it compare to the likes of OpenAL Soft and A3D?
Welp, guess I'm fucked. I have been corrupted by the SICP meme and I will never recover. Wish me luck, lads, I'm just gonna pop estrogen pills until I can waltz into Google and demand $200k/yr in reparations for my oppreshuns.
That's genuinely the only path left for you besides suicide, RIP anon. You need 170 IQ and at least 26 programming books and a computer science diploma to start writing code, just give up.
ty for the pdf.
Take the Lua pil: https://www.lua.org/pil/contents.html and Löve: https://love2d.org
also, don't forget to wear your programming socks.
Study the RISC-V ISA. That's what I'm doing before learning C (Well, I know some C but it was many years ago. Can't do much with it now). C++, C#, Python, etc. are all bad languages to learn first. Notice I didn't say the languages themselves are necessarily bad, just that they shouldn't be learned first. They've all got their use-cases and the quality of the programmer is easily more important.
This is the path I've made for myself:
>Nand2Tetris + RISC-V ISA + Etc...
>(And if you really feel bold you can look at the source for the UltraSPARC T1)
>C Programming Language + Algorithms...
>OpenGL/Vulkan + Advanced Mathematics... (Now or earlier)
This is where I always get caught up. What use is programming if I don't understand the system, and what use is that if I don't understand the kernel, and assembly language, and the hardware, and electrical engineering? It's a rabbit hole that never ends, and half the time I start thinking about it and just give up. Doesn't help that I have a master's in math now and I still can't learn programming.
>he fell for the math meme
SICP is a great book in so far that it's written well and really brings across the enthusiasm of the authors, it is not however a good practice book.
>Study the RISC-V ISA.
Not a bad idea. When I started programming I got interested in how languages and computers work. A fun little project is implementing a brainfuck interpreter. The principles are simple and you can find some tiny example implementations to compare against your own implementation against. Obviously it's just a toy, and intentionally a shitty format for humans to look at, but that's the fun in it. Imagining improvements is easy, and once you mess around with that, you have a bit of foundation for understanding why assembly code is the way it is, and from there you could try to make your own toy ISA and bytecode interpreter, or even a RISC interpreter. The whole process really demystified things for me.
if you could piece together his rambling and scattered subjects this would be a damn good college lecture
How so? There are tons of exercises, probably more exercises than other material. I guess that raises the question of what you mean by "practice": exercises for beginners to learn concepts, or for existing programmers to hone their skills?
You have to look at everything as one massive ecosystem. A giant puzzle with each little bit of knowledge, each different "level" a part of the puzzle that fits in with other parts and contributes to a larger picture understanding of it.
I'm barely a programmer but I grasp how computers generally work because of my curiously lending to research over a long period of time as to how computer architectures, OSes, etc. work. It takes time but you'll eventually get it!
The biggest leap I can think of for peoples understanding is going from assembly to having words appear on a screen. That requires a GPU (Which current RISC-V SBCs do not have unfortunately that I know of) and an understanding of said GPU. Things like a framebuffer, VRAM, Etc...
SICP has some interesting ideas in it but it's the last book you should be reading if your goal is to get into programming, you're just putting a giant brick wall into your path for no good reason. If you want to read it then you should wait until you're already familiar with programming and want to expand your knowledge.
>Requires a GPU
VGA graphics would disagree with you
I don't think anyone really understands how computers work. People that understand them from the types of transistors used (FinFETs, Etc...) to designing GUIs are 1 in a 100,000. I think this is somewhat like that monkey-ladder thought experiment where people have just built upon what others made for decades to the point that "Its just how it is".
Early computers took up entire rooms and the interface was a piece of paper with holes punched into it. That evolved over time into the computer you're using right now. There's definitely a linear evolution, and that's what needs to be understood.
Best thing for you right now is just to keep it simple. There's many different ISAs, APIs, etc, that as a beginner will bog you down heavily.
There's a fully open-source learning board called OpenRex at https://www.imx6rex.com/
that's got tons of different sensors, interfaces, etc. built into it. The GPU too is a Vivante GPU which has open-source drivers AFAIK. ARM ISA isn't really good but that's not the point of this particular piece of hardware.
That board looks really cool but what can you learn from what's basically a small computer that you couldn't learn with a cheap laptop?
Its the ecosystem surrounding the board. The guy who designed it did it with the intention of having as much of it as possible open-sourced, and as such you can study the PCB design itself, which is a part of the bigger puzzle I talked about earlier.
He has a large library of videos too that teach you about hardware designing, fucking around with its sensors (Its got gyroscope, accelerometer, temperature, humidity, and compass sensors), and using the RPi/Arduino interfaces.
Sure you could do some stuff with laptops but they're closed-source, don't give you too much opportunity in terms of toying with it, and have no clear starting point while the little board does. Its an educational tool intended for all agesTM!
Simple boards are easier to learn and work with. You also get to learn to work with limited resources and what low level programming is like. If the hardware is also open-source, it obviously has other benefits as well. If you want another example of a simple chip, take a look at Zilog Z80 https://www.z80.info (there are some Texas Instruments calculators (like TI-84 Plus, AFAIK) that can be programmed in Z80 ASM)
I will also add the SoC its using (Freescale I.MX6) is really good in terms of open-sourceness. You could also use it for more private things in addition to the learning since x86 is spyware.
I'm not sure I understand. I think I get the idea behind it, but I'm still not sure what I would do with such a thing if I had one.
Honestly, I'm not sure why he's shilling this board to you, when it sounds like you've barely started a project yet. Just try making a simple VST or something this is the audio thread after all not agdg. Try making clipping distortion, it's simple, and once that's set up you can basically do whatever the fuck you want. With trivial modifications the same code will run on that board. Not bashing the thing though, It might be cool for working with hardware and assembly, it's just not necessary if you haven't done much yet.
Don't listen to this retard. You do not need this shit to start programming. If you try starting from here your brain will explode from the big words and you will give up like the fucking pussy you are.
Start with a C tutorial on the Internet. C has problems but it's great for learning the basic logic all programming reduces to, because it gives you the bare minimum to work with ASCII strings without holding your hand or requiring insane boilerplate code like higher-level languages do. Also everything worth using is either based on C or interfaces with programs written in C, so you should get familiar with it at some point anyway.
Then you can start learning about objects and data structure design, which let you structure your code around the problem you're trying to solve instead of having to mangle your problem to fit what you can code. This is where the math pill becomes useful because data structures are usually designed with certain mathematical properties that make them useful for computers.
And only then are you going to get anything out of learning about hardware design. Ignore RISC-V, it's a nothingburger, read Computer Organization by Patterson and Hennessey instead. The book is based around a real live MIPS processor, and explains the purpose of every logic block in it. RISC-V is just the chuuni royalty-free baby brother of MIPS. This won't teach you anything about programming, but it will help you understand why some things CPUs can do are fast and other things are slow. If you're autistic enough this is where you would dive into Agner Fog's x86 performance guides, which tell you why coding in assembly is pointless masturbation unless you're writing a video encoder or a JIT compiler. It also explains performance quirks of modern x86 CPUs, but you probably won't need them unless you want to go emudev.
And buy black Goldtoe socks for programming.
In truth, I stopped by because the discussion about poogramming interested me. Audio engineering sounds fucking cool, but I have so many things to learn first.
>coding in assembly is pointless
It's worth nothing that understanding assembly is definitely not pointless, because assembly is essentially what all other languages including C get converted into. If you can understand assembly then you can understand programs much better, especially if you're getting into hardware programming.
It's a time investment, but very rewarding once you get into it. As long as you aren't working for game developers Good luck however you decide to continue studying.
So what are some decent small programming projects I can do on the weekend? Just talking about it I want to spend my vidya downtime doing something new and I can't pretend to workout for hours.
The whole point is to build up understanding with those fundamental concepts. You absolutely can program without knowing shit about the CPU or assembly, but you will neither be as powerful nor optimized as you could be, and you can see this (you)rself looking at how much bullshit bloated crap exists.
>C tutorial on internet
Scratch that, Nand2tetris looks like a great sideproject. Thank you to the anon who recommended it, but can I be an ass and ask for a decent RISC-V source too?
Am I mistaken in thinking that CISC processors were desktops and RISC were smartphones?
You can find RISC desktops and CISC phones. CISC is just RISC with a hardware wrapper nowadays, though.
Would OSS 4.x be viable alternative to ALSA?
I am only aware of this: https://projecteuler.net
Does the Nintendo 3DS use a limited form of HRTF in an attempt to achieve a very basic form of surround sound using its two speakers?
Its DSP uses 4 channels internally.