Music volume and ReplayGain/FLAC support

Have a question, suggestion, or comment about Aleph One's features and functionality (Lua, MML, the engine itself, etc)? Post such topics here.
Post Reply
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

There aren’t enough options for music volume. Basically, you have to suck out all the dynamic range from a song for it to even be audible in-game for many people, which is ridiculous. According to BladeZero, who compiled an unofficial M2 soundtrack, you had to amplify songs an average of +6.7 dB just for them to be audible in-game, which would make them painful to listen to anywhere else. You shouldn’t have to make music sound bad just for it to be audible in-game.

As a result, I propose, as a crude fix, offering a much wider range of music volume options – say, allow players to amplify it by at least another 10 dB. However, a better long-term solution would be implementing ReplayGain, so that if a scenario employs songs with a wide range of volumes, players don’t need to quit to alter the music volume. IDK how much work this would entail; at some point I will look to see if there are any existing ReplayGain libraries for C++.

My other audio issue is that A1 still doesn’t support FLAC. AFAIK, it uses libsndfile, which reads FLAC files, for its audio library, so hopefully this should be an easy fix.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

The Marathon music is audible in game and hasn’t been amplified. A lot of hyperbole in your post.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

I’m not having any issues hearing the music from the new Eternal beta, but I’ve got the music volume turned up to the maximum, while the sound effects’ volume is at 2/7. Other people have reported finding the music inaudible after doing exactly the same thing. It’s possible this is a 1.2 versus 1.3 issue or an OS issue.

There’s also the issue that M1 doesn’t have any ambient sounds. That might actually be the deciding factor between why M1’s music doesn’t seem to be inaudible for anyone, but the remastered Eternal music is. Since I can’t recreate the issue on my computer, though, I can’t say for sure.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
$lave

I don't really understand what you're asking for. If dynamic range is the problem, then how would more volume options help unless you're expecting the player to constantly adjust the music level in-game (which the player should not have to do)? Or if it's a problem with consistency across tracks, that's an issue with the scenario's mastering job and not with the engine.

I can't really see any issue which requires audio to be bumped by more than 1-2db being anything other than an issue with the audio itself, given that the levels have been fine for the music in other scenarios I've played.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Dynamic range is an issue because of how peak loudness works. Digital audio has a peak loudness beyond which it’s impossible to proceed. As a result, if a track already hits the peak loudness, then the only way to make it louder is by stripping out dynamic range, which if the people mixing/mastering the music don’t care or don’t know better, results in the flattening of peaks and troughs, or digital clipping. As a result, you end up with atrocities like the original release of Metallica’s Death Magnetic. People criticised these for being too loud, but the issue isn’t actually so much loudness per se; it’s simply the lack of dynamic range on the album that was a result of the album being mastered as loudly as it was. Simply reducing the album’s levels wouldn’t actually have changed the issue; you’d be left with the same lack of peak and troughs. The problem in this case was introduced during the mixing phase, though it often creeps in during mastering.

I might not have explained this all that clearly, but TV Tropes (yeah, I know; I apologise for stealing away the rest of your evening) has a pretty good overview of the loudness war. This is fairly technical stuff that not everyone will notice right away, and it’s much more of a problem when you’re listening on headphones (and without EQ applied) than it is when you’re listening on a car stereo or whatever. A lot of people might not notice it consciously, but it’s a consistent issue for me at times.

The biggest reason I see differing levels between tracks as an issue is if you end up taking tracks from multiple sources, particularly MP3 sources or other lossy sources. In that case, if you want to maintain consistency between tracks, the only way is to edit the audio again, and I’ve already outlined the issues with editing MP3 audio in the Discord; however, for those that don’t recall, the issue is that lossy compression algorithms are designed to work from lossless audio, and compressing audio from a lossy source ends up creating audio that sounds really, really bad. There are ways to create a crude approximation of lossless audio from a lossy song, but it requires software that most people probably don’t possess and/or can’t afford.

