IPB

Welcome Guest ( Log In | Register )

2 Pages V   1 2 >  
Reply to this topicStart new topic
lame3100l - a constraint vbr variant
halb27
post Aug 20 2013, 13:57
Post #1





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Whats lame3100l?
It's an extension to Lame 3.100 alpha2 which offers constraint vbr mode.
-Vn defaults to this constraint vbr mode. Average bitrate increase for quality levels -V5 to -V0 is only 2 kbps (for a variety of pop music) compared to original Lame.
Audible advantage of this variant is rare. It can be experienced for instance with samples eig and lead-voice.
Using a very high quality -Vn level and a very demanding constraint mode option (see below) allows for a better signal to noise ratio than when using -V0. This can help bring very hard problems like harp40_1 a bit further to perfection.

--cvbr x, 9 >= x >= 0, or x = -1
Constrained vbr mode is controlled by cvbr level.
Lowest cvbr level is 9.0, highest cvbr level is 0.0.
Default cvbr level for -V5 (and lower) is 9.0, -V4 defaults to cvbr level 8.0, ..., and -V0's default cvbr level is 4.0.
Using the --cvbr x option overrides the default cvbr level.
Using a cvbr level better than 4.0 together with -V0 or -V1 can improve those small issues which still exist when using -V0. Try samples herding_calls and harp40_1 for a corresponding listening experience.
Interesting example settings:
-V0 --cvbr 0 (yielding 316 kbps on average) is an extremely high quality alternative to cbr 320.
-V0.5 --cvbr 3.5 (266 kbps) is a bit saving very high quality alternative to this.
--cvbr -1 turns cvbr mode off and falls back to original Lame behavior.

--bCVBR x, 135 <= x <= 316
x is the desired average bitrate for a variety of pop music.
For x <= 230 or x >= 278 -Vn is chosen internally together with the corresponding default cvbr level in such a way that average bitrate is x. For 230 < x < 278 however there is a certain bias towards a somewhat higher cvbr level. This has a positive effect on the small remaining issues mentioned before with harp40_1 and herding_calls.

For more details, especially on installation, see the provided documentation.
lame3100l can be downloaded from here.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
halb27
post Aug 20 2013, 14:11
Post #2





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



As for the stopped discussion in the 3100k thread:

When somebody wants to publish a variant to my variant I'd like him to contact me. We should try to find a solution which makes its way into a new version. Defaulting to another lowpass is not interesting however as we have the --lowpass option, so everybody can use a lowpass according to what he prefers.

Sure everybody can create a personal version for personal use, but please don't publish it. I think nobody wants a forest of variants.
This holds for my variant as well, and I'd welcome very much if my modification would make it into official Lame, so I could stop creating my variant.



--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
halo001
post Aug 27 2013, 05:47
Post #3





Group: Members
Posts: 15
Joined: 26-February 13
From: Philippines
Member No.: 106896



So it is possible that your variant will officially be part of Lame Project? If Yes, I'll be very glad to hear that especially with the current development of your work.
but I have a question about as of usage, can I use lame3100l with foobar to encode my tracks directly from FLAC?
Go to the top of the page
+Quote Post
halb27
post Aug 27 2013, 06:49
Post #4





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



QUOTE (halo001 @ Aug 27 2013, 06:47) *
...can I use lame3100l with foobar to encode my tracks directly from FLAC?

Sure you can, using foobar's command line interface for encoding.
Right-click on a FLAC track of your playlist, choose 'Convert', '...', click on 'Output format', click on 'Add New', and describe your encoder like this:



Modify my Encoder file path and personal setting --bCVBR 266 to what you use.
You need to do this only once. Later just select your new encoder when you want to encode.

This post has been edited by halb27: Aug 27 2013, 06:51


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
halo001
post Aug 27 2013, 08:24
Post #5





Group: Members
Posts: 15
Joined: 26-February 13
From: Philippines
Member No.: 106896






