Manual / Help /
Description
manual version 04-07-01
for program version 04-08
1. What does this program do?
2. Getting started
3. Program Description
2. The extraction
process
3.8 Trimming
4. Bits and pieces - Q&A
4.4
1. What does this
program
do?
1.1
Brief
Description
Mp3Extractor's main objective is to extract
one or
several
(adjacent or non adjacent, but no overlapping) portions from an audio
file and
write them to new (optionally tagged) audio file files. It can also be
used to
trim and split audio files.
The portions to be extracted (or where to trim,
respectively) are determined by
listening
to the input file and dropping markers at the
supposed times.
mp3Extractor does not include a player
but
uses
Nullsoft Winamp 2 or 5 under
(bi-directional) remote control. So, you can
either navigate through
your file using Winamp's interface - or control Winamp entirely through
mp3Extractor. The latter is recommended (and obligatory for VBR
files!) as it is
specifically optimized for doing the job of scanning the input file and
finding
the right places for your markers - even in large files. However, by
using
Winamp, you still benefit from all of Winamp's features, such as the
equalizer.
All the markers dropped appear on a spreadsheet
where they can be modified and the playback can,
of course, be made to
jump to them. Additional information entered in
the spreadsheet will be used to tag the
exported audio files (and optionally written to a database). The
spreadsheet
data
(marker times, marker type, tag information) can be saved
to a tab delimited text file of the same
name as the input file (InputFileName.mlf)
.
This program was originally written with the
objective
of simplifying the otherwise enervating process of cutting hour-long
radio music
shows: separating interesting songs from crap like the DJ's talk, the
news,
station jingles and the mass of uninteresting music - and write out
these tracks
(and only these tracks) properly named and tagged. There are lots of
programs that can cut audio files (e.g. MP3TrackMaker
which I
used myself before deciding to write this program). However, THIS is my
idea of how to do this quickly and efficiently on a regular basis. You
will not find audio visualization (much too slow with large files and
not very helpful when there are no obvious gaps in the audio signal).
There are no means of audio editing (fading etc.) as I consider this
too much fussing around. Everything is conceived to avoid any
unnecessary mouse usage, as this always slows things down. Navigating
the input file, setting, checking, and moving markers can (and should!)
be done using keyboard shortcuts. Only then you will discover the true
power and ease of mp3Extractor. Take some time to practice, it will pay
off! If you have an idea on how to speed things up further, please let
me know.
2. Getting started
2.1
Requirements / Limitations
OS compatibility
32 bit Windows.
Mp3Extractor
was developed and tested under
Windows ME.
All basic features should work under
Win 9x,
the download client might not work with very old versions like 95
first
release.
Tested and adapted to
Windows XP.
Compatibility probably covers all
newer NT-based systems including Win
2000.
Requires
Winamp 2.8 (April 2002) or Winamp 5
2.05
at least
is essential, but you will experience problems with the Play To Marker feature with versions older than 2.8.
For best results, makes sure you have the current
Winamp 2 or 5 (2.9x or 5)
Does NOT work with:
Winamp 3
and never will. Why? With the release of Winamp 5, this problem is off
the agenda. :o)
Supported audio file formats
1. MPEG layer III (*.mp3) version 1 and 2 (2.5 not
tested).
2. Windows PCM Wave files (*.wav) (since 0406)
For details on both see below.
MP3 file requirements
MP3's should not contain any data except valid
frames and ID3 tags (version 2 at byte zero only).
Variable bitrate files (VBR or ABR or patched files including different
bitrates) are supported since 0406, but must have a Xing-style VBR
header.
These conditions will be checked on project creation, incompatible
files will be modified on request (Corrector tool).
mp3Extractor has been tested mainly with
input
MP3's created by the Lame encoder (layer 3 version 1 - CD sampling
rate) with
bit rates between 80 and 192 kbps (joint stereo) and lengths between
two and
three hours.
If problems occur with other file sizes,
encoders and
bit rates, especially concerning cutting precision, please let me know
so that I
can have a look at the issue.
WAV files
WAV files will, in most cases, be of
a simple and strict standard format. However, there are countless
varieties out there and it seems hopeless to consider them all. This
program only performs minimum checks on WAV files (unlike MP3's) and
tries to take a flexible approach towards different formats, which
will, hopefully, work out fine with most formats. It works smoothly,
for example, with compressed WAV files (ADPCM) that are generated by my
Medion MP3 player in dictation mode. The problem with this approach is
that it might always fail unexpectedly. Please let me know of such
cases - a solution will probably be right at hand.
Other issues
This program as well as Winamp need write
access
to the directories where their executables are located for the mp3Extractor
to work correctly. (Don't try to run them from a CD
or on a
system that restricts access to the mentioned directories to
read-only.)
Screen resolution: 800 x 600 minimum. 1024 x
768 or more
recommended.
Demands on system speed are generally low as audio data is not
visualized. However, frame to frame scans of large files (if
necessary) can be time consuming on slow machines. And considerable
number crunching is necessary when seeking in VBR files (offset
correction by cyclic approximation) but any 7th generation CPU
(vulg.: ~500 MHz up) should be fine.
2.2.1
Checking / installing Winamp
Make sure you have at least Winamp 2.8
or 5 installed (NOT Winamp 3), otherwise,
download the
installer from http://winamp.com
and complete the
installation process. For help on installing and using Winamp, consult
Winamp's
help/ support.
Note unless you know: Winamp is a very
popular player, as it was, back in the 90's, distributed with the then
quasi standard internet browser Netscape. It is FREE, at least in the
standard version. All you need
for mp3Extractor is the lightest version they offer - a rather tiny
download.
2.2.2
Mp3Extractor
installation
Now, you're ready to install mp3Extractor;
just
run the installer. There are no options to be considered, except for
the
installation directory.
2.2.3
Acquainting mp3Extractor with
your
Winamp
The first time being run mp3Extractor
will want
to know the location (the full filename including path) of your Winamp
installation. However, mp3Extractor will find Winamp on its
own, if you
make sure Winamp is running during this first start. There will be a
reminder to
that effect. If everything goes well, you'll be done.
Only if this auto detection fails (which
is very
unlikely, but who knows) you will have to set Winamp's location
manually. Find
out the path. It is probably something like
C:\Programs\Winamp\winamp.exe.
Search for "Winamp.exe" using the Windows file search in the Start
Menu. If, for
example, Winamp came with Netscape it will most likely be in Netscape's
directory. Mp3Extractor will prompt you for the location of the
Winamp
program file (executable). A directory browser will pop up. Browse to
the
directory that contains "Winamp.exe" and click Open.
Only if Winamp moves out of sight, by
reinstallation or
other, will this procedure be necessary again. (Or if you delete mp3Extractor.ini
for that matter.)
2.3
First Steps with mp3Extractor - A guide to quick results
You are
lost at what to do with mp3Extractor? This is the guide to getting
started fast.
It is assumed in this guide
that mp3Extractor and Winamp are already installed
on your system and that mp3Extractor has already detected
Winamp.
The next steps are as follows:
1. Starting a new project
|
|
|
For simplicity, start off by
making Winamp play the input file that you want to extract from. (Consult
Winamp's documentation on problems with Winamp.)
The scenery on your
desktop
will then look something like the screen shot on the right. You can now
start
a new project by clicking the Catch From Winamp button below
the time display.
Depending on the program version, you might be asked if you'd
like to "create an MLF" to save the new project. Decline this for
simplicity as long as you are just trying things out. (Read below about
saving projects.)
After a quick check of the input file, the new project will be opened
and
the program window will widen to show the marker list and all, as in
the
shot on the very top of this page. If you see a warning or error
message instead, read details about the PreScan.
This catch from Winamp approach has the advantage,
apart from being easy to explain, that Winamp is synchronized
right away, that is, Winamp is actually playing the right audio file..
If problems occur or for details read this.
|
2. Navigating the input file
|
|
|
The next task is to find the
portions you want to extract, or to be precise, the beginnings and
endings of these portions.
You may use Winamp's interface to navigate your file, or take Winamp
under remote control from mp3Extractor. The latter is recommended, this way, you will
only
have to deal with one window in the following. Note: In
mixed bitrate MP3's, direct access to Winamp will be blocked by
mp3Extractor and remote control is obligatory.
Details about controlling Winamp through mp3Extractor.
|
3.a. Setting markers for extraction
|
|
|
Find the beginning of
your desired track within your input file. Rewind a few seconds ahead
of it (e.g. by
clicking the Step back arrow button (<--) on mp3Extractor's
main form) and then click on the In
button as playback passes along to set the in
marker.
The In/
Cut / Out/ Check buttons are disabled? Winamp is
not
playing or playing the wrong track! Click the Synchronize Winamp button!
Synchronizing Winamp
The result will
be something like this:
As the gray bar suggests, extraction would now start at
the In marker and extent up to the end of the input file.
Now find the end of your track and drop an Out
Marker:
At this stage, extraction in this example would yield a four minute
track out of a two hour input file.
Repeat this procedure as many times as the number of tracks you want to
get out of your input file.
For details and on how to extract consecutive tracks without gaps
between them and the meaning of cut and check markers
read this. |
| 3.b. Setting markers for trimming |
|
|
You
need one or two markers for trimming, depending on whether you want to
trim your file at one end, only, or at both sides.
That means: If you want to cut away the first 20 seconds of your file,
drop a marker there. If you want to cut off something at the end, drop
a marker there. Or do both. (You will decide on the trimmer mode later,
that is, after calling the trimmer routine.)
The
task of setting markers is the same as in the above extraction example.
It
does not matter what types of markers you use or how many additional
markers you set, as trimming is done based on the first and/ or last
markers in the list - of any type.
Now, you might be interesting in tuning your markers (see next point).
|
| 4. Checking and tuning markers |
|
|
Basically
you are ready now to extract your tracks, but as dropping markers while
playback
is moving along isn't exactly the most precise method for positioning
markers,
you might want to check and tune your marker first. (Else
continue at the next point.)
There are many ways to
check a marker. For example: Double
click on the marker time in the mark list to make Winamp jump to that
marker.
This way, out (and cut) markers will be played to marker, that
is, playback will jump a little ahead of the marker and pause at the
marker time. Details about and possible problems with
this.
Having found out a marker isn't exactly where it
is supposed to be, you might want to reset
or move it. Here is how:
Select the marker in the list.
Resetting works like the initial dropping
only that no new marker is created: Clicking the Reset button
will reset the marker's time property to Winamp's current playback
time.
Buttons are disabled?
Winamp is not playing or playing the wrong track! Click the Synchronize
Winamp button! Synchronizing Winamp
If don't get it right
this way, try moving the marker. Clicking a Move
button will move the selected marker by one second back or ahead,
respectively.
Playback will automatically jump to the new marker time. (Again,
Out and Cut markers will cause playing To Marker.)
One second will be a far too large step for fine tuning a marker. Try right
clicking the Move arrows instead, this will result in tenth of
a second steps; the smallest steps available in mp3Extractor.
This should do for the moment. In the long run it will be more
efficient
to use the space and backspace keys for moving ahead and back,
respectively,
and combine these with key factors as explained here for moving split or
multiple seconds.
Markers can also be converted, that means, their type can be changed.
|
5. Adding track information
|
|
|
If you want
to supply tag information for your extracted files, put them in the marker list.
Place the information for each track in line with the marker
that starts this track.
That are the in or (preceding) cut markers,
respectively, as in the screen shot.
|
6. Starting the extraction
|
|
|
When you're done
setting and tuning all markers and having entered all tag information,
click the Extract button to start the extraction.
For details on file naming modes and tagging read more here.
|
7. Saving/ re-opening projects
|
|
|
The information you entered with
an mp3Extractor project can be saved to file
(*.mlf). This program includes some mechanisms (the project history) to
keep
this MLF linked to the input audio file. The most important thing to
keep in
mind
is that mp3Extractor will only re-open an MLF
with an audio file of the same name. Therefore, there is no choice
on the
MLF's name on save.
More about the project idea in this program and some DO's
and DONT's.
Consider setting some general project options
according to your needs.
|
8. Cleaning Up
|
|
|
This feature is a tool for discarding projects the orderly way. Removes all
project files in one step and keeps the project history clean.
|
|
|
|
3. Program
Description
No Project, Winamp
not running
To start off with, you have an input audio file
that
you want
to extract from.
3.1.1
Choosing an input audio file
Open that audio file in mp3Extractor
by
selecting
Project -> New from the main menu. You have
the choice
of specifying a file location (-> Browse for audio file) or catching
a
file currently playing in Winamp (-> Catch From Winamp).

If Winamp
is playing and there is no project open, the context sensitive
button below the
time display has a similar effect (see screen shot).
You may also drag an audio file from
Windows
Explorer and drop it onto the program's form or use the Send
To
function in Windows Explorer.
Before mp3Extractor formally creates a new
project, two
checks are being performed (in the following order)
1. A history look-up.
2. A check of the input file (see below).
If everything goes well, a new project is
created and
written to history. (Earlier program versions wrote to history only on
saving
the MLF.)
3.1.2
Checks on the input file:
History check
The project history is
being searched to find out if a project of the name of the chosen audio
file
is already
known. The name of a mp3Extractor Project is the same
as the audio file's
without the file extension (and without the path). By convention, all
files
belonging to a project (beside the audio file, possibly an MLF, and
optionally additional
linked files, see below) have (and must have) the same (the
project's)
name and only differ in their file extensions. They do not have to be
in the
same directory, though. (Why is there such a
restrictive project file naming convention?)
In case the project name already is in history,
you will
be asked some pop-up questions to avoid things getting screwed (and
possibly
work getting lost): One of which, of course, is the obvious one - if
you meant
to reopen an existing project.
On reopening existing projects, the
audio file will also be checked for signs of changes to audio data.
3.1.3
Checks on the input file: The PreScan
Mp3Extractor checks the
input audio file
for compatibility when a new project is created.
WAV files will either be accepted or rejected.
In case of MP3 files, the scan is a quite sophisticated procedure.
Its main objective, apart from finding
the exact output time, is to
detect
variable bit rate MP3's, VBR headers, junk data, and unsupported files.
The best case scenario is a clean constant bitrate file (CBR). After having looked at the 2000 frames in a file, Quick Scan is able to project the
findings on the rest
of the
file and the predictions made on this basis actually turn out to
be true: The file size matches a sum of frame sizes and a random frame check proves that at
selected offsets valid frames can actually be found. This means it is
safe to calculate the output time and all frame positions by a simple
formula, avoiding a time consuming full scan.
In all other cases, be it that frames of different bitrates or a VBR
header was detected or the projections (maybe by as little as one byte)
failed, a full frame by frame scan is called for. By now, that doesn't mean there is any significant
problem with
the file,
it just means that it could not quickly be verified that there is none.
The full scan will locate any frame position in the file, calculate the
output time precisely and surely find junk data and frames of different
bitrates. A minor amount of junk is allowed, larger amounts are
offensive. Mixed bitrate files and such that have a VBR header call for
special treatment. Mixed bitrate files need to have a correct VBR
header. Missing or invalid headers are offensive.
After all, in
practice there are
four possible outcomes of the PreScan:
1. The may be found to be okay, on way or the other.
2. The file contains minor amounts of junk, usage of the Corrector is
optional.
3. The may be declared
incompatible on the as-is basis.
In a
dialog, such as the one in the screenshot, you will be asked about
processing your file by the Corrector
tool. If you accept, the file will automatically be modified, just as
if you added it to the Corrector window manually, only that you won't
see the Corrector form itself. If you
deny file modification, the file
will be rejected.
4. The file will
be rejected outright. Unsupported or unknown format, corrupted,
whatever.
Contact me if you think this is an error in case of your file. But first, read
this: mp3Extractor does not work
with my
audio file.
You may save the information you
entered with
MP3Extractor, that is, the marker times and the entries in the marker
list in an
MLF (Maker List File, *.mlf), mp3Extractor own file format (a
tab
delimited text file organized in a certain way): Project -> Save
.
As mentioned above, the projects name is
defined by the
input audio file, but you may select the directory to save the MLF in.
3.1.5
The project idea in mp3Extractor
- Some words of warning
Mp3Extractor features quite an elaborate
concept of
project management that was designed to keep things in order even if
you work on
a couple of dozens of unfinished projects over weeks and month: you
don't have
to remember different file names or where you stored what file.
The concept, as it may already have been
noticed, is
based on two ideas:
a. Input audio file and the MLF that belong to
a
project (and
possibly further linked files) have the same (preferably unique) name -
the
project name - and differ only in their extensions.
b. The history keeps track of the projects, in
fact, it
keeps track of the project names (not including path!) and records
where
(including absolute path) the input audio file and if and where a MLF
was
stored
(including absolute path).
While these conventions are meant to simplify
project
handling they can (and will) only do so if the user does not try to
work against
them. In the latter case mp3Extractor might even turn a little bitchy.
Here is a
list of some DOs and DON'Ts (to be continued...):
|
DON'T
|
DO
|
|
Try to keep several projects of same name
in different
directories, like:
/030315/MyFavWeeklyShow.mp3
and
/030322/MyFavWeeklyShow.mp3
mp3Extractor will always assume it's the
same project
which has moved or has broken links and, in an effort to fix things,
might tempt
you into mixing up audio files and MLF's that do not belong together.
|
Make sure all your input files have
unique names. If,
for example, you make regular recordings, include the date in the
filename:
MyFavWeeklyShow030315.mp3
|
|
Rename single project files.
mp3Extractor will NEVER open an MLF with
an audio file of a
different name.
|
Make sure you rename all files that
belong to a project
and give them the same name again. Reopen by
MLF and supply the audio file's location.
|
|
Simply delete project files through the
Windows
Explorer. By doing so, the project history will get cluttered with dead
links.
|
Use Run ->
CleanupExpert
to move all project files to an archive folder of your choice. At the
same
time,
this project will be marked as trashed in the project history and will
no longer
be displayed.
|
Unfortunately, this concept has no good
solution
in cases where you might want different MLF's (different extraction
schemes)
to one audio file and keep both. I haven't yet come across such a case,
so
this
possibility has so far not been seriously considered.
3.1.6
General project
options
If you work with mp3Extractor on a regular
basis, you
should check out the project options under Options ->
Projects:
1. Set the directory where mp3Extractor expects
your
input audio file's - that is the audio file that you want to extract
from.
This simplifies browsing and helps the program in finding audio files
in case you open a saved project by choosing an MLF.
2. On starting a new project...
You have three options: mp3Extractor can assume you want to create an
MLF, ask you about it or leave you alone. Creating an MLF, either way,
requires a decision on where to save - see next point...
3. When creating MLF...
If you keep all your MLF's in the same folder or always save
MLF´s with the input audio file, you
might not want to be asked about this anymore: Use Place MLF in
default
folder and make your choice below.
If you combine this with "automatically create MLF" (see above) all
worries are behind you. :o)
4. By default, mp3Extractor auto saves MLF's
after every
change you make. Though you can turn auto save off (Project -> Auto
Save), it will turn on ever again when
you open (or create) the next project. To suppress this behavior for
good, check the box Do not
auto save MLF.
Then, you may still switch auto save on and off
manually, but the default for next projects is off. (In other words:
mp3Extractor does NOT remember your manual setting beyond the current
project. Every time you open or create a project the setting set herein
takes effect.)
Because the project history keeps track of
project names
and file locations, you can reopen a project by specifying
either the audio file or MLF of the project - by whatever you
happen to run across
first
exploring your disk. This is reflected by the sub items (by audio
file
and by
MLF) in the Project -> Open menu.
Note: You can choose any of the two types both
ways. The
only difference is that the directory browser starts off with the
specific
default directory of either input audio files or MLF's set under Options
->
Projects.
If Winamp is running you may reopen (Project
->
Open -> Catch from Winamp) a project by catching a file
currently
playing in Winamp.
You may also use the context sensitive button
below the
time display (see the above screen shot) for re-opening projects: The
difference
between this button and the menu items, though, is that by clicking it
you do
not explicitly tell mp3Extractor to either re-open or create as new.
So, what it
does, is look in history: If the project name is found, it is assumed
that you
mean to re-open an existing project.
If everything is fine and the corresponding
other
project file can be found at the original location the project is
reopened
without further comment. If there is no such project in history you can
still
open as new.
If something is wrong and the linked file can not be found,
you'll
be presented with alternatives on how to set things straight again. In
this
respect reopening from Winamp, of course, amounts to the same as
opening by audio file.
You may reopen a project by going
straight to
the project history (Project->History) and choosing a
name there.
This approach will fail if both project files have been removed from
their
original location - but if at least on of them can be found you'll get
prompted
just like in the above cases.
Dropping an MLF on the program window
will also
result in the attempt to reopen the corresponding file.
The project history is stored in form of a tab
delimited
text file (the itself 'invisible' ASCII character 9 "tab" subdivides
lines into
virtual columns), by the name of "Mp3Extractor.hst" in the same
directory as the
program executable. You may view and edit it with a simple text editor
such as
Windows Notepad. This might come in handy if, for example, you decided
to move
all your project files to a different drive or something, in the case
of which
you could search and replace all drive characters using Notepad to set
all links
straight again.
Right next to the history is the ini file
"Mp3Extractor.ini". It stores all permanent program settings.
As if it need be said, edit these files only if
you know
what you're doing. Especially, make sure that these files always end
with a
return character, that is, the cursor being in a last line that is
still empty!
Skimming through your input file and deciding
on the
parts you want to extract will in many cases be the most time consuming
part of
working with the mp3Extractor. mp3Extractor offers some
features that
simplify both getting a quick overview of large input files as well as
swift and
precise navigation to particular points of interest.
3.3.1
Synchronizing Winamp
As a project is successfully opened, mp3Extractor
will go looking for Winamp.
If it's not already running mp3Extractor
will
prompt you for starting it. If you accept, Winamp will automatically be
launched
and will begin to play the project audio file.
Likewise, if Winamp is running but playing
nothing or a
different track, than the project's audio file, a dialog box will pop
up asking
if to
synchronize Winamp. This is a term used throughout the
program and
it means precisely this: Winamp is synchronized (to
mp3Extractor)
if it is playing the project audio file - and the current playback as
supplied by Winamp is fit for use
with the current project. (The second part of this condition
might sound cryptic at this point. It alludes to synchronization of
mixed bitrate MP3's, read below.)
These messages
will be generated by mp3Extractor
every time Winamp loses
synchronization (by
user intervention or other) while a
project is open. However, if you decline synchronization (or launching
Winamp)
at such a prompt, the mp3Extractor remains in
unsynchronized
mode and you
will not get prompted again in the course of this project unless you
synchronize
manually (Winamp
-> Synchronize = Ctrl W). If, after
a manual
synchronization, Winamp later runs out of synchronization again, there
will be,
as makes a lot of sense, another pop-up reminder. The same applies if
Winamp, by
some way, returns to synchronization on its own – which will
automatically
be detected.
Synchronization is, of course, absolutely
vital when setting markers, as it wouldn't make any sense to listen
to just
something instead of the input file and drop markers at it -
markers that
will later be mistakenly applied to the real input file.
However, I
didn't want mp3Extractor to take Winamp completely into
custody, so I
came up with the solution of having a synchronized and an
unsynchronized mode of the mp3Extractor as described
herein.
You can't drop, move or jump to markers in
unsynchronized mode, but this is the only feature exclusive to
synchronized
mode. Anything but unimportant features, though.
Winamp not synchronized (Note the
disabled buttons)
Synchronization and mixed bitrate MP3's
In mixed bitrate MP3's, mp3Extractor's co-operation
with Winamp
is a lot more tricky, which is (apart from other problems) why previous
versions of this program did not support such files.
The core of the problem is that in mixed bitrate files, unless Winamp
has played a file continuously from the very beginning, the current
track time displayed can not be regarded as being accurate, in fact, in
longer files it may easily be as far as 30 seconds or more off the
true time!
How come? I will try my best at explaining this shortly...
When an audio file is played, a player continuously moves from audio
sample to audio sample (or frame to frame in MP3 files), puts out the
sound and counts up playtime as it goes along. However, if players like
Winamp seek within MP3 files, they do not scan a file from sample to
sample (or frame to frame) to find the correct sample (or frame) to
continue playback at, since this would be much too time consuming.
Instead, they make a simple calculation: So and so many
milliseconds of playback time equal so and
so many bits (or bytes) on disc. This relation is widely known as the
bitrate of a file. So, to find the byte (offset) within a file that
corresponds to a certain millisecond of playback time, all that must be
done is to multiply the desired time by the bitrate and there you go.
Now, if a file contains audio data encoded in different bitrates, this
calculation will invariably fail. Some strategies have been devised to
at least keep errors within reasonable limits. One of which is the so
called Xing header, that encoders add to mixed bitrate files. They
contain information on the all over playback time and a 100 position
table of contents that relates all integer valued percentages of
playback time to a certain position in the file. But in the end, all of
these ar just crutches and absolute timing errors in large files remain
tremendous compared to the precision you would naturally expect from a
program like mp3Extractor.
It had seemed like a hopeless case as I
cannot change Winamp's behavior when seeking in files. But I came up with a solution that is based on
correcting the
times supplied by Winamp.
Apart from the obvious need to know all true positions of audio data
within the file the only other condition is that mp3Extractor needs to
stay up to date with seeking actions that occur in Winamp, since the
errors occur (only) at seeking.
In the end, it boils down to this: Take the current time as displayed
by Winamp and correct it by the error that was (possibly) made at the
last seek: The true timing is yours.
In practice, only two, but rather nasty, consequences have to
be
considered:
1. A mixed bitrate MP3 must always be scanned completely before work.
2. Knowing that Winamp is playing the input file is not enough for
considering Winamp synchronized in case of mixed bitrate files. As long
mp3Extractor doesn't know about at what point the last seek occurred (if
a seek occurred, which must be reckoned with) it cannot correct track
times which are therefore of no value at all.
mp3Extractor must take
total control over Winamp, as Winamp cannot be asked about
seeking
actions after the fact and would not notify mpExtractor of such an
event either. Thus, mp3Extractor must
initiate playback in Winamp under
own control - or gain control over playback already running by
initiating a seek under own control before Winamp can be considered
synchronized at all.
Then again, synchronization must be considered compromised as soon as
the user has a chance to take direct control over Winamp behind
mp3Extractor back.
Access to Winamp's window must therefore be
checked
on. In practice, mpExtractor will
therefore minimize Winamp and disable its
interface while working on a mixed bitrate MP3. User attempts at
bringing up Winamp's window will cause a
prompt from mp3Extractor warning you of loss of synchronization. Only
if you accept, will Winamp interface be re-enabled - and
synchronization will be considered compromised.
On return to mp3Extractor, a pop-up will appear informing
you to the
effect that mp3Extractor will initiate seeking in Winamp to regain
synchronization. Seeking will be directed at the time currently
displayed by Winamp - which is the obvious choice, as some seeking MUST
be done, but preferably at a point not too far from the current
playback position. Now, a funny effect might surface (which, however,
shouldn't at all surprise you if you followed the reasoning so far):
playback might jump unexpectedly
- back or forth. It proves the point
that the timing Winamp displays on playing a certain section of a
variable bitrate MP3 does not always align with the section it actually
jumps to when it is asked to seek to the time it had previously
displayed! (And mp3Extractor cannot prevent this funny effect caused by
the seek, as long it hasn't gained control, which, in turn, it only
gains AFTER the seek. This is the classic hen and egg problem!)
Don't try to
trick mp3Extractor's regime over Winamp by any remote
control that accesses Winamp's functions circumventing Winamp's
windows, such as Winamp's global shortcuts! You will face undesired
effects!
The mp3Extractor window features a
track
bar similar to the one on Winamp's interface. This one is larger,
though and
allows for more precise movements. The time display shows the track bar
position
during dragging.
3.3.3
Adjustable
speeds for fast forward and rewind: Step
and Page
Mp3Extractor knows two types
of incremental
playback jumps: (small) step jumps and (wide) page
jumps. While a step jump is one or several (or split, see
below) seconds
wide, the page jump counts in minutes.
To take a
jump, either use the buttons on the main form or much rather use the
Home / End keys (step) or the Page
Up / Page Down keys (page, hence the
name). All
these functions, including the key combinations explained below, are
also
accessible through the main menu Winamp -> Step or ->
Page,
respectively.
The jump increments (the jump
sizes in
seconds and minutes, respectively) can be adjusted (whole numbers only,
though) under Options - > Jumps
/Skips. In older program versions these settings could be made
directly on the main form. The button
Jump and Skip Parameters? is what is left of this, it
brings you to the correct options tab.
As if this wasn't enough flexible jumping,
there is even
more to it. You can take split or multiplied jumps by using
combinations
with shift, ctrl and / or alt keys. This works for step
as well as
page jumps. For example: Pressing Ctrl+PageUp causes a
rewind of
30 seconds if the preset page increment is 1 minute,
since Ctrl
causes a split by half. Here are all six supported combinations:
|
Ctrl
|
/2
|
|
Shift+ Ctrl
|
*2
|
|
Alt
|
/5
|
|
Shift+ Alt
|
*5
|
|
Ctrl+ Alt
|
/10
|
|
Shift+ Ctrl+ Alt
|
*10
|
Note: The same key combinations also
work
for moving markers, although in moving
there is a fixed default length of one second, so all splits and
multiples are
applied to that basic one second.
How to remember the key combinations?
Simple.
Note that there are only three different factors (2, 5, 10) and the
whole
concept is strictly arithmetic. Ctrl stands for 2, Alt
for 5.
Pushing both at a time makes 2*5=10. Without Shift these
numbers are
dividers, if you also push Shift, they represent factors. (Shift
causes reciprocal factors as one might put it.) Because split jumps
will be more
often used then multiplied jumps (the latter being also attainable by
multiple
jumps) they are assigned to the simpler key combinations. Now, all you
have to
remember are the factors 2 and 5 for Ctrl and Alt.
There is another way of controlling Winamp,
once markers are set. Playback time can be
made to
take a leap at a marker.
This feature is helpful for navigating the
input file
and even essential for checking the exact position of a marker.
Mp3Extractor knows two ways of jumping to
markers:.. (Note that jumping to is used as the general
term that
covers both Playing From and Playing
To.)
3.3.5
Playing
From
Marker
Playing From Marker (Winamp
->
Jump To Marker -> Play From Marker)
Pressing Shift+Return shifts
playback to
the marker selected in the marker list
spreadsheet and resumes at its exact time.
The same happens on double clicking an In
or
Check Marker or pressing the Jump To Marker Button below
the time
display while either an In or Check marker is selected.
Tip: Drop a Check marker at a time that
you might
want to return to later.
Playing To Marker (Winamp
-> Jump To
Marker -> Play To Marker)
Pressing Ctrl+Return triggers Play
to
Marker on the selected marker.
Playing To Marker works like this:
Playback jumps a little ahead (default 1s,
subject to setting) of the actual
marker time.
The time display inverts at this stage,
then pauses shortly (again default 1s, subject to setting) at the marker's time (as
exactly as
possible, see below) while the display turns
olive
and finally continues playing from that
position (the
display turns normal again).
This is especially useful for finding the exact
time to
end a certain section, for finding the 'punch out'.
Therefore, this is the default action performed
if you
double click an out marker's time
cell in the marker list
spreadsheet. The same goes for
Cut markers, for
which the time ahead as well as after matters. Both can be judged best
using
Play To Marker. However, In and Check
marker's will default to Play From
Marker on double clicking. The same rules apply to clicking the Jump
To
Marker button below the time display,
Pressing Ctrl while double clicking will
trigger the
respective non default action.
The same rules apply for jumps performed
automatically
on moving markers - in the case of which,
however, the default action will always take place.
3.3.7
Possible problems with and settings
for jumping to markers
Stopping Winamp
precisely at a given time
proved to be
kind of tricky to implement, as this is a feature that Winamp's API
does not
support directly. The workaround: Taking a time reading, calculating
the
time left, wait for that time to pass and then 'press the pause button'
under
program control. However, it turned out that the actual times where
Winamp comes
to pause show an offset and a considerable variation at each individual
attempt
- in the range of one or two MP3 frames or more - with the risk
of these
errors being far larger at times, e.g. when the Windows message cue is
crowded
with other application's messages.
Output Plugins
The Output Plugins
determine Winamp's exact behavior and reactions on seek and pause, both
basic functions needed for jumping to (and stopping at) markers.
Nowadays, Winamp 2 and 5 come with two standard
output plugins: WaveOut
and DirectOut,
the former being the older and simpler one.
In Winamp, press Ctrl+P to get to the Preferences window; on the left,
select Plug-ins -> Output to see the plug-ins you have
installed and their settings.
Both plug-ins can be a problem with mp3Extractor.
Only since Winamp 2.8 is the included WaveOut.dll capable
of stopping precisely enough to make Playing
To
Marker
possible with reasonable precision. (Indeed, Nullsoft's
version
history has an entry: "WaveOut made
skip
less" listed with V 2.80. This change seems
to correspond to this effect.)

On the other hand, DirectOut out
includes optional fading
effects that, if enabled, are the sure death to all
precision with mp3Extractor, since they obscure the true marker
positions when playing to or from markers. To make matters worse, the default settings for fade on seek and on pause are enabled!
To prevent unnecessary dissatisfaction with
mp3Extractor that may
arise from these problems, mp3Extractor checks on Winamp's output
plug-ins (since v04.03.x) once per session when the first attempt at
seeking occurs, and again if there's evidence something's wrong. Only WaveOut and DirectOut will be allowed as
output plug-ins, and in DirectOut, fades on seek and on pause will be disabled.
These checks and manipulations take place via Winamp's ini file and
Winamp's registry keys. Winamp will automatically be shut down and
restarted so that changes take
effect.

Settings for Play
To Marker
Whatever the
output plug-in, mp3Extractor keeps track of the
discrepancies between supposed and true pause times and tries to
individually optimize an offset variable for
the
system (and the output plug-in!) it's running on, to minimize errors.
Nevertheless, it might
always happen
that an attempt at pausing at the right time will go amiss more than a
tolerable
amount, in which case a pop-up window will appear informing you to that
effect.
You can set the Precision Threshold (the
maximum
tolerated error that does not cause a pop-up) can be set under Options
->
Winamp.
This also includes other Options for Playing To Marker:
1. the Back
Step: the time playback starts off ahead of the marker
2. the Pause time
playback
pauses at the marker time.
3.3.8
Navigating Winamp using the marker bar
As the
marker bar is strongly marker related, its features are explained in
the context of markers. See there.
3.3.9 Two hours in 20
minutes: Random Skip
Random Skip is a function to
simplify the task of quickly screening large audio files.
Usually, you would listen and periodically hit the Jump Forward
button in search of whatever you're looking for. But how about
quickly screening last night's two hour radio recording while having
breakfast - without staring at the screen and spreading butter over
keyboard or mouse?
In Random Skip mode playback
will automatically skip from time to time. Both the width of these
skips and the time between skips are randomly varied within ranges of
values that can be set under Options
-> Jumps / Skips (see shot). At the end of file playback will
start over from the beginning. Since jumps and skips are
randomly varied, you will hear different fractions every time around.
To give you an idea of how fast
your screening will be, resulting average values are automatically
being calculated for the current settings and displayed below.
To eliminate random effects simply make minimum and maximum
values equal.
Random Skip is activated on the main form pushing the button or by
Ctrl+R. Active Random Skip is
signaled by the Rnd Skip
button appearing pushed and a
counter appearing below which counts down the seconds
to the next skip. Once a skip has a occurred, another button, Skip Back, is enabled. Now, what's
that? According to Murphy's Law, random events always occur
when you need them least. This also goes for random skips: They always
occur at the very moment you're hearing something interesting. Now
you'd like to jump back, but the bad deal with random skips is... that
they're randomized and you won't be able to tell where the last skip
originated from. Skip Back
brings you back there.
to index

This is actually the core of the whole
business: Setting
the markers according to which later the process of extracting
the new files will take place.
What we want to do in extraction is picking
out the raisins from the cake. To extract
rather than cut in this
sense,
you'll need at least two different kinds of markers: One to signify the
beginning
of a part to be extracted (to stay in the picture: edge of raisin) and
another
to call it an end (other edge of raisin). We will be looking at this
concept more closely soon.
Trimming is a much simpler task and mp3Extractor takes a simpler
approach as far as setting markers for trimming
is concerned, see below.
Whatever your aim is, having Winamp synchronized,
you can start browsing your input file
and drop in,
out,
cut,
check markers at the desired times
clicking the buttons on the form
above the spreadsheet or using the main menu (Marker -> Add ->
...)
or by using short cuts (Num+, Num -, Num /, Num *; that is, the
arithmetic symbols on the number block of your keyboard - all
to the right). The "Num /" might
be missing on the menu item's short cut
display, although it should be there and actually works, at least this
is the
case in Windows Me, for some unknown reason.
All the markers dropped will appear in the marker bar and as rows in
the marker list spreadsheet with their time in the
first
column and their type in the second.
3.4.1 The concept
of the four markers:
in,
out,
cut,
check
Use an in
marker to specify the beginning of a part to be extracted and an out
marker to signify the end.
The marker bar visualizes the extraction pattern. In
the following, only the marker bar will be shown in the screen shots.
Here is a
simple example:
In - Out
The entire bar represents the
input file in its entire length. The grayed part between the (green) in marker and the (red) out marker is a track to be
extracted. (In case someone might wonder: The tiny gray line
shows Winamp's current playback position - which is not
important here.)
Even simpler: If an in marker is all there
is, extraction starts at that time and continues to the end of the
input file:
In
This
amounts to trimming the input file at the beginning (yawn).
Now, here comes an
example where you can see the difference between an extractor and a
cutter:
In - Out, In - Out
This would yield two tracks. (A cutter would produce five
tracks, three of which would later have to be discarded manually.)
However, if you actually also wanted everything in between the
two tracks to go into another track, here is what you would do:
In - Cut - Cut - Out
The two markers in the
middle are (yellow, actually olive) cut
markers. Like an out, the cut signifies
the end of a track but unlike the out
also results in the beginning of a new track to be created containing
the audio data beginning with the next frame (or sample). (Theoretically,
this is - almost
- the same as an in and an out on top of each other. Again, in case someone might wonder:
The central track in the above example is visualized as darker gray,
because the
first
of the cut markers is currently selected in the marker list - not that
this
would matter right now.)
Finally, here is a real life
example,
a three hour radio show with a couple of songs in the range of 4 -5
minutes
marked for extraction:

As you can
see, quite to the end of the show, the DJ played two nice tracks in a
row.
But you can also see something new: More to the left, the two lonely
black bars represent check
markers. They have no effect on extraction at all. You can use them as
a
reminder, or to insert a comment in the marker list, or as a target to
jump
to. In fact, I use them to signify locations in the input file where
there
are songs I couldn't yet decide on whether they're worth extracting or
not:
check this out later, so to say (hence the name).
Note: A simplification was
used in all of the above. The marker
bar illustrates the actual effect
of marker which may not always coincide with what you'd expect it
to be by its formal type.
Huh, what?! This distinction will be laid out
in the following...
3.4.2 Marker
type vs. marker effect and
the
color codes
The concept of markers as
projected above would, fully
enforced, require strict syntactic criteria. That is, the first marker
would
have to be in, followed possibly
by one or several
cuts,
and after that an
out.
Now the whole thing over starting with in and the final marker
in the list having to be an
out.
Any other arrangement would be, strictly speaking, wrong.
Well, I want to use
this program myself, and I must admit I'm not exactly keen on getting
bombed
with stupid error pop-ups, that would be inevitable if this approach
had been
followed. But how can we have the cake and eat it? Here we go...
Instead of insisting on a strict
order of
marker types mp3Extractor will
always interpret them in a sensible way, if
possible, without correcting any user input (in
the
sense of automatic marker type conversions) but,
instead, will give
users visual feedback on the actual effect of their
marker setting by way of color
codes.
This
means:
1.
Ins
and
cuts
always cause the effect of
ins
or
cuts
whatever is appropriate, although they keep their formal types, as
specified in the second column of the list.
2.
Outs
cause
outs
- and if they make no sense they are ignored, although, again they
remain in the
list as they are.
3. The end of file is, of course, an implicit
out
.
The color codes in the marker list and
the marker bar signify
the actual effect of a marker.
There are three possible
effects:
1. A marker starting a track extraction (being
it
an in
or cut
marker - the latter being strictly speaking not correct) makes for a
green
code.
2. An actual
cut
(either raised by a
cut or
an in - the latter again an errand) is yellow (olive).
3.
Outs
can only
be caused by
outs
and are red.
4. Markers and tag entries that have no
effect on extraction (and tagging respectively) are black and/ or
italic.
Therefore check markers always appear black and italic.
Finally, there is one thing that never ever
makes sense:
Putting several
outs
in a row or starting a marker list with such. These
outs
get stricken as a reminder.
Note: Tag entries in rows of
Out
markers are never used for tagging and are therefore also black/ italic. Put
the entries in the line that starts the extraction of the file you want
to tag, that is either an
in or
a
cut.
Justification
Why do I make up such strict rules (as
described above) and don't enforce them? Why not block off wrong
entries in the
first place or force the user to set things straight right away? And:
Sharp
brains might have noticed, that
Ins
and
cuts
are actually interchangeable in their effect. What are the
cuts
good for then?
After having extracted hundreds of hours
of radio shows,
there is one lesson I learned for sure: it's a fuzzy business. The
point of the
concept described here is the following: it's not only the effect
that counts but the intention when you drop a
cut
marker.
It goes to show that you decided to extract both the material
before and after the
cut.
Even if you haven't by then found the preceding in or the
following
Out
yet. And - if you use
cuts
wisely - you'll remember this decision even if you get interrupted and
return to
work later. It often (if not in most cases) happens that you find an
Out
first, and not the
In,
just
naturally because you just heard the material and decided it's worth
it. (You
would rarely listen backward, with Winamp, in fact, that's not
possible.) Now,
would you want to deal with a pop-up that asks you to find the
in
first?
Again, the overall concept in short:
The mp3Extractor will never erase or change a marker you set
but
interpret
them in such a way that it can always make the extraction without
bothering you
with error pop-ups. However, it offers the
cut
marker as a tool as well as the check and gives you optical
feedback on
the effect of your markers. The rest is up to you.
3.4.3
The marker bar
All markers
in a project are displayed in the marker bar and the marker list.
Whereas the marker list displays the numeric marker time, the formal
marker type as a word, the marker effect expressed as a color
code, and - optionally - tag entries, the marker bar visualizes
all marker's effects and thereby the parts marked for extraction.
Both can also be used to
navigate in a synchronized input file.
A couple of examples have already
been shown and described here.
The entire bar represents a time scale of the input file in its entire
length.
The grayed parts are marked for
extraction. They are headed by a green
bar, representing an in marker
(precisely, a marker with an in effect,
which might also be a formal cut) and end in a red bar (an out marker) -
if they do not extent to the end of file.
Yellow (olive) bars within grayed
areas indicate the cutting effect of a cut
marker: the data left and right of the markers will go in
consecutive tracks. (In turn, the cutting effect can also be
caused by a formal in marker.)
Any marker that has no
effect on extraction, check markers and senseless outs, are represented
by black bars.
The marker bar also mirrors the status of the marker list: A marker
selected in the marker list will show a longer bar. If a marker
that heads a track is selected, that track is shown in a darker
gray. (The marker that heads
(starts) a track, by the way, is the one that should include the
corresponding
tag information - this justifies the special treatment.)
The track bar shows a little gray bar corresponding to Winamp's
position on the time scale. That is, only if Winamp is synchronized -
playing the project file. (It
makes no sense to indicate the location of person on a inner city
street
map of, let's say, London, if that person is actually in Paris.)
Navigation with the marker bar:
1. Clicking on the marker bar selects the marker closest to the click.
(Selecting a marker changes the highlighted row in the marker
list and switches the focus of operations such as move,
reset, delete,
jump to to this marker.)
2. Double clicking makes playback jump to that marker (equals double
clicking the marker time cell in the list).
3. Right clicking makes playback jump to the
corresponding
time of the input file. (Same as dragging the track bar, but easier.
Renders
track bar almost obsolete.)
In cases 2 and 3 Winamp will have to be synchronized first.
3.4.4
Markers for trimming
Trimming does not
require such an elaborate marker concept
as extraction. Only one or two markers are needed for trimming,
depending on whether you want to trim your file at one end, only, or at
both sides.
However, mp3Extractor does not know anything like explicit "trim
markers". Instead, trimming
is always done based on the first and/ or last
markers in the list - of any type. It
does not matter what types of markers you use or how many additional
markers you set.
You will
decide on the trimmer mode later,
that is, in the window that appears on calling the Trimmer
routine, which looks something like in the screenshot. Note the modified marker bar and
the Trimmer Mode which is set
to Trim (both sides). The first
and last markers are both check markers
that delimit the red areas thereby marked for deletion. (Yes, the
trimmer modifies the input file and actually deletes data!) All other
markers do not play a role in trimming.
Now, in short:
If you want to cut away, let's say, the first 20 seconds of your
file,
drop a marker there. If you want to cut off something at the end, drop
a marker there. Or do both. Then, as usual, tweak the markers, if
necessary. Finally, call the Trimmer routine and set the trimmer mode.
3.4.5
Setting markers using the Splitter Wizard
The
Splitter Wizard automatically creates the appropriate marker patterns
for extractions that amount to simple splitting procedures:
1. Splitting into a given number of equally sized chunks.
2. Splitting into chunks of a given size (in minutes and seconds) +
possibly a shorter rest chunk.
(See screen shot. )
Call the Wizard from the main menu: Markers
-> Splitter Wizard.
In any case, the Wizard will add markers to the marker list in the
following manner:
In at 0:0.0, Cut, Cut, ...
Markers already in the list will neither be deleted nor taken into
account by the Wizard in any way. Usually one wouldn't mix these
generated markers with manually set ones.
But the generated markers can of course later be moved and everything,
as usual.
As the Wizard is only a tool for setting markers, and nothing else, the
extraction itself is started by calling the extraction routine.
to
index
3.5
The
marker list spreadsheet and its tag entries
The marker list spreadsheet (in
short, the
spreadsheet or the marker list) contains all existing
markers for
overview and modification.
There is one row to each marker.
3.5.1
The fixed
columns: Marker Time
and
Type
The first two columns contain the markers time and type, properties that are initially set when the
marker is created (dropped, set) but may also be changed
later.
Marker entries are colored according to a code
reflecting their actual effect, if you want to know more, make sure you
read this.
The time and type columns are
horizontally
fixed (meaning they don't scroll with the horizontal scroll bar) and
they are
obligatory (a marker always has a time and type). Markers are always
sorted in
ascending order according to their time value.
3.5.2
The
tag columns: Artist, Title, Album,
Comment,
Year
The tag columns can optionally be filled by the
user
manually to supply information on the tracks to be extracted.
These columns reflect the structure of a
standard ID3
MP3 tag. (Except for the one byte genre value that the author
considers
silly and decided not to support.)
Information entered here will be written to the
tag
sections automatically appended to the MP3 files created during the
extraction
process and, in database mode, will also be written to the database
file. Tagging
is not supported for WAV files!
Note: The tag information for a particular
track
has to be entered with the marker that signals the beginning
of
that very track! This might be either an (effective)
in or
cut
marker – the entries then appearing
green
or
yellow. Entries in rows of check and
Out
markers (black/italic) are merely of temporary or informational value
while
working on the project (see also tuning markers,
copy & paste tag columns).
The width of the tag columns can be changed by
dragging
the borders in the caption row, to fit individual needs. The current
program
version stores the column widths in the ini file, so user settings will
be
kept.
3.5.3
How to
enter tag information: The list's editing modes
The spreadsheet has three different
selection/editing
modes.
Row select: The default mode
equals the
select entire rows mode known from standard spreadsheet programs
(row
select). In this mode the two fixed columns (time and type) of the
selected
marker will have a (darker) grayed background.
Cell select: To add track
information in
the tag columns, switch to tag editing mode, by choosing Marker
->Tag
-> Cell Select Mode from the main menu or by simply pressing
Enter. The tag editing mode (cell select) allows
for
selection of single cells in the tag columns. While the selected single
cell
turns gray, the fixed columns of the corresponding marker row shift to
a lighter
gray. Use arrow keys to change between selected cells. Press Enter
again to toggle to row select.
Cell editing: Having one cell
selected (in
cell select mode) pressing standard windows key F2
(edit) or
simply starting to type something will result in switching this
particular cell
to cell editing mode. Now the left and right arrows
move along the
entered text. Press Enter or the Up or Down
arrow
keys when you're done; Escape to cancel changes to that
particular
cell. Another Return will switch to row select again.
You can also maneuver the spreadsheet by mouse
clicking: Click / double-click the cell you want to select / edit.
Clicking on one of the fixed columns will cause a
switch to row
select mode. Otherwise, the program's behavior will be self
explaining. A
double-click on the fixed columns, however, will cause playback to jump to the corresponding marker time.
Generally, choose Marker -> Tag
to find
out about the features in present mode and how to change between modes,
as the
menu items available change accordingly.
The spreadsheet supports the standard Windows
commands
copy, cut & paste via the standard short cuts Ctrl+c, Ctrl+x,
Ctrl+v.
In row select, these operations apply
to all
tags in a row, in cell select to singe cells and in editing
mode to selected text. These changes in functionality are reflected
by the
dynamic menu items filed under Marker -> Tag.
In essence: Use copy & paste in row
select
mode only to copy all tags from one marker to another. Otherwise use cell
select.
Deleting is only available for entire makers, to clear all tag entries for
a marker, use cut in row select mode.
Note: Copying and pasting of multiple column
rows is
performed through writing and reading tab delimited lines from / to the
Windows
clipboard. As a result, copying a row of tags from mp3Extractor
to any
text editor will yield one line containing the tag entries separated by
tabs.
Accordingly, pasting a tab delimited string to a row in mp3Extractor
will
result in proper columns entries – whereas a pasted line not containing
tabs will end up entirely in the first (the Artist) column.
3.6
Tuning markers :
Resetting / moving / converting /
deleting
3.6.1
Resetting a
marker
While synchronized to
Winamp, you can reset a selected marker's time property.
Select a marker
in the marker list spreadsheet by clicking or using the up and down
arrow keys.
Then, at the desired new marker time, push the Reset button on the
program's
main form or press Shift+Insert or consult the menu item (Marker
->
Reset Time). Time will be reset to current play back time, all
other marker
properties (type and tag entries) will not be effected.
This feature is intended to be used for fine
tuning
marker positions. It allows for a precision of down to 100 ms (0.1
seconds)
– and you will immediately hear the result.
You might say, resetting
a marker also moves it. Now, where is
the difference?
Whereas re(-)setting (as described above) very
much
resembles the initial setting (or dropping) of a marker, and the
previous marker
position doesn't play a role, moving markers is different.
Moving means
changing a marker position by a defined time offset, in fact, making it
take a
jump. This is very much like the jumping features described above
(Controlling
Winamp: Page jump, Step jump) - only that a
marker is being taken along the leap.
Select the marker you want to adjust and use
the Move
buttons on the form or Shift+BackSpace (or Shift+Space,
respectively) to move it back and forth. Immediately after moving the
marker,
playback will automatically jump to the new marker time.
In and
Check markers will be played from marker, whereas
Outs
and Cuts will be played to marker. See Jumping
to markers for details.
These movements are 1 second by a fixed
default. Use
combinations of Ctrl, Alt and Shift for smaller or greater leaps, just
as with
Page and Step jumps. All values are also
available through Marker -> Move -> ...
The difference regarding short cut keys,
though, is that
factor 1 move already requires pushing Shift. This is to avoid
confusing
double functionality conflicts when the marker list is in cell
select or
edit mode. Note that all short cuts that deal with changing
existing
markers include pushing Shift (if not Ctrl or Alt).
3.6.3
Converting
marker types
Converting a selected marker's type
does
not require synchronization. It is only available from the marker menu
(Marker -> Convert To -> ...), and by the short cut keys
displayed
there, which are, in fact, the same (+,-,*,/) as for adding a new
marker, only
that here Shift is supposed to be pushed additionally.
|
short cut
|
converts marker to
|
|
Shift +
|
in
|
|
Shift -
|
out
|
|
Shift *
|
check
|
|
Shift /
|
cut
|
Delete a selected marker by choosing Marker
-> Delete from the main menu or by pressing the Del key
(in cell
select mode it's Shift+Del.) There will be a confirmation
pop-up.
3.7
Extracting - the actual file extraction
Come the point when you have dropped, shuffled
around
and tagged all your markers, you will want to make track extraction
happen.
If all is set, from the main menu choose Run
-> Extract, or click the Extract button [Ctrl E].
This will bring up the Extraction
Options window (see
screen shot). Here is where you choose an output folder for the
extracted files to be written to, determine the scheme
according to which these will be named, and in case of MP3's, decide
about tags.
Check the box to show the CleanupExpert when extraction is done.

Continue to start the actual extraction
process by clicking the OK /
Start Extraction button.
When extraction has been successful, a window appears with a list of
the extracted files that offers an easy way to put these files in
Winamp's playlist to check them. Especially
take a look at the beginnings and endings.
(How precise is cutting with mp3Extractor?)
There are three naming schemes to
choose from:
1. An approach based on numbering:
ProjectName_##.mp3 (or
....wav) (## being the track number starting
off with
00).
2. Another based on tag information: ARTIST
title.mp3 (or ....wav)
The artist string is capitalized automatically.
This
scheme, obviously, does only work if there is tag information that
makes for a
valid file name. (mp3Extractor will automatically propose usage
of the
number based scheme if such problems arise during the extraction's pre
scan.)
As of now, there are no user options to further
customize file naming. There are hundreds of – even free – MP3 naming/
tagging tools on the Internet.
3. The database
mode
Then there is the database mode that
the author
has tailored according to his own needs. (In fact this is the reason
why
normal mode file naming has so far been very much neglected
during
development.) You might consider this concept of a database funny –
then
forget about it and don't bother.
The basic idea is that all extracted tracks
will always
be plainly consecutively number named – no matter what input files they
came from and what mp3Extractor project produced them, e.g.:
0001.mp3
.... (up to maybe years later) ... 5842.mp3.
A database file (DatabaseName.txt) keeps
tabs on
numbering and serves as a file reference.
It is a plain text
tab delimited file with one
line to
each audio file on record. Each line starts off with the audio file's
name (its
number)
followed by its tag information (artist, title,...) in virtual columns
separated
by tabs. This list may be interrupted by lines explaining the source of
the
following audio file or other info. The mp3Extractor integrates
with this database
concept
and reads from (in order to retrieve current number information) and
automatically writes to such database files
– if in database mode.
If you plan to use
the database mode
make sure
there is a database file name and location defined (Options ->
Database).
3.7.2
The
extraction process
Extraction won't start blindly. Mp3Extractor
will
at first enter sort of a test run to make sure that all file
names that
result from the chosen naming scheme don't cause conflicts in the
output
directory. The user will be prompted in this and thereby given a chance
to
cancel
processing before any data has been written. This is
especially
useful in
database mode where such conflicts should never arise – if
everything goes well – otherwise they indicate that things somehow got
screwed up: in fact, such a conflict can only arise if audio file files
exist
in the
output directory that the database doesn't know about...
After test run has been successfully performed,
the
extractor engine starts to scan the input file. This can take a minute
depending
on the size of the input audio file and the speed of your machine. Only
after
that will
the actual extraction take place which should happen rather quickly
especially
if just a small percentage of the input data is being extracted.
Tagging (MP3 only)
The newly created MP3 files be
tagged
with ID3V1 and ID3V2
tags during extraction, if the corresponding
boxes in the options window were selected.
The tag types are independent,
as the
V2 tag will be written ahead of the audio data at the beginning of the
file,
whereas the V1 tag, if present, makes up the last 128 bytes of the
file.
mp3Extractor supports only the basic fields that are common to both
formats. If you select to write both tags (recommended), both tags will
eventually contain the same information apart from the fact that V1
tags has certain limits to the length of the entries (The
program has swallowed
the latter portion of my tag entry!), so V2 is generally preferable. If
both tags are present in a file, it
depends on your hard or software MP3 player what tag data is
actually
displayed.
As the audio file Extractor does
not
support the
tag field for these wacky predefined music styles, the
corresponding
byte is always zeroed which happens to be the code for
“classical”.
Database Mode
If in database mode, the database file is
automatically appended with a sub header line specifying the name
of the current mp3Extractor project followed by the names
and tags of the new tracks. If something went wrong and/or you decide
to
delete the new tracks, remember to also delete the database entries –
otherwise you might later wonder what happened to the tracks or why
there is gap
in numbering. For easy access use Database -> Open (w/ Notepad)
[Ctrl D].
While experimenting wit