I suspect most of the scenarios you’ve played also probably haven’t had the levels of something like post-rock or progressive rock, where there are often extended quiet passages contrasting with the loud ones. The loud passages in progressive rock songs usually come out fine, whereas the quiet ones… don’t always.

In any case, the Marathon soundtrack is all within the DR10-DR12 range, where DR is a measure of the dynamic range of a given track (higher = more dynamic range and therefore usually quieter). Some of the songs in the revised Eternal soundtrack wound up hitting as high as DR16 (specifically “Chomber” and “Flippant”). In that light, I’m not all that surprised that some people are having an issue hearing some of the songs.

ETA: …after looking at the TV Tropes article I think I should’ve just posted the trope image rather than writing that wall of text. Picture is a thousand words and all that.
rsz_better_american-idiot_2503.jpg
rsz_better_american-idiot_2503.jpg (26.66 KiB) Viewed 10002 times
That’s, I suspect, the main reason loudness is the issue.

(edited because hotlinking the image wasn’t working)
Last edited by The Man on Jan 1st '19, 00:06, edited 1 time in total.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
$lave

I don't need an explanation of dynamics or how digital audio works; I do audio/dsp programming and have been producing music digitally for years + do my own (albeit crude and unprofessional) mastering.

ReplayGain algorithms are for contexts where you don't have control over the mastering of tracks relative to eachother. There's no reason for AlephOne to include such an algorithm, when scenario designers are fully capable of mixing and mastering their music so that it has the proper dynamic range and EQ to stand out under the sound of gameplay.

If people are complaining that they can't hear the music under normal gameplay then you've messed up your mastering. The point of mastering music for a video game is to make it work in that context.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

There is an issue of control over tracks if you weren’t the one who mastered them and/or they aren’t available from lossless sources, though. That was one of my primary points in that wall of text. A lot of times, scenario creators aren’t the ones who make the songs used in their games, and the artists who make them may either not make lossless versions available or may not know much/anything about mixing/mastering.

My other point is that you shouldn’t have to sacrifice audio quality for the songs to be audible in a video game. I can master the songs 5-7 dB louder so others no longer find them inaudible, but I shouldn’t have to. That’s a lot of amplification, which means a lot of dynamic range to sacrifice. A lot of the songs in Eternal were originally in the DR5-8 range, which is… bad, and it’s no wonder they were giving me headaches. I can make new versions that have more comparable loudness to those of the original versions, but if I do that, then I’ve at best made equally loud versions that simply don’t clip and have more high frequencies. I don’t want equally loud versions. I want more options to reduce the volume of the game audio relative to that of the music so that the whole problem is eliminated.

An example: “Rushing” was DR7 in the original release, with an RMS score of -8.78 dB, which is too loud. It was literally giving me headaches every time I would play “We Met Once in the Garden”, back when it was still used on that level. The remastered version is DR12 and has an RMS score of -15.12 dB. Similarly, “What About Bob?” was DR6 with an RMS score of -9.67 dB and is now DR11 with RMS -15.18 dB. The new versions no longer give me headaches, but now I have people complaining of not being able to hear them. There isn’t a solution with the current settings that will satisfy both of us.

That, to me, is an issue with the game software. I don’t see what’s so difficult about simply programming more options for audio levels into the game software. It seems a trivially easy fix. I suspect it would take someone who actually knows C++ less time to implement this in Aleph One than it’s taken me to type all this out.

I’m not asking for ReplayGain to be implemented now, to be clear, but it would be nice to have sometime down the road.

ETA: The levels of the new Eternal soundtrack aren’t actually vastly different from the Marathon 1 soundtrack’s levels, either. The Eternal soundtrack ranges from -20.15 dB RMS for “Chomber” to… -10.98 dB RMS for “Carbon”, actually, though that one’s a bit of an outlier. The M1 soundtrack ranges from -22.48 dB RMS for “What About Bob?” to -15.00 dB RMS for “Rapture”, meaning that it’s actually quieter. However, M1 didn’t use ambient sounds, so that might be the main difference here.
Last edited by The Man on Dec 31st '18, 23:56, edited 1 time in total.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
$lave

