MP3Cutter Help




What is MP3?


MP3 is actually only the extension of a file that complies to the "MPEG Audio Layer III" standard.
MPEG Audio is a sub-part of a complete MPEG encoding algorithm family, including video and multimedia.
MPEG Video, for instance, is used as the encoding technique by CD- and DVD-Video.

MPEG Audio is available in the following "flavours":

There's also one "unofficial" MPEG Audio version to mention: MPEG Audio 2.5
MPEG Audio 2.5 was added to the list by the inventors of MPEG Audio: Fraunhofer-Gesellschaft IIS in Germany
and provides encoding of audio at very low sampling rates: 8kHz, 11.025kHz and 12kHz.


Each MPEG Audio "version" can be encoded in: (Ratios based on "CD-Audio" quality)

Layer I isn't much used anymore, since the speed of processors have been increased dramatically.
Layer II is only used with CD-Video and some professional equipment, but is also dying out.
Layer III is used the most nowadays, since current processors are capable of encoding layer III data
faster than real-time.

I refer to processors in general, not only to processors in PC's.



Basically the technique behind the MPEG Audio algorithm is that it "abuses" the limitations of the human hearing.

Imagine you're standing in the middle of a big city with lots of cars that are making a lot of noise
and all of the sudden you see a pal of yours at the other end of the street.
You are shouting at him because you want to make an appointment with him tomorrow.
But because of the noise from the cars, he doesn't hear you and just walks along.
You could have spend all the energy for something else because he didn't notice you after all.

This is exactly what the MPEG Audio algorithm does: it discards the audio that isn't hearable
in the (uncompressed PCM-Wave) source file; it just filters out everything we humans can't hear.
The only big problem is: computers "think" digital, in 1's and 0's, and we humans "think" analog,
which means that we have a minimum and a maximum value with everything in between.

So the algorithm has to calculate what pitches (frequencies) of sound are in the total audio and their strength (volume).
It does this by doing a so called Fast Fourier Transformation (FFT) on the signal to determine this.

Then it applies a psychoacoustic model (this can be compared to a database containing our hearing limitation)
to leave out everything we can't hear.

After that it tries to fit the remaining data into the space (bandwidth) we've set (the "Bitrate").
If not all bits fit there's always the option to store some of the data-bits from the current frame into
one of the adjecent frames if possible (this is called a bit-reservoir).
This is the reason the decoder need to load multiple frames in a buffer, because it might need the next
frames to decode the current frame that is being processed.

The result of this buffering is that the decoder is somewhat behind in time (called latency).
All decoders and players, like WinAmp, have this problem although this can be hidden to the user with some tricks.



The MPEG algorithm is a so called "Streaming format" which means that it doesn't really have a beginning or an end.
It doesn't even have to be on disk but can also be transfered over, for instance, a network (like ShoutCast, etc.).

Because it's a streaming format you can just "jump in" anywhere in the stream and go decode it.
Problem only is that you need to know how to "read" the stream; ie. you need to
know the stream properties (bitrate, samplerate, number of channels, etc.).

This is solved by dividing the stream into chunks called "Frames", where each frame has
its own "Header" describing these properties (see picture below).

Maybe you can already see what MP3Cutter does... it simply makes a cut between two frames and opts you
to save the part between two of those cuts, looks simple doesn't it?




How to use MP3Cutter 4?


At first sight, it may look a little difficult to use, but once you understand
how the program works it should be very obvious.

Before MP3Cutter can cut between two frames, it needs to know the exact position
of these frames in the file.
This is done by simply scanning the file from start 'till end for valid frame-headers.
It does not check for the validity of the frame-data following the header, but if
the size of the frame given in the header doesn't match it'll re-synchronize.

Scanning dialog


Once the file is scanned it can be handled by the rest of the program.

NOTE:
As a default, the scaninfo (indexdata) is saved to disk in the same folder
as where the MP3 resides for quicker access the next time the MP3 is loaded.
This is only true, of course, if that folder has write-access.
If the MP3 was on a read-only drive (or folder) or if you've deselected the
"Produce an MP3 indexfile at scan" you can always save a copy of the
index-file at an alternate location.

You can add a MP3 to the current project by selecting the "File->Import" menu-option
or by pressing the import-speedbutton.
If the MP3 is rather large, scanning could take quite a while, but if the
progress indicator doesn't move for a long time, you can abort the scan by
pressing the "Abort"-button on the scan-dialog.

