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: foo_input_std with LAME VBR profile recognition (Read 66704 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_input_std with LAME VBR profile recognition



updated 16th jan 2005
Code: [Select]
about
=====
this is a modification of foo_input_std to read the lame profile used
to encode mp3s.

it exports the following info items:

%__lame_profile%     - for example "aps", "ape" or "apfs"
%__lame_version%     - for example "LAME3.90a"
%__lame_profile_idx% - for example 0 or 2, which corresponds to the
                       following list:
 NONE   0
 R3MIX  1
 APE    2
 APS    3
 APFS   4
 APFE   5
 API    6

source
======
a diff against the distributed version of mp3.cpp is included in the
src directory.

changelog
=========
16th jan 2005 - fixed a few minor bugs, added lame 3.96 --preset extreme support
14th dec 2004 - initial public release

author
======
 ctz <ctz@ifihada.com>

download

note: you will likely need to "reload info from file" to see the updated tags

foo_input_std with LAME VBR profile recognition

Reply #1
great plugin i love it

foo_input_std with LAME VBR profile recognition

Reply #2
Thank you, Great Plugin.

foo_input_std with LAME VBR profile recognition

Reply #3
is this meant to work on CBR mp3 aswell ?

Code: [Select]
bitrate = 320
channels = 2
codec = MP3
enc_delay = 0
enc_padding = 0
lame_profile =
lame_profile_index = 0
lame_version =
mp3_accurate_length = yes
mp3_stereo_mode = joint stereo
replaygain_track_gain = -8.16 Db
replaygain_track_peak = 1.040457
samplerate = 44100
   --------------------
13223279 samples @ 44100Hz
(rounded samples : 13222944)


this files was encoded lame, you can see it doesn't show the lame version number.

any ideas ?
Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith.

foo_input_std with LAME VBR profile recognition

Reply #4
Nice ... is it possible to have the third level of the Lame version (like 3.90.2)?

foo_input_std with LAME VBR profile recognition

Reply #5
Posting in support of ctz's awesome work.

foo_input_std with LAME VBR profile recognition

Reply #6
Quote
is this meant to work on CBR mp3 aswell ?
[a href="index.php?act=findpost&pid=259772"][{POST_SNAPBACK}][/a]

no unfortunately not. the lame version is stored as part of the vbr header. cbr file = no vbr header.

there may be an alternative way to read the encoder version, but i haven't investigated this yet.


foo_input_std with LAME VBR profile recognition

Reply #8
Excellent! Thanks.

Maybe further improvements could be made to this by using parts of the Mr Questionman source code?

foo_input_std with LAME VBR profile recognition

Reply #9
Quote
Excellent! Thanks.

Maybe further improvements could be made to this by using parts of the Mr Questionman source code?
[a href="index.php?act=findpost&pid=259962"][{POST_SNAPBACK}][/a]
Possibly too slow for general playlist use, but it would be great as a component/panel.

foo_input_std with LAME VBR profile recognition

Reply #10
This could be a great plugin and this is what foobar needs 
Thank you...great plugin

foo_input_std with LAME VBR profile recognition

Reply #11
I've been waiting for such a plugin for a long time !!!

thanks 
WavPack 4.31 -hm

foo_input_std with LAME VBR profile recognition

Reply #12
Wonderfull plug thanks CTZ!!!!

foo_input_std with LAME VBR profile recognition

Reply #13
Argh it doesn't work for me... is tehre something to do after installing the DLL in the components directory???
Thanks...

foo_input_std with LAME VBR profile recognition

Reply #14
Quote
Argh it doesn't work for me... is tehre something to do after installing the DLL in the components directory???
Thanks...


you need to "reload info from file" to see the new fields
Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith.

foo_input_std with LAME VBR profile recognition

Reply #15
Thanks ctz.

foo_input_std with LAME VBR profile recognition

Reply #16
Quote
the lame version is stored as part of the vbr header. cbr file = no vbr header.


The Lame version is stored into the INFO header. By default it is also written in CBR, but some encoding apps could decide to disable it.

foo_input_std with LAME VBR profile recognition

Reply #17
bitrate = 192
channels = 2
codec = MP3
enc_delay = 576
enc_padding = 1716
lame_profile =
lame_profile_index = 0
lame_version = LAME3.96
mp3_accurate_length = yes
mp3_stereo_mode = joint stereo
replaygain_track_gain = -9.08 dB
replaygain_track_peak = 1.026334
samplerate = 44100
    --------------------
4939788 samples @ 44100Hz
(mod 588 = 0)

This is taken from a CBR mp3.
Some show the lame version, and some don't (even if they were encoded by lame)
Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith.

foo_input_std with LAME VBR profile recognition

Reply #18
Would it be possible to also support preset medium? Or isn't it stored in the header?

Besides of that, VERY cool modification - thank you.

- Lyx
I am arrogant and I can afford it because I deliver.

foo_input_std with LAME VBR profile recognition

Reply #19
This foo_input_std mod doesn't recognize enc_delay and enc_padding of the mp3 file created by acmenc.
Therefore I can't get gapless playback.

foo_input_std with LAME VBR profile recognition

Reply #20
Thanks, good plugin, but needs VS7 (.net) stuff on the computer in order to work.

foo_input_std with LAME VBR profile recognition

Reply #21
Quote
This foo_input_std mod doesn't recognize enc_delay and enc_padding of the mp3 file created by acmenc.
Therefore I can't get gapless playback.
[a href="index.php?act=findpost&pid=261541"][{POST_SNAPBACK}][/a]


Is this bug valid? And if yes, has it been fixed or do you intend to fix it?

- Lyx
I am arrogant and I can afford it because I deliver.

foo_input_std with LAME VBR profile recognition

Reply #22
For some files I have, both tags exist but are empty, eg:

lame_version =
lame_profile =
lame_profile_index = 0
mp3_accurate_length = yes
bitrate = 154
codec = MP3
channels = 2
samplerate = 44100
extrainfo = VBR
mp3_stereo_mode = stereo

It seems they were encoded with Xing (new) VBR.

foo_input_std with LAME VBR profile recognition

Reply #23
normal foo_input_std :

enc_delay = 672
enc_padding = 1127
mp3_accurate_length = yes
bitrate = 128
codec = MP3
channels = 2
samplerate = 44100
mp3_stereo_mode = joint stereo
----------
1323001 samples @ 44100Hz
File size: 479 967 bytes


modified foo_input_std :

lame_version =
lame_profile =
lame_profile_index = 0
mp3_accurate_length = yes
bitrate = 128
codec = MP3
channels = 2
samplerate = 44100
mp3_stereo_mode = joint stereo
----------
1324271 samples @ 44100Hz
File size: 479 967 bytes


Sample file here.

I wish someone to fix this bug.

foo_input_std with LAME VBR profile recognition

Reply #24
Quote
Quote
This foo_input_std mod doesn't recognize enc_delay and enc_padding of the mp3 file created by acmenc.
Therefore I can't get gapless playback.
[a href="index.php?act=findpost&pid=261541"][{POST_SNAPBACK}][/a]


Is this bug valid? And if yes, has it been fixed or do you intend to fix it?

- Lyx
[a href="index.php?act=findpost&pid=265646"][{POST_SNAPBACK}][/a]
does the standard foo_input_std library read these correctly?  if so, could you give me a sample mp3 with the problem so i can debug?