Thank you very much. Works fine except for one thing. I noticed that there are file size variation between track encoded directly to lame3100l.exe (via cmd) as track encoded on foobar (via foobar's commandline interface). I encoded a single track, 3:55 in Length both with the same settings but the file size differ from one another. and these are the resulting file size:

1. 9,053 KB - Encoded via cmd (1); and
2. 9,126 KB - Encoded using foobar (2)

(Note that I use the setting on the image)


1. 6,023 KB - (1)
2. 6,097 KB - (2)

and this time I encoded the track with settings -V2 --cvbr 5.5 -ms --replaygain-accurate --lowpass 19205

The filesize is somewhat larger with foobar than cmd.

This post has been edited by halo001: Aug 27 2013, 08:53
Go to the top of the page
+Quote Post
halb27
post Aug 27 2013, 11:18
Post #6





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



I guess foobar writes tags to the file after encoding.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
Kamedo2
post Aug 30 2013, 03:50
Post #7





Group: Members
Posts: 182
Joined: 16-November 12
From: Kyoto, Japan
Member No.: 104567



Something is strange. My CPU is sometimes in idle during the execution. FFmpeg never had such behavior.
I'm running 2 lame3100ls simultaneously on the Intel Core i7 870, and it may be causing the strange behavior.
Go to the top of the page
+Quote Post
Kamedo2
post Aug 30 2013, 04:32
Post #8





Group: Members
Posts: 182
Joined: 16-November 12
From: Kyoto, Japan
Member No.: 104567



Apparently, this encoder is about 5x slow when the file name includes two-byte characters. It also happens when only one lame3100l was executed per time.
It can be lame3100l side problem, or mp3packer side problem, or some bugs in my script. Windows 7 Home Premium 64bit was used.

I'll figure it out, but it'll take time.
Go to the top of the page
+Quote Post
halb27
post Aug 30 2013, 08:26
Post #9





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Can you give an example of such a file name?


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
Hex144
post Aug 30 2013, 08:46
Post #10





Group: Members
Posts: 17
Joined: 13-February 13
Member No.: 106615



QUOTE (Kamedo2 @ Aug 30 2013, 05:50) *
Something is strange. My CPU is sometimes in idle during the execution.


I encounter a similar problem quite frequently when encoding via foobar and with mp3Packer.
The packed file cannot be overwritten onto the original mp3 and the encoding speed in the foobar converter drops to zero for ~30 sec, then I end up with two files: the original lame output and another suffixed with "_mp3packer".
Of course, I have to reencode it, because the packed file isn't tagged.
It may be a Windows "file-in-use"-type glitch.
A bit of a PITA.

PS: I haven't paid close attention but iirc, it happened quite randomly, not necessarily with unicode file names.

This post has been edited by Hex144: Aug 30 2013, 08:51
Go to the top of the page
+Quote Post
halb27
post Aug 30 2013, 11:06
Post #11





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Now that you write this I remember having had similar issues on occasion. It happened very rarely though and I also thought of timing problems.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
Kamedo2
post Aug 30 2013, 15:49
Post #12





Group: Members
Posts: 182
Joined: 16-November 12
From: Kyoto, Japan
Member No.: 104567



I tested using 13 diverse songs at --bCVBR 128kbps, 144kbps, 160kbps, ... , 304kbps, 320kbps(13 bitrates).

lame3100l without mp3packer : 14.3x ~ 25.8x realtime
lame3100l with mp3packer without two byte characters : 13.4x ~ 25.5x realtime
lame3100l with mp3packer with two byte characters : 1.3x ~ 3.4x realtime

As we can see, this encoder is reliably slow when the mp3packer is in the same folder and the wav file name includes two byte characters.
And this encoder is particularly slow(1.3x) when the wav file is short, and when that happens, the CPU usage is mostly less than 2%.
Go to the top of the page
+Quote Post
halb27
post Aug 30 2013, 17:22
Post #13





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Please give me an example for such a filename so I can have a look into the issue.

This post has been edited by halb27: Aug 30 2013, 17:23


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
Kamedo2
post Aug 31 2013, 00:59
Post #14





Group: Members
Posts: 182
Joined: 16-November 12
From: Kyoto, Japan
Member No.: 104567



Example of a filename that makes this encoder pause.

11. Полюшко-поле ''Le Vent Vert''_short.wav
CODE

ABC-HR>lame3100l.exe --bCVBR 256 "11. Полюшко-поле ''Le Vent Vert''_short.wav"
"11. Полюшко-поле ''Le Vent Vert''_short.mp3"
LAME 3.100 (alpha 2, Jul 24 2013 18:42:25) extension:l 32bits (http://lame.sf.ne
t)
warning: alpha versions should be used for testing only
Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
Encoding ABC-HR\11. Полюшко-поле ''Le Vent Vert''_short.wav
to ABC-HR\11. Полюшко-поле ''Le Vent Vert''_short.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0.647059)
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
115/115 (100%)| 0:00/ 0:00| 0:00/ 0:00| 15.895x| 0:00
32 [ 0]
40 [ 0]
48 [ 0]
56 [ 0]
64 [ 0]
80 [ 0]
96 [ 0]
112 [ 1] %
128 [ 5] %%%%
160 [ 0]
192 [ 0]
224 [ 3] ***
256 [ 94] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320 [ 12] %%%%%%%%*
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
255.0 94.8 5.2 94.3 3.5 2.2
Writing LAME Tag...done
ReplayGain: +6.7dB