Once the MP3 is on the "Project-bin" list you can retrieve the properties
of that MP3 or load it into the "Cutter" by double-clicking it.

Inside the Cutter you can play the entire MP3, seek to a specific point by moving
the seekbar or turning the jog-shuttle or pause playback at the current position.
Pausing playback at the current position can be achieved in two ways: At any moment you can select a "Start-" and an "End"-frame by pressing the appropriate
buttons and you can review the selection by pressing the "Play mark"-button.

Hint: you can also click on the blue coloured labels marked "Mark-in", "Mark-out" and "Current".
By pressing these you can directly jump to the in-mark, out-mark or you can enter a desired frame accordingly

Once you're satisfied about the selection, you can export that selection to a file,
by pressing the button with a floppy-disk on it, or save it to the "Cue"-list.

The "Cue"-list is a placeholder for all the marks you want to keep
and is the actual project-list, you can also store single-frame cue points here.
You can export the entire cue-list to a single MP3, and can contain various cuts from
various MP3's but, althought the output file will be correct, there's no garantee
the file will be played correctly if the cuts contain different stream properties !




How to use the keyboard with the cutter?


It's possible to control the buttons on the "Cutter" with the numeric part on your keyboard.
Before you can use the keyboard, you first have to enable keyboard-control in "Preferences".
After that you can use the following keys:

Numeric keyboard image




When you've got a problem...


MP3Cutter is an application written by a single person and may (will) contain
bugs (hey, I'm only human !)
If you do find a bug or if you have a problem, first check the "Frequently Asked Questions" and
the "Known Bugs"-section for possible work-arounds.

If you're sure the problem is nowhere described, send me an e-mail with a brief description
and, if possible, how I can reproduce the error (if you have a debug-version you can include a debug-report).
Please, don't send me screen-grabs, complete stack-dumps or MP3's, until I ask for them.

Note: I'm Dutch so please only use the Dutch or English language in your e-mail.
Lately I'm getting a lot of e-mail written in German (although I'm able to read it, I'll reply in English).




Currently known bugs





Glossary


ACM Codec "Audio Compression Manager" Codec - A plug-in Coder/Decoder for the Windows®
Multimedia system that enables encoding and decoding of audio wave-forms.
Bit-reservoir A technique where adjecent frames can "borrow" data-space from each other.
If there's not enough bandwidth (frame-space specified by the bitrate) it's possible
to store some data in a previous or next frame that has some space left, which is a
"Last resort" for the algorithm before having to degrade the audio-quality any further.
Frame Smallest atomic part of a MPEG stream consisting of a header, containing
the frame's properties and data describing "statistical" information
Frame header Since MPEG is a "Streaming"-format, where you just can "jump" into without
having to know the beginning or the end, there must be another way found where you can determine
the properties of the stream being processed (ie. bitrate, samplerate, number of channels, etc.).
This can be achieved by splitting the stream into separate packets, called "Frames" each of
which start with a header describing the format of that frame.
Jog-shuttle Wheel or knob that enables the user to quickly seek inside a medium
for instance on a video-tape deck or a CD player.
Latency The time difference between data-input and data-output in a decoder.
The MPEG algorithm has the option to store some data from the current frame into
an adjecent frame if the current frame-space is not sufficient (See Bit-reservoir).
This has nothing to do with the speed of the processor, since modern-day computers
and DSP's (Digital Signal Processors) are fast enough to process
processor-power consuming algorithms like MPEG.
PCM Pulse Code Modulation - The unencoded/uncompressed digital representation
of an analog waveform
"Waved" MP3 A MPEG Audio Layer III encoded file with a "RIFF/WAV"-header and the ".wav"
extension, so it can be played by (older) Windows wave-players and programs
that support wave files.
The target system must have the right ACM-codec installed on the system
to be able to play these waves however.
Also take a look at my little utility "WaveMP3" which turns MP3's
into MP3 encoded WAV's and back.




Some technical stuff


MP3Cutter has limited command-line support.
Switches may be given in upper- or lower-case.
If no switches are given, anything on the command-line will be processed as a file.
For example: MP3Cutter "C:\MP3's\MySong.MP3"
will start-up MP3Cutter and loads the file "MySong.MP3" from the directory "C:\MP3's"





This page has been KISS (Keep It Simple Stupid) enhanced
Missing the frames? Press here !