Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: lame3100h, a functional extension (Read 45425 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

lame3100h, a functional extension

You can download it from here.

What’s the functional extension?

It offers additional VBR quality settings -V5+ to -V0+ which cover the average bitrate range from ~144 to ~300 kbps (for a variety of pop music):

-V5+     144 kbps
-V4.5+  160 kbps
-V4+     176 kbps
-V3.5+  192 kbps
-V3+     208 kbps
-V2+     224 kbps
-V1.5+  240 kbps
-V1+     256 kbps
-V0.5+  278 kbps
-V0+     300 kbps

An alternative way to use the functional extension is --brV+ x, where x is the average bitrate (for a variety of pop music) you want to use. You can use for instance --brV+ 224 instead of -V2+.

What is it good for?

Lame’s moderate VBR quality settings like -V5 or -V4 usually yield a very good quality. That’s why many users are happy with these settings. Sometimes however tracks contain spots which are not encoded well. Many users want a better quality also for these rather rare events. From current experience Lame3.100 alpha2 seems to scale well quality of tonal problems with -Vn level, but temporal resolution can still be an issue.

-Vn+ uses -Vn as the encoding basis, but adds a certain amount of brute-force safety by forcing audio data bitrate to a target bitrate which depends on -Vn+ level. Moreover care is taken to always provide maximum possible audio data space for the encoding of short blocks which are used when the encoder thinks it is appropriate for a good temporal resolution. Also Lame's default lowpass is lowered a bit in order to make best use of the encoded bits (use --lowpass x if you don't like this).

Emphasis is on issues with temporal resolution, but tonal problems are tackled as well.

In a sense -Vn+ combines the quality advantages of both VBR and CBR.

Recommendations

Users who care much about filesize and are content with the functional extension improving short block (pre-echo) behavior, can use -V5+ to -V4+.

Users who don’t like rather obvious issues in their music even when they’re rare but who also care about filesize are best to choose from -V3.5+ to -V1.5+ according to their needs.
For a significant potential for improving tonal issues -V3+ or better is recommended.

Users who don’t care much about filesize but much more about universal top quality are best served by using -V1+  or V0+, or anything in between.

Installation

lame3100h.exe was compiled with Visual C++ 2010. For this reason it is necessary to install the Microsoft Visual C++ 2010 Redistributable Package vcredist_x86.exe. You can download it from  http://www.microsoft.com/en-us/download/details.aspx?id=8328

lame3100h.exe uses the fast and lossless mp3packer tool internally to squeeze the otherwise unused bits out of the mp3 file. You can download mp3packer from  http://www.hydrogenaudio.org/forums/index....st&p=282289. Put mp3packer.exe into the same folder where lame3100h.exe is located. Many thanks to Omion for this great tool.
In case there is no mp3packer.exe in lame3100h.exe’s folder lame3100h.exe will work, but the mp3 files will be somewhat larger than necessary.
lame3995o -Q1.7 --lowpass 17

lame3100h, a functional extension

Reply #1
Absolutely great, halb27! Thank you very much for your effort!

lame3100h, a functional extension

Reply #2
Average bitrate on my set of pops and jazz albums.
Code: [Select]
lame3100h --brV+ %v %i %o
%v   Average bitrate[bps]
0    268195
5    133357
9    72714
10    32362
143    32362
144    143518
160    159543
176    175258
192    191156
208    206293
224    222684
240    239031
256    254897
272    270994
288    286859
300    297909
301    32362
320    32362
329    32362


lame3100h, a functional extension

Reply #3
Average bitrate on my set of pops and jazz albums.

Looks like it's working as advertised!  If it's possible to do so, I'd recommend extending the existing algorithm so that -brV+ 32 through -brV+ 320 are also recognized.  I know that -V+ 32-143 isn't particularly useful, but I could see uses for 301-320.

lame3100h, a functional extension

Reply #4
Average bitrate on my set of pops and jazz albums.
%v  Average bitrate[bps]
0   268195
5   133357
9   72714
10   32362
143   32362

144   143518
160   159543
176   175258
192   191156
208   206293
224   222684
240   239031
256   254897
272   270994
288   286859
300   297909
301   32362
320   32362
329   32362


So those that I've bolded are not close to the bitrate requested. I guess anything below 143 should ideally be mapped to 144 and anything above 300 should be mapped to 300 and possibly throw a warning that the requested bitrate target is out of range and specify the one actually used.
Dynamic – the artist formerly known as DickD