It stops after printing ReplayGain: +6.7dB, and after about one minute, the cmd restarts.
And the unicode mp3 seems to be unpacked and it's compressible by the mp3packer from the cmd (no stops in here).

This post has been edited by Kamedo2: Aug 31 2013, 01:00
Go to the top of the page
+Quote Post
BFG
post Aug 31 2013, 03:39
Post #15





Group: Members
Posts: 206
Joined: 22-July 12
Member No.: 101637



QUOTE (halb27 @ Aug 30 2013, 05:06) *
Now that you write this I remember having had similar issues on occasion. It happened very rarely though and I also thought of timing problems.

I've had this happen on occasion too. It at least occasionally appears to be due to Windows trying to access the album art within one of the files in order to create a thumbnail for it.
Go to the top of the page
+Quote Post
halb27
post Aug 31 2013, 14:03
Post #16





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



QUOTE (Kamedo2 @ Aug 31 2013, 01:59) *
Example of a filename that makes this encoder pause.

11. Полюшко-поле ''Le Vent Vert''_short.wav
...

I renamed a short wav file to your name using Explorer and copy & paste for the filename. No problem.
I tried to use your command line using cmd, but I couldn't get your filename in. Copy & paste doesn't work here.
However I could use foobar for converting this file using your command line. No issue whatsoever, also mp3packer worked fine.
I'm on a Windows 7 Pro SP1 64 bit system and use foobar2000 v1.2.9.

Have you tried using foobar?

This post has been edited by halb27: Aug 31 2013, 14:04


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
[JAZ]
post Aug 31 2013, 15:37
Post #17





Group: Members
Posts: 1762
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



You don't need to write the whole name in windows vista/7 as the cmd client is better than in XP and does autocomplete with the tab key. Start writing the name (in this case 11.) and press the tab key. It should autocomplete it.

It can even autocomplete with wildcards, i.e writing *.wav and pressing tab several times will loop between all wave files under that directory

Btw, the reason why they don't show properly in the console is because the default font doesn't handle unicode. Right click on the window icon (the one in the titlebar), properties, font and there select "Consolas" or "Lucida console" instead of bitmapped font.
Go to the top of the page
+Quote Post
halb27
post Aug 31 2013, 16:22
Post #18





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Thank you, JAZ, changing the font from within cmd did the trick. I could confirm the problem.

The problem is that mp3packer isn't used, but it looks like it's tried to be used intensively until it's all stopped. And obviously it's the parameter passing to mp3packer which doesn't work in this case.
Strange though that everything is fine when used from within foobar.
Well, I can look into the code whether I can fix it, but, Kamedo2: do you really encode from the command line for practical purposes? For mere looking at lame3100l's behavior because of Lame's display output it's not necessary to use mp3packer.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
Kamedo2
post Aug 31 2013, 17:21
Post #19





Group: Members
Posts: 182
Joined: 16-November 12
From: Kyoto, Japan
Member No.: 104567



QUOTE (halb27 @ Sep 1 2013, 00:22) *
do you really encode from the command line for practical purposes?


No, practically, I use LAME via Exact Audio Copy(EAC). And I use WSH+Javascript to test the validity of codecs. If anything goes wrong, I use cmd to see whether it's a bug in my script, or it's the encoder side problem.

I already encoded hundreds of mp3s by my script while I was sleeping, and I've confirmed that lame3100l+mp3packer is always slow with unicode filename, always fast with one-byte filename.
Go to the top of the page
+Quote Post
halb27
post Aug 31 2013, 20:06
Post #20





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



I've looked up the code. I've found a spot where my treatment of character strings probably isn't adequate for unicode strings. It explains why a lot of time is spent without significant cpu usage. I'll try to fix it, but I'm afraid it won't help much because I think mp3packer isn't called in a way that works (because otherwise a <filename>_mp3packed.mp3 file would exist). I'll look into it.

This post has been edited by halb27: Aug 31 2013, 20:07


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
halb27
post Aug 31 2013, 21:16
Post #21





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