If increasing the gain of a track would reduce the dynamic range, then you're saying it would clip. Thus adding gain adjustment to AlephOne wouldn't fix the problem; you would just rather have other people be able destroy audio quality in an unpredictable manner than let them use a master that sounds good to them, because you're hung up on measurements of DR instead of how people actually experience the music.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

It shouldn’t be a problem if there’s a way to reduce the volume of the game sound effects relative to the music. The problem is that the game sounds are too loud relative to the music. It’s a sort of corollary of the Spinal Tap “these go to 11” issue - the issue is that there really aren’t enough measurements for the game audio. In fact, these go to 7, and 7 doesn’t give people enough gradations to adjust the game audio relative to the music to their satisfaction.

And again, the bad DR in the original songs was giving me headaches. If you have to master songs that poorly just for some people to be able to hear them in the game, then there’s a problem with the settings available in the game.

It shouldn’t be a big ask for people to be able to reduce the game audio relative to the music more than they already can. Instead of giving people options for 1/7, 2/7, 3/7, etc. levels, you give them 1/14, 2/14, 3/14, etc., or 1/21, 2/21, 3/21, etc. You still go from 0% to 100%, but instead of jumping straight from 0% to 14.285714…%, you give them 7.14285714…% or whatever else as options.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
$lave

I just feel like if that really were a problem then someone would have brought it up by now, but this issue seems to be unique to the masters you've made. And it is a big ask when you come to a forum and tell the uncompensated developer(s) of a free game engine from 1996 that the engine is inadequate, and complain that it should "only take a few minutes".

To be perfectly honest, and I'm sorry if this comes off as rude, I just don't like hearing people repeat how easy something seems to fix if they aren't going to put effort into fixing it on their own.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Well, C++ code is borderline incomprehensible to me and I wouldn’t have the first idea where to begin looking in the code for the settings. If someone provides me the location in the code I can take a look at it, but I also don’t have the resources to compile the software set up on my computer, so it would take me, personally, a long time to remedy it. I would estimate somebody who actually already has a compiler set up, knows the language, and knows where to look in the code would probably be able to write code to fix the issue in 10-15 minutes.

And I suspect the issue hasn’t come up before because most of the existing scenarios have had… rather loud music, to put it bluntly. A lot of songs from Excalibur were in the -10 to -16 dB range; one was as loud as -5.19 dB. Phoenix also had a lot of songs above -10 dB, with the loudest being -6.02 dB, though some were more reasonable. And so on.

If people are having the issue with the new Eternal soundtrack, though, then I suspect they’ll have it even worse with Chronicles if I actually include my soundtrack, given that a large portion of it is long post-rock songs built around the Bolero effect where the opening passages will be almost inaudible.

I suspect I’m also somewhat unusual in usually playing the game with headphones, which means I’m a lot more likely to get headaches from the music than people who play with speakers are.
Last edited by The Man on Jan 1st '19, 00:32, edited 1 time in total.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
Wrkncacnter
Vidmaster
Posts: 1953
Joined: Jan 29th '06, 03:51
Contact:

$lave wrote: To be perfectly honest, and I'm sorry if this comes off as rude, I just don't like hearing people repeat how easy something seems to fix if they aren't going to put effort into fixing it on their own.
And repeatedly bitching about it on discord, saying how stupid AlephOne is, won't inspire people to help you either.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

For whatever it’s worth, I call almost everything dumb. I suspect the amount of times I’ve called the English language dumb dwarfs any ranting I’ve done about this specific feature, or just in general. I didn’t mean it personally, but nonetheless, I apologise.

A1 is pretty well programmed overall, especially given some of the quirks of the original game (e.g., whose idea was it in Bungie’s dev team to have only two variables for external velocity on monsters?), but there’s certainly room for improvement in the implementation of some of its feature set. If I saw a better solution than rewriting some of the code, I wouldn’t be asking for it, but I have people literally asking for the levels of Eternal’s soundtrack to be restored to the volumes that were giving me headaches, and I don’t see another solution.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

