+1 the era of the ogg q6 is upon us
You should be able to look at the target bitrate using tools such as mediainfo to make sure it's targetted to 192 kbps.dopaminos wrote:
i agree that q6 would be good to use instead of bitrate limit
but.. oggenc2.exe exists and if you can type commands in terminal, you can easily make ogg q5.9 or q6.9
Audio ID : 1602532132 (0x5F84B324) Format : Vorbis Format settings, Floor : 1 Duration : 2 min 37 s Bit rate mode : Variable Bit rate : 189 kb/s Channel(s) : 2 channels Sampling rate : 48.0 kHz Compression mode : Lossy Stream size : 3.55 MiB (85%) Writing library : libVorbis (Reducing Environment) (20200704 (Reducing Environment))
Audio ID : 1872549022 (0x6F9CD49E) Format : Vorbis Format settings, Floor : 1 Duration : 2 min 37 s Bit rate mode : Variable Bit rate : 192 kb/s Channel(s) : 2 channels Sampling rate : 48.0 kHz Compression mode : Lossy Stream size : 3.61 MiB (82%) Writing library : libVorbis (Reducing Environment) (20200704 (Reducing Environment))
Audio ID : 1438203793 (0x55B93F91) Format : Vorbis Format settings, Floor : 1 Duration : 2 min 37 s Bit rate mode : Variable Bit rate : 221 kb/s Channel(s) : 2 channels Sampling rate : 48.0 kHz Compression mode : Lossy Stream size : 4.15 MiB (84%) Writing library : libVorbis (Reducing Environment) (20200704 (Reducing Environment))
1. "The latest aoTuV beta6.03 was unified with Xiph.Org's libvorbis1.3.7" from aotuv website. I haven't really come across completely different encoders (like with mp3) so this is probably just added complexity.FazlyMR_ wrote:
After reading what that has been said about it, I would give my +1 on this.
But there are several things that I would like to probably be considered, such as:* Personally, I have experienced quite different bitrates given by both the reference Vorbis encoder from Xiph.org and the forked auToV Vorbis encoder for a given quality value thus requiring me to reduce the quality value when encoding with the auToV encoder to match what the bitrate of the reference encoder.
- Consider setting a standard encoder for a given quality value, since different encoders may have certain differences in how it compresses audio in the Vorbis format*.
- Consider ditching MP3 for future ranked beatmaps, due to Vorbis' ability to retain subjective quality better than MP3 at a given bitrate except if the original highest-quality audio available is only in MP3 and converting it to Vorbis would result in worse subjective quality.
- Consider setting a small margin of error for the lowest and highest bitrate limit, so cases such as average bitrates higher by 1 or 2 kilobits (such as 126kbps or 194kbps) would not be a problem.
Nominal is such a tricky word to pin down though, at least compared to average.MadBricktree wrote:
strongly agree
it is often way too much work than necessary to get the average bitrate just within rankable constraints as they can be very unpredictable due to the nature of VBR
though I do think a better approach to wording this would be to simply replace average bitrate with nominal bitrate
eg:
- ...have a nominal bit rate no greater than 192 kbps.
- ...have a nominal bit rate no lower than 128 kbps, if such a source exists. Otherwise, use the highest quality available.
This way all rankable formats (CBR/VBR mp3/vorbis) are covered without having to add an additional clause, while also accounting for nominal bitrates that are not preset quality levels (eg 180kbps nominal bitrate).
To respond to your replies one-by-one:sisig wrote:
1. "The latest aoTuV beta6.03 was unified with Xiph.Org's libvorbis1.3.7" from aotuv website. I haven't really come across completely different encoders (like with mp3) so this is probably just added complexity.FazlyMR_ wrote:
After reading what that has been said about it, I would give my +1 on this.
But there are several things that I would like to probably be considered, such as:* Personally, I have experienced quite different bitrates given by both the reference Vorbis encoder from Xiph.org and the forked auToV Vorbis encoder for a given quality value thus requiring me to reduce the quality value when encoding with the auToV encoder to match what the bitrate of the reference encoder.
- Consider setting a standard encoder for a given quality value, since different encoders may have certain differences in how it compresses audio in the Vorbis format*.
- Consider ditching MP3 for future ranked beatmaps, due to Vorbis' ability to retain subjective quality better than MP3 at a given bitrate except if the original highest-quality audio available is only in MP3 and converting it to Vorbis would result in worse subjective quality.
- Consider setting a small margin of error for the lowest and highest bitrate limit, so cases such as average bitrates higher by 1 or 2 kilobits (such as 126kbps or 194kbps) would not be a problem.
2. Huge agree. Though I'm a bit troubled by people transcoding their mp3s to oggs (which is less than ideal). It's probably better to still allow mp3s
3. You can't really account for this since you can have for that ~2 kilobits of variance with q6. (In some cases, q6 might give you 220kbps+ or 111kbps)
I feel like any doubts about audio quality can be easily cleared up by mappers just giving their encoder settings and how they got audio instead of pasting a spectro in modding discussions. I think audio right now is entirely based on trust and the fact that mapper really did do their best to find the 'best' audio. I personally don't think there's any issue with youtube rips or whatever but if someone gives you objectively better audio I think you'd be obligated to change it (subjective no change is such a shit argument because it literally takes 5 minutes to change audio, with audio modders already doing the bulk of the work)Kyuunex wrote:
I should add, nominal bitrate is simply the bitrate the encoder was aiming to acomplish. Nominal bitrate is stored in the ogg header, instead of being calculated based on the size and length of the audio stream.
Headers can probably be hex edited too to fake a specific nominal bitrate. As a good rule of thumb, if it's over 224 kbps, it's very unlikely to be q6, so, BNs checking maps would have to make their own encodes and compare the results.
This is true and this is a genuine concern that should be addressed if this proposal is to pass, regardless of if it is to be worded with q6 or with nominal bitrate. There is a chance that someone will maliciously edit the header to input a wrong nominal bitrate and there is no way to verify this with 100% accuracy.Kyuunex wrote:
I should add, nominal bitrate is simply the bitrate the encoder was aiming to acomplish. Nominal bitrate is stored in the ogg header, instead of being calculated based on the size and length of the audio stream.
Headers can probably be hex edited too to fake a specific nominal bitrate. As a good rule of thumb, if it's over 224 kbps, it's very unlikely to be q6, so, BNs checking maps would have to make their own encodes and compare the results.
Greaper wrote:
Moving this to archived as there is already a thread for the topic. Besides this, their comes quite some extra technicality if you want to support VBR6 (as the kbps can be ~192-224 somewhere in this range).
The hard cap of 192kbps will most likely not change any time soon as Peppy already said this was for file size purposes.
not entirely correct. most of the time ogg is smaller (even with higher bitrates) since a entirely different psychoacoustic model and compression algorithm is use but yeah i agree that the filesize argument doesnt make senseProtastic101 wrote:
Correct me if I'm wrong as I've only heard this and don't have anything to solidly back it up, but isn't .ogg usually a smaller filesize than .mp3? So q6 .ogg would theoretically be of a similar or smaller filesize than a 192kbps .mp3, so the filesize argument seems kind of null.
id argue that the shoenen thread isnt entirely relevant as that still associated bitrate with ogg quality (imo you shouldve pushed back against greaper's decision to archive it as its kinda different)ikin5050 wrote:
community/forums/topics/1323277?n=1 was proposed 2 years ago where people mentioned this community/forums/topics/1123516?n=20 was proposed even before thatGreaper wrote:
Moving this to archived as there is already a thread for the topic. Besides this, their comes quite some extra technicality if you want to support VBR6 (as the kbps can be ~192-224 somewhere in this range).
The hard cap of 192kbps will most likely not change any time soon as Peppy already said this was for file size purposes.
Just as overview to make sure people are aware of previous discussions that were conducted
this wording seems neaterKyuunex wrote:
Better way to word it:
- ...have an average bit rate no greater than 192 kbps if .mp3.
- ...be encoded with a quality preset no greater than q6 if .ogg.
From what I understood from digging up the source code, the quality parameter is directly correlated with a psychoacoustic model made specifically for that quality. So most likely would not differ from encoder to encoder.Kyuunex wrote:
One other thing to mention, the ogg encoder has advanced encode options. "These are intended for very advanced users only, and should be approached with caution.".
To the best of my understanding, a quality preset is simply a set of advanced encode options.
Perhaps we could restrict the use of advanced encode options unless the mapper knows what they are doing and if it would benefit the song, and in that case, limit to 192 kbps.
Here's the manual for the oggenc encoder https://man.archlinux.org/man/oggenc.1.en
Let me correct my previous message:Still the wording does feel kinda off.
- ...have an average bit rate no greater than 192 kbps if .mp3 or when using advanced encoding options with .ogg.
- ...be encoded with a quality preset no greater than q6 if .ogg if using a quality preset.
EDIT: also, some encoders may use different presets that lead to a different bitrate, perhaps we could standardize on the encoder used?
OGG Vorbis and MP3 should use its own respective settings, and cannot be mixed. MP3 uses average bitrate (if it's constant, then the average is same either way), and Vorbis uses quality preset (it's usually represented with the nominal/target bitrate).YuEast 2018 wrote:
very good idea.
but i wonder would there be situations that using q6 ogg but bitrate smaller than 192k? then which rule should apply? can i slightly increase the q to reach nearer to 192k?
true we allow situation of ogg q6 but over 192, it's a benefit. but i think you missed my point. mine goes for the situation like q6.1 191k in some of the song audio (it can happen), why not a higher quality if file size allows it?Ryu Sei wrote:
OGG Vorbis and MP3 should use its own respective settings, and cannot be mixed. MP3 uses average bitrate (if it's constant, then the average is same either way), and Vorbis uses quality preset (it's usually represented with the nominal/target bitrate).YuEast 2018 wrote:
very good idea.
but i wonder would there be situations that using q6 ogg but bitrate smaller than 192k? then which rule should apply? can i slightly increase the q to reach nearer to 192k?
This way, even if the average bitrate of a Vorbis is beyond 192K, it doesn't honor MP3 rules because OGG Vorbis is not MP3. We should only look at its nominal/target bitrate given by tools such as Mediainfo or Spek.
As I mentioned earlier, it's possible to "fake" nominal bitrate, but incredibly difficult. It's a net profit anyway since Vorbis doesn't suffer from desync issue than MP3 (though it's a non-issue in lazer, it's just simply superior).
the entire point of the proposal is to avoid things like this which makes things more complicated. the amount of improvement given by pushing 191.1kbps to 192~kbps is too small to even be perceived. quality for ogg is not tied to bitrate as it is in mp3 (supposedly), q6 is a sort of subjective metric for "cd quality-ish audio" and differs from audio to audioYuEast 2018 wrote:
very good idea.
but i wonder would there be situations that using q6 ogg but bitrate smaller than 192k? then which rule should apply? can i slightly increase the q to reach nearer to 192k?
yeah, for what it's worth any song that's quiet/whatever enough to be significantly under 192kbps (think 170s or low 180s) at q6 is gonna be good enough at that setting to sound identical to even q7 to my admittedly non-audiophile earssisig wrote:
the amount of improvement given by pushing 191.1kbps to 192~kbps is too small to even be perceived. quality for ogg is not tied to bitrate as it is in mp3 (supposedly), q6 is a sort of subjective metric for "cd quality-ish audio" and differs from audio to audio
$ ogginfo 1.01.\ Headhunter\ \(V2.0\).ogg Processing file "1.01. Headhunter (V2.0).ogg"... New logical stream (#1, serial: 05173f93): type vorbis Vorbis headers parsed for stream 1, information follows... Version: 0 Vendor: Xiph.Org libVorbis I 20200704 (Reducing Environment) Channels: 2 Rate: 44100 Nominal bitrate: 192.000000 kb/s Upper bitrate not set Lower bitrate not set User comments section follows... ARTIST=Front 242 TITLE=Headhunter (V2.0) DISCOGS_RELEASED=1988 TRACKNUMBER=01/4 Band=Front 242 STYLE=Industrial Part of a set=1/1 DISCOGS_VOTES=16 DISCOGS_RATING=4.31 ALBUM=Headhunter (WAX CDV 053) GENRE=Electronic DISCOGS_LABEL_ID=953 DISCOGS_ARTIST_ID=4655 DISCOGS_CATALOG=WAX CDV 053 DATE=1988 DISCOGS_RELEASE_ID=1466330 DISCOGS_COUNTRY=US DISCOGS_MASTER_RELEASE_ID=25203 DISCOGS_LABEL=Wax Trax! Records Vorbis stream 1: Total data length: 5369889 bytes Playback length: 3m:12.959s Average bitrate: 222.632449 kb/s Logical stream 1 ended $
$ ogginfo *.ogg | grep "Average bitrate" Average bitrate: 197.392729 kb/s Average bitrate: 180.220228 kb/s Average bitrate: 192.950073 kb/s Average bitrate: 174.502402 kb/s Average bitrate: 196.152223 kb/s Average bitrate: 173.812092 kb/s Average bitrate: 193.673712 kb/s Average bitrate: 176.858084 kb/s Average bitrate: 207.504557 kb/s Average bitrate: 186.560651 kb/s Average bitrate: 179.931218 kb/s Average bitrate: 193.895712 kb/s Average bitrate: 188.491357 kb/s Average bitrate: 180.570427 kb/s Average bitrate: 179.582664 kb/s Average bitrate: 192.333671 kb/s Average bitrate: 180.164604 kb/s Average bitrate: 177.743996 kb/s Average bitrate: 200.314585 kb/s Average bitrate: 187.173836 kb/s Average bitrate: 201.842008 kb/s Average bitrate: 201.506415 kb/s Average bitrate: 199.169113 kb/s Average bitrate: 181.397192 kb/s Average bitrate: 208.055042 kb/s Average bitrate: 175.153821 kb/s Average bitrate: 209.057230 kb/s Average bitrate: 205.186814 kb/s Average bitrate: 222.632449 kb/s Average bitrate: 212.488544 kb/s Average bitrate: 184.025038 kb/s Average bitrate: 198.302556 kb/s Average bitrate: 177.918441 kb/s Average bitrate: 188.567693 kb/s Average bitrate: 207.795620 kb/s Average bitrate: 213.135834 kb/s Average bitrate: 188.560423 kb/s Average bitrate: 189.686174 kb/s Average bitrate: 217.382349 kb/s Average bitrate: 194.471645 kb/s Average bitrate: 195.119720 kb/s Average bitrate: 192.209035 kb/s Average bitrate: 183.735931 kb/s Average bitrate: 193.348265 kb/s Average bitrate: 200.646282 kb/s Average bitrate: 176.654272 kb/s Average bitrate: 187.063315 kb/s Average bitrate: 186.881334 kb/s Average bitrate: 184.294724 kb/s Average bitrate: 182.004837 kb/s Average bitrate: 179.425439 kb/s Average bitrate: 180.896773 kb/s Average bitrate: 214.721070 kb/s Average bitrate: 179.454790 kb/s Average bitrate: 189.680735 kb/s Average bitrate: 191.038322 kb/s Average bitrate: 200.334648 kb/s Average bitrate: 201.197887 kb/s $
Detecting a nominal bitrate for an OGG is almost too difficult without external tools (at least a media player). Using the table of quality-to-nominal bitrate values and third-party tools like Spek or VLC, we can immediately able to check the nominal bitrate of the audio.Ephemeral wrote:
this should negate the need for people to use third party tools (as windows properties would be sufficient to pick up the bitrate listed above) to check for this and also keeps it simple. detecting basic q6 is not a trivial (or a solved) task, so we're probably going to have to lean on something "good enough" here instead
still not a fan of simply raising it to 208. as I mentioned in my previous post, it can go up to 224.Hivie wrote:
https://github.com/ppy/osu-wiki/pull/9266