OK, looks like the real problem is that I call mp3packer using ShellExecuteA. I should use ShellExecuteW in the case of unicode filenames.
I'll fix that within the next days.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
halb27
post Sep 1 2013, 14:11
Post #22





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



I just realized that current mp3packer does not work with your filename (though it is said to support Unicode).
So I will not change lame3100l.

A workaround in your script can be what foobar does: rename the file as the first operation, and re-rename it as the last.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
[JAZ]
post Sep 1 2013, 14:56
Post #23





Group: Members
Posts: 1762
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



I beg to differ:
CODE

E:\programes\AudioCodecs\lamehalb>mp3packer.exe "11. Полюшко-поле ''Le Vent Vert''_short.wav.mp3"

*** '11. ╗║-┐╗ ''Le Vent Vert''_short.wav.mp3' -> '11. ╗║-┐╗ ''Le Vent Vert''_short.wav-vbr.mp3'
100% done with 542 frames (60.51x)

E:\programes\AudioCodecs\lamehalb>ls -l
total 6640
----------+ 1 JosepMa None 412906 Sep 1 15:46 11. Полюшко-поле ''Le Vent Vert''_short.wav-vbr.mp3
----------+ 1 JosepMa None 431386 Aug 31 17:12 11. Полюшко-поле ''Le Vent Vert''_short.wav.mp3



E:\programes\AudioCodecs\lamehalb>mp3packer.exe -u "11. Полюшко-поле ''Le Vent Vert''_short.wav.mp3"

*** '11. ╗║-┐╗ ''Le Vent Vert''_short.wav.mp3' (backup to '11. ╗║-┐╗ ''Le Vent Vert''_short.wav-vbr.mp3')
Do you really want to overwrite '11. ╗║-┐╗ ''Le Vent Vert''_short.wav-vbr.mp3'? (y/n)
y
100% done with 542 frames (113.27x)



E:\programes\AudioCodecs\lamehalb>mp3packer.exe --copy-time "11. Полюшко-поле ''Le Vent Vert''_short.wav.mp3"

*** '11. ╗║-┐╗ ''Le Vent Vert''_short.wav.mp3' -> '11. ╗║-┐╗ ''Le Vent Vert''_short.wav-vbr.mp3'
100% done with 542 frames (456.72x)

E:\programes\AudioCodecs\lamehalb>dir
El volumen de la unidad E es DATA
El nmero de serie del volumen es: C024-FDFC

Directorio de E:\programes\AudioCodecs\lamehalb

01/09/2013 15:51 <DIR> .
01/09/2013 15:51 <DIR> ..
31/08/2013 17:12 412.906 11. Полюшко-поле ''Le Vent Vert''_short.wav-vbr.mp3
31/08/2013 17:12 431.386 11. Полюшко-поле ''Le Vent Vert''_short.wav.mp3




E:\programes\AudioCodecs\lamehalb>mp3packer -z --copy-time -u --process sse41 "11. Полюшко-поле ''Le Vent Vert''_short.wav.mp3"
WARNING: SSE4.1 unsupported

*** '11. ╗║-┐╗ ''Le Vent Vert''_short.wav.mp3' (backup to '11. ╗║-┐╗ ''Le Vent Vert''_short.wav-vbr.mp3')
Do you really want to overwrite '11. ╗║-┐╗ ''Le Vent Vert''_short.wav-vbr.mp3'? (y/n)
y
100% done with 542 frames (25.19x)

E:\programes\AudioCodecs\lamehalb>dir
El volumen de la unidad E es DATA
El nmero de serie del volumen es: C024-FDFC

Directorio de E:\programes\AudioCodecs\lamehalb

01/09/2013 15:53 <DIR> .
01/09/2013 15:53 <DIR> ..
31/08/2013 17:12 431.386 11. Полюшко-поле ''Le Vent Vert''_short.wav-vbr.mp3
31/08/2013 17:12 412.904 11. Полюшко-поле ''Le Vent Vert''_short.wav.mp3



Its display does not support unicode, but filenames are properly used in all cases. Version 2.04
Go to the top of the page
+Quote Post
halb27
post Sep 1 2013, 22:35
Post #24





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



You're right, sorry.
I had got the error message 'No Input given', but I must have done something wrong.
I just tried again, and everything was fine.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
halb27
post Sep 2 2013, 18:11
Post #25





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



I have fixed the issue.
When downloading again it should work now.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 28th July 2014 - 16:26