lame3100h, a functional extension

Reply #5
So those that I've bolded are not close to the bitrate requested. I guess anything below 143 should ideally be mapped to 144 and anything above 300 should be mapped to 300 and possibly throw a warning that the requested bitrate target is out of range and specify the one actually used.

It looks like the new --brV+ function is using the standard -V+ function for values 0-9, and anything outside of the 144-300 range (the range that -V+ is defined for) errors out.  Either 32-143 should be mapped to 144, and 301-320 to 300 like Dynamic suggests, or the --brV+ function should be extended to the full range of MPEG-1 bitrates (32-320).

lame3100h, a functional extension

Reply #6
This is very strange.
I reject --brV+ values lower than 144 and higher than 300 kbps and stop with an error message.
I've downloaded the published version again, and it behaves as it should here.

Has somebody else encountered the behavior Kamedo2 ran upon?
lame3995o -Q1.7 --lowpass 17

lame3100h, a functional extension

Reply #7
Sorry, I forgot to delete past mp3s and the results were a combination of
lame3100h -brV%v %i %o
lame3100h --brV+ %v %i %o
The only 144-300 section is the result of --brV+ %v.
Code: [Select]
lame3100h --brV+ %v %i %o
144 143518
145 150712
146 151222
147 151723
148 152186
149 152730
150 153276
151 153857
152 154381
153 154908
154 155439
155 156028
156 156618
157 157186
158 157809
159 158478
160 159543
161 160236
162 160974
163 161754
164 162568
165 163390
166 164271
167 165197
168 166145
169 167159
170 168224
171 169293
172 170447
173 171554
174 172759
175 173987
176 175258
177 176207
178 177174
179 178172
180 179124
181 180137
182 181121
183 182142
184 183136
185 184107
186 185079
187 186076
188 187113
189 188099
190 189082
191 190092
192 191156
193 192105
194 193085
195 194026
196 194903
197 195916
198 196857
199 197721
200 198653
201 199644
202 200595
203 201577
204 202464
205 203397
206 204396
207 205374
208 206293
209 208505
210 209517
211 210492
212 211328
213 212258
214 213229
215 214046
216 215058
217 216060
218 216894
219 217896
220 218912
221 219829
222 220857
223 221780
224 222684
225 223693
226 224617
227 225739
228 226710
229 227728
230 228821
231 229792
232 230682
233 231673
234 232697
235 233665
236 234751
237 235687
238 236712
239 237782
240 239031
241 240096
242 241108
243 242169
244 243188
245 244241
246 245264
247 246268
248 246957
249 247980
250 249062
251 250053
252 251081
253 252074
254 253103
255 254140
256 254897
257 255971
By the way, I prefer the --brV+ 320 to be redirected to --brV+ 300, meaning -V0+, because the 320 kBit/s bitrate selection box on EAC V1.0b3 can be used without errors.

lame3100h, a functional extension

Reply #8
By the way, I prefer the --brV+ 320 to be redirected to --brV+ 300, meaning -V0+, because the 320 kBit/s bitrate selection box on EAC V1.0b3 can be used without errors.

Personally, I would prefer that --brV+ 320 actually aim for ~320kbps, or result in an error code, rather than be redirected.  But this is a simple preference.

lame3100h, a functional extension

Reply #9
I've changed --brV+ x behavior for x < 144 and x > 300.
No more error message and stop, instead: --brV+ 144 is used for x < 144, --brV+ 300 is used for x > 300.
You'll get this behavior when downloading now.

The --brV+ x -> -V y+ mapping isn't very good when x is a little bit higher than 144.
The background is that -V5 yields an average bitrate of 130 kbps, wheras -V4.99 takes an average bitrate of 140 kbps. This bitrate jump is at least softened when going -Vx+.

lame3995o -Q1.7 --lowpass 17

lame3100h, a functional extension