If anything, an improvement to Aleph One's volume controls would be to make them logarithmic (corresponding to your perception) rather than linear.
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

I looked into this more, and I'm even more confused by this request. The two sound controls in the game are for the master volume, and the music volume. If the music is too quiet in comparison to the sound effects, how would having additional levels for either help? All that would let you do is reduce the music volume in finer increments (which wouldn't help) or the master volume in finer increments (which wouldn't help).

Also, the design of the mixer was never intended to allow you to hear music over heavy combat. It's more for ambiance.
User avatar
ravenshining
Vidmaster
Posts: 892
Joined: Jun 17th '17, 22:50
Location: Hawai'i

Wait, so all this time I've been playing with "Volume" set to 14% and "Music" to 100% in a vain hope of being able to hear the music better without being deafened by the sound effects, and it never actually made any difference?

*runs some tests*

Huh. Well, that's disappointing. I sure would love it if those sliders did what I thought they did. M1 had no mixer, so if you're going to say there was never any intention of being able to make the music louder, you can't say there was ever any intention of being able to make the music quieter, either, yet somehow the latter was added to A1 but not the former.

A three-way mixer, with options for Music, Effects, and Ambient in addition to the Master volume would be ideal.
Failing that, it may be helpful if Volume was simply relabeled "Master Volume" to be clear about what it does.
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Original Marathon had a very low limit to the number of sound effects playing at once, which may have helped the music be audible. You could try adjusting the number of channels down and see if that helps. I think Marathon could do three channels (but I think you can only pick two or four in Aleph One? it's been a long time since I changed that)
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

So I want to apologise, as I'm fairly sure I came off as more combative than I'd intended to. I'd spent a long time on remastering the whole Eternal soundtrack (five hours or something) and was already annoyed at the prospect of potentially having to do it again when I started out, I think. I probably should've waited a few days before I posted, but I think we were still operating under the assumption we'd be releasing the game in January, so y'know. Stress. Fight-or-flight responses. Just probably wasn't aware how abrasive my posts looked. Usually autism doesn't affect my verbal communication skills these days, but I suspect this thread just hit one of the cases where it does.

I think I've got an idea for the music volume issue that might satisfy everyone: make the music volume slider a "music volume to sound effects ratio" slider rather than an "absolute music volume" slider. As it stands now, my understanding is that they work this way, where "7/7" means "maximum volume at a player's given volume setting", if that makes sense:

Music volume 0: music 0/7, sound effects 7/7
Music volume 1: music 1/7, sound effects 7/7
Music volume 2: music 2/7, sound effects 7/7

And so on. My proposed change is:

Music volume 0: music 0/8, sound effects 8/8
Music volume 1: music 1/8, sound effects 7/8
Music volume 2: music 2/8, sound effects 6/8
Music volume 3: music 3/8, sound effects 5/8
Music volume 4: music 4/8, sound effects 4/8

And so on. (I bumped everything up to 8 so you can get a 1:1 ratio at 4 without changing the number of settings.)

There is a potential problem with this approach in that it won't match up with the old settings, which might confuse people unaware of the change. But at least this way, if people want music to drown out the game sound effects, they can have it do so. And it might also be possible to introduce a checkbox for "Use old behaviour of music volume settings" (or something along those lines), which would be a dead giveaway that things have changed.

I don't know how practical this is, but it might be a quick fix for quiet soundtracks. I've rarely had this problem with Eternal's soundtrack, but there are a few post-rock songs in my semi-official Chronicles soundtrack where it can be an issue. I can probably redo the mastering to lower the dynamic range a bit (I think I made it something like DR13 or even higher) and maybe make the crescendi a bit less extreme, but I'd rather not have to sacrifice too much of either unless it's necessary.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

I think I may have uncovered the source of most of the complaints.

Below is the audio track from a video I’ve uploaded fairly recently (my most recent film of “How to Disappear Completely”) from Marathon Chronicles. The bottom part is the waveform. The amount of time where the peaks are flat suggests that the game audio is clipping for at least 50% of the video’s runtime. (You will need to click on all of these to see them well, and even then you may need to increase the size of the image, because YouTube’s editor gives an inexplicably narrow preview of the audio.)
How to Disappear audio.jpg
And below is a detail of the video at a part where the audio clips particularly badly. For reference, the cursor is at the 5:48 mark.
how to disappear audio detail.jpg
To indicate that this isn’t simply an issue with YouTube’s editor, I’m throwing in the Eternal OST, which I specifically mastered to avoid any clipping. As you can see below, the peaks are pretty varied even in the louder songs.
Eternal OST audio.jpg
The issue appears to be that the game output is simply really loud and clips regularly. I suspect both this clipping problem and the problem some players have reported of being unable to hear the music over the game sounds can be solved by simply reducing the amplitude of all the game sounds, possibly by as much as 50%. I don’t expect the game audio to be entirely free of clipping, but if it’s clipping this much, it’s no wonder I was sometimes getting headaches playing the game with headphones when the soundtrack itself was also badly clipped. If people find the game audio too quiet after such a change, they can surely just increase their speaker volume. This seems like it’s probably the simplest fix, and it wouldn’t require implementation of ReplayGain support or anything else of the sort.

There’s still the matter of FLAC support, of course, but that can be a 1.4 feature. Maybe by that point I’ll understand C++ well enough to implement it myself.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Have you tried turning down the number of channels?
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

No, I hadn’t thought of that. Would that reduce the number of sounds being played in-game, though? I’m not entirely clear on what it would do, but it seems like I’d be missing some fairly important information if I did so.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

It would limit the number of sounds you hear, and thus the clipping as well.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

That’s fair, but it does seem like a bit of a stopgap solution. Would ambient sounds start cutting out, for instance, if I did that? Or would I be unable to hear enemies shooting at me sometimes? It seems like it’d potentially just be replacing one problem with another – perhaps a less annoying problem, but I won’t know until I try it, I suppose.

I guess what I’m asking is for a way to reduce the volume of the in-game audio in 1.3 final. Preferably one that would hold over into video exports, too, since those seem to include every sound regardless of settings (even if I have zero restart delay disabled, for instance, it still uses that, but I don’t know the exact specifics on how the video export function responds to audio settings. To be clear, I actually use zero restart delay most of the time when I’m playing, though I suspect I’ll turn it off again if doing so results in less clipped audio).

I suppose one other possibility would be to go through my sounds file and manually reduce the amplitude of every single sound, but that seems like a lot of work. Or change every “loud” sound to “normal” (or whatever), every “normal” to “quiet”, and then just reduce the amplitude of every “quiet” sound (I don’t know how much I’d have to reduce those to maintain the same volume ratio between sounds, though). Still a lot of work, though, and I’d have to do it for every game I played. So, y’know.

What I’m saying is it seems like the game audio, under the default settings, is quite loud, and if there’s a way to reduce the amplitude of the output, it would reduce a lot of the complaints people seem to have about the music volume and clipping problems. I don’t know how much work it would involve, though, whether it’s a single line in the code that could be changed or whether you’d have to revise several dozen subroutines, so if it’s too much bother, I can understand holding it off for 1.4. But it would be nice to have eventually.

For the record, I don’t play on headphones nearly as much as I used to, because I now have a Windows desktop capable of running most of Eternal’s levels, and 1.3 beta runs all of Chronicles’ levels on Windows without any problems. And I don’t have problems with the music volume being too quiet, usually. But I can see how it’s annoyance for people who play on headphones, which I still enjoy doing from time to time (apart from the clipping). This doesn’t have to be a high-priority change, but it would be nice to have someday.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

You can change the volume now in the settings.
User avatar
The Man
Vidmaster
Posts: 1203
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Awesome, thanks so much! I'll give it a try as soon as my schedule permits.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
Post Reply