Reply #10
I've changed --brV+ x behavior for x < 144 and x > 300.
It worked for me. Thank you!
Code: [Select]
lame3100h --brV+ %v %i %o
%v  average bitrate of pops and jazz albums[bps]
0 143518
4 143518
8 143518
12 143518
16 143518
20 143518
24 143518
28 143518
32 143518
36 143518
40 143518
44 143518
48 143518
52 143518
56 143518
60 143518
64 143518
68 143518
72 143518
76 143518
80 143518
84 143518
88 143518
92 143518
96 143518
100 143518
104 143518
108 143518
112 143518
116 143518
120 143518
124 143518
128 143518
132 143518
136 143518
140 143518
144 143518
148 152186
152 154381
156 156618
160 159543
164 162568
168 166145
172 170447
176 175258
180 179124
184 183136
188 187113
192 191156
196 194903
200 198653
204 202464
208 206293
212 211328
216 215058
220 218912
224 222684
228 226710
232 230682
236 234751
240 239031
244 243188
248 246957
252 251081
256 254897
260 259052
264 263170
268 266899
272 270994
276 275071
280 278791
284 282878
288 286859
292 290465
296 294294
300 297909
304 297909
308 297909
312 297909
316 297909
320 297909
324 297909

lame3100h, a functional extension

Reply #11
When do you guys think you will release lame 3100 officially ?

lame3100h, a functional extension

Reply #12
When do you guys think you will release lame 3100 officially ?

Jack,
Halb27 isn't an official author of LAME - he just has a popular extension, based on the main version of LAME, that he releases to HydrogenAudio enthusiasts regularly.


lame3100h, a functional extension

Reply #14
if I use Lame

add -q0 or -h parameter can provide better quality ?

Should I use -q0 or -h setting?

lame3100h, a functional extension

Reply #15
Replied at the other thread

lame3100h, a functional extension

Reply #16
With command
Code: [Select]
-S --noreplaygain -V1+ -%d

The progressbar does not move, estimated time just get higher and higher. Whats wrong here?
I use foobar. I got mp3packer.exe in the same folder, and haven't renamed the lame3100h.exe.
Also got c++ 2010 installed

lame3100h, a functional extension

Reply #17
there should be a space between - and %d


lame3100h, a functional extension

Reply #19
what's the benefit using this lame3100h 32 bit only instead of lame 3.100 alpha2 64 bit preset V0 ?

lame3100h, a functional extension

Reply #20
I'm almost ready for the MP3 224kbps ABC/HR listening tests.
Encoders
LAME3100h(this encoder) V2+
http://dl.getdropbox.com/u/2681777/Lame3100h/lame3100h.zip
LAME 3.99.5 V1
http://www.rarewares.org/files/mp3/lame3.99.5.zip
LAME 3.98.4 CBR 224kbps -q 0

Helix MP3 Encoder(2005) -X2 -U2 -V146
http://www.rarewares.org/files/mp3/helix_mp3enc_CVS.zip
BladeEnc 0.94.2(low anchor)
http://www.softpedia.com/get/Multimedia/Au.../BladeEnc.shtml

Bitrates
encoders 25-samples albums
3100h  234.6  222.7
3.995  227.5  224.6
3.984  224.6  224.1
Helix  221.3  225.3
Blade  224.1  224.0

Decoder: Madplay(32bit decoding)

Should I wait for something newer or fix anything?

lame3100h, a functional extension

Reply #21
Why are you comparing VBR with 3.99.5 and 3.100h against CBR with 3.98.4? If you want the target bitrates to be close to 224 kbps for comparison purposes for each version, it seems to me that you ought to use V 1.5 or some other non-standard value in 3.98.4 so you're comparing VBR against VBR in all cases, rather than quality-based encoding schemes against a filesize-based one. Perhaps I have misunderstood the purpose of your test.

lame3100h, a functional extension

Reply #22
what's the benefit using this lame3100h 32 bit only instead of lame 3.100 alpha2 64 bit preset V0 ?

You can expect quality improvements of 3100h -V0+ over 3.100a2 -V0 on rare occasion. It's up to you whether you think it's worth it.
I will stay with only the 32 bit version for reasons of simplicity.

Sorry for the late reply.
lame3995o -Q1.7 --lowpass 17

lame3100h, a functional extension

Reply #23
Should I wait for something newer or fix anything?

As far as lame3100h is concerned: I have no plans for a newer version.
But I see you don't include Lame 3.100 alpha2 in the test. This brings the problem that in case lame3100h would show up quality advantages in your test we don't know whether these are due to the improvements of 3.100 or whether they are due to the functional extension.
lame3995o -Q1.7 --lowpass 17

lame3100h, a functional extension

Reply #24
Why are you comparing VBR with 3.99.5 and 3.100h against CBR with 3.98.4? ...

I find it very interesting to have a CBR 224 version for comparison. Quality behavior is different, and it would be great to learn about these differences in a new listening test IMO.
lame3995o -Q1.7 --lowpass 17