
This is the online help for Audacity. It is meant to be a quick reference, not a complete manual. There is also a complete user's manual available online:
Toolbars:
Menu Bar:
Tracks:
Other:
| Selection tool - for selecting the range of audio you want to edit or listen to. | |
| Envelope tool - for changing the volume over time. | |
| Draw tool - for modifying individual samples. | |
| Zoom tool - for zooming in and out. | |
| Timeshift tool - for sliding tracks left or right. | |
| Multi tool - lets you access all of these tools at once depending on the location of the mouse and the keys you are holding down. |
| Skip to Start - moves the cursor to time 0. If you press Play at this point, | |
| Play - starts playing audio at the cursor position. If some audio is selected, only the selection is played. | |
| Loop - if you hold down the Shift key, the Play button changes to a Loop button, which lets you keep playing the selection over and over again. | |
| Record - starts recording audio at the project sample rate (the sample rate in the lower-left corner of the window). The new track will begin at the current cursor position, so click the "Skip to Start" button first if you want the track to begin at time 0. | |
| Pause - temporarily stops playback or recording until you press pause again. | |
| Stop - stops recording or playing. | |
| Skip to End - moves the cursor to the end of the last track. |
The Mixer Toolbar has three controls, used to set the volume levels
of
your audio device and choose the input source. The leftmost slider
controls the output volume, the other slider controls the recording
volume, and the control on the right lets you choose the input
source (such as "Microphone", "Line In", "Audio CD", etc.).
Changing these controls has no effect on the audio data in your project - in other words it doesn't matter what the output volume level is when you Export or Save a project - the end result is the same.
All of the buttons on this toolbar perform actions - and with a
couple of
exceptions, they're all just shortcuts of existing menu items to save
you
time.
Holding the mouse over a tool will show a "tooltip" in case you
forget
which one is which.
| Cut | |
| Copy | |
| Paste | |
| Trim Outside Selection | |
| Silence | |
| Undo | |
| Redo | |
| Zoom In | |
| Zoom Out | |
| Fit selection in window - zooms until the selection just fits inside the window. | |
| Fit project in window - zooms until all of the audio just fits inside the window. |
The Track Pop-Down Menu appears when you click in a track's title.
This lets you access a few special commands that apply to individual
tracks.
Name... - lets you change the name of the track.
Move Track Up - exchange places with the track above this
one.
Move Track Down - exchange places with the track below this
one.
Waveform - sets the display to Waveform - this is the default
way of visualizing audio.
Waveform (dB) - similar to Waveform, but on a logarithmic
scale, measured in decibels (dB).
Spectrum - display the track as a spectrogram, showing the
amount of energy in different frequency bands.
Pitch (EAC) - highlights the contour of the fundamental
frequency (musical pitch) of the audio, using the Enhanced
Autocorrelation (EAC) algorithm.
Mono - makes this track a mono track, meaning it is played
out of just one speaker, or played out of the left and right speakers
equally.
Left Channel - makes this track come out of only the left
speaker.
Right Channel - makes this track come out of only the right
speaker.
Make Stereo Track - if there is another track below this one,
joins them to make a single stereo track, with the top track
representing the left speaker, and the bottom track representing the
right speaker. When tracks are joined into a stereo pair, all edits
automatically apply to both the left and right channel.
Split Stereo Track - if the selected track is a stereo track
(a pair of left and right tracks joined together as a single track),
this operation splits them into two separate tracks that you can modify
and edit independently.
Set Sample Format - this determines the quality of the audio
data. 16-bit is the quality used by audio CD's and is the minimum
quality that Audacity uses internally (8-bit audio files are
automatically converted to at least 16-bit when you open them). 24-bit
is used in higher-end audio. 32-bit float is the highest
quality that Audacity supports, and it is recommended that you use
32-bit float unless you have a slow computer or are running out of disk
space.
Set Rate - sets the number of samples per second of the
track. 44100 Hz is used by audio CDs. Tracks can have different sample
rates in Audacity; they are automatically resampled to the project
sample rate (in the lower-left corner of the window).
Open... - opens an audio file or an Audacity project in a new
window (unless the current window is empty). To add audio files to
an existing project window, use one of the Import commands in the
Project menu.
Close - closes the current window, asking you if you want to
save changes. On Windows and Unix, closing the last window will
quit Audacity, unless you modify this behavior in the Interface
Preferences.
Save Project - saves everything in the window into an
Audacity-specific
format so that you can save and quickly continue your work later. An
Audacity
project consists of a project file, ending in ".aup", and a
project
data folder, ending in "_data". For example, if you name your
project "Composition", then Audacity will create a file called
"Composition.aup" and a folder called Composition_data.
Audacity project files are not meant to be shared with other programs;
use
one of the Export commands (below) when you are finished editing a
file.
Save Project As... - same as Save Project (above), but lets
you
save a project as a new name.
Export As WAV... - exports all of the audio in your project
as a
WAV file, an industry-standard format for uncompressed audio. You can
change the standard file format used for exporting from Audacity by
opening the File Format Preferences.
Note that exporting will automatically mix and resample if you have
more than one track, or varying sample rates. See also
File Formats.
Export Selection As WAV... - same as above, but only exports
the current selection.
Export as MP3... - exports all of the audio as an MP3 file.
MP3 files are compressed and therefore take up much less disk space,
but they lose some audio quality. Another compressed alternative
is Ogg Vorbis (below). You can set the quality of MP3 compression
in the File Format Preferences. See also
MP3 Exporting.
Export Selection As MP3... - same as above, but only exports
the current selection.
Export as Ogg Vorbis... - exports all of the audio as an Ogg
Vorbis
file. Ogg Vorbis files are compressed and therefore take up much less
disk space, but they lose some audio quality. Ogg Vorbis files tend to
take up a little less disk space than MP3 for similar compression
quality,
and Ogg Vorbis is free from patents and licensing restrictions, but
Ogg Vorbis files are not as widespread. You can set the quality of
Ogg compression in the File Format Preferences.
Export Selection As Ogg Vorbis... - same as above, but only
exports
the current selection.
Export Labels... - if you have a Label
Track in your project, this lets
you export the labels as a text file. You can import labels in the
same text format using the "Import Labels..." command in the
Project Menu.
Preferences... - opens the Preferences
dialog.
Exit (Quit) - closes all windows and exits Audacity,
prompting you
to save any unsaved changes first.
Redo - This will redo any editing operations that were just
undone.
After you perform a new editing operation,
you can no longer redo the operations that were undone.
Cut - Removes the selected audio data and places it on the
clipboard.
Only one "thing" can be on the clipboard at a time, but it may
contain multiple tracks.
Copy - Copies the selected audio data to the clipboard
without
removing it from the project.
Paste - Inserts whatever is on the clipboard at the position
of the
selection or cursor in the project, replacing whatever audio data
is currently selected, if any.
Trim - Removes everything to the left and right of the
selection.
Delete - Removes the audio data that is currently selected
without
copying it to the clipboard.
Silence - Erases the audio data currently selected, replacing
it with
silence instead of removing it.
Split - Moves the selected region into its own track or
tracks,
replacing the affected portion of the original track with silence.
See the figure below:

Duplicate - Makes a copy of all or part of a track or set of
tracks
into new tracks. See the figure below:

Select All - Selects all of the audio in all of the tracks.
Select Start to Cursor - Selects from the beginning of the
selected
tracks to the cursor position.
Select Cursor to End - Selects from the cursor position to
the end
of the selected tracks.
Find Zero Crossings - Modifies the selection slightly so that
both
the left and right edge of the selection appear on a positive-slope
zero crossing. This makes it easier to cut and paste audio without
resulting
in a large audible clicking sound.
Selection Save - Remembers the current selection (or cursor
position),
allowing you to restore it later.
Selection Restore - Restores the cursor position to the last
position
saved by "Selection Save".
Move Cursor to Track Start
Move Cursor to Track End
Move Cursor to Selection Start
Move Cursor to Selection End
Snap-To On - When Snap-To mode is enabled, the selection will
be
constrained to the nearest interval, by default the nearest second.
So if you click and drag from 4.2 seconds to 9.8 seconds, it will
result
in a selection from 4 seconds to 10 seconds, exactly. You can change
the
units that are snapped to using the "Set Selection Format" option in
the
View Menu.
Snap-To Off - Turns Snap-To mode off, letting you select
arbitrary
ranges of time.
Zoom Normal - Zooms to the default view, which displays about
one inch per second.
Zoom Out - Zooms out, displaying less detail about more time.
Fit in Window - Zooms out until the entire project just
fits in the window.
Fit Vertically - Resizes all of the tracks vertically so they
all fit inside of the window (if possible).
Zoom to Selection - Zooms in or out so that the selection
fills
the window.
Set Selection Format - lets you choose the formatting that is
displayed at the bottom of the window indicating the current selection
time. Options include film, video, and audio CD frames, seconds +
samples,
or pure time. If you turn on Snap-To mode in the
Edit Menu, the selection will snap to the
frames or other quantization you have selected in this menu.
History... - Brings up the history window.
It shows all the actions you have performed during the current session,
including importing. The right-hand column shows the amount of hard
disk
space your operations used. You can jump back and forth between editing
steps quite easily by simply clicking on the entries in the window, the
same as selecting Undo or Redo many times in a row. You can also
discard
Undo history to save disk space.
The history window can be kept open while you work.
Plot Spectrum -
To use this feature, first select a region of audio from a single
track, then select "Plot Spectrum".
It opens up a window that
displays the Power Spectrum of the audio over that region, calculated
using the Fast Fourier Transform. The graph represents how much
energy is in each frequency. As you move the mouse over the display,
it shows you the nearest peak frequency.
This window can also display other common
functions that are calculated using the Fast Fourier Transform,
including
three versions of the Autocorrelation function.
The Enhanced Autocorrelation function is very good at identifying the
pitch of a note.
Float Control Toolbar - moves the
Control Toolbar out of the window and
into its own
floating window, so you can position it wherever you want. The menu
item changes to Dock Control Toolbar, which you can use to
put the toolbar back into the main window.
Float Edit Toolbar - moves the
Edit Toolbar out of the window and into its
own
floating window, so you can position it wherever you want. The menu
item changes to Dock Edit Toolbar, which you can use to
put the toolbar back into the main window.
Float Mixer Toolbar - moves the
Mixer Toolbar out of the
window and into its own
floating window, so you can position it wherever you want. The menu
item changes to Dock Mixer Toolbar, which you can use to
put the toolbar back into the main window.
Import Labels... - This command takes a text file which
contains time codes and labels,
and turns them into a Label Track.
Import MIDI... - This menu command imports MIDI files and
puts them into a MIDI Track. Audacity can
display
MIDI files, but cannot play, edit, or save them yet.
Import Raw Data... - This menu command allows you to open a file in virtually any format, as long as it is not compressed. When you select the file, Audacity will analyze it and try to guess its format. It will guess correctly about 90% of the time, so you can try just pressing "OK" and listening to the result. If it is not correct, however, you can use the options in the dialog to try some other possible encodings.
At the beginning of your imported track(s), you may notice a little
bit of noise. This is probably the file's header, which Audacity
was not able to parse. Just zoom in and select the noise with the
Selection Tool, and then
choose Delete from the Edit Menu.
Edit ID3 Tags... - Opens a dialog allowing you to edit the
ID3 tags associated with
a project, for MP3 exporting.
Quick Mix - This command mixes all of the selected tracks together. If you are mixing stereo tracks, or mixing tracks that are marked as Left or Right channel, the result will be a stereo track (two channels), otherwise the result will be mono.
Your tracks are implicitly mixed whenever you hit the Play button and whenever you export.
Note that if you try to mix two very loud tracks together, you may
get clipping (it will sound like pops, clicks, and noise).
To avoid this, drag the gain slider on the tracks down to reduce their
volume before mixing.
New Audio Track - This creates a new empty
Audio Track.
This command is rarely needed,
since importing, recording, and mixing automatically create new tracks
as needed. But you can use this to cut or copy data from an existing
track and paste it into a blank track.
New Stereo Track - same as above, but creates a stereo track.
You can also create a stereo track by joining two tracks using the
track pop-up menu.
New Label Track - This creates a new Label
Track,
which can be very useful for textual annotation.
New Time Track - This creates a new Time
Track,
which is used to vary the speed of playback over time.
Remove Tracks - This command removes the selected track or
tracks from the project.
Even if only part of a track is selected, the entire track is removed.
You can also delete a track by clicking the X in its upper-left corner.
To cut out only part of the audio in a track, use
Delete or Silence.
Align Tracks... - All the Align functions work on whole
tracks or groups of tracks,
not on selections, even if they span across multiple tracks.
They all operate by time-shifting tracks (moving them left or
right), making it easier to synchronize tracks or get rid of silence
at the beginning. The cursor or selection stays in the same place
unless you use "Align and move cursor...", below:
Align and move cursor... - same as the functions above,
except
that the cursor or selection is moved along with the tracks. That
allows you to shift the tracks without losing your relative place.
Add Label at Selection - This menu item lets you create a new
label at the current selection.
You can title the label by typing with the keyboard and then hitting
"Enter"
when you're done.
If a track is selected and the cursor is placed in a single place
in the track, 30 seconds of audio are inserted at the cursor position.
If a region of audio is selected, audio is inserted at the left
edge of the selection, and the length of the inserted audio is equal
to the length of the selection.
Silence - inserts silence
Tone... - you can create a Sine wave, Square wave, or
Sawtooth wave.
White Noise - inserts random audio samples, which sounds like
pure static.
Any items which appear after these three built-ins are VST, Ladspa, or Nyquist plug-ins. It is possible for a poorly written plug-in to crash Audacity, so always save your work before using a plug-in. Note that any effect that doesn't take any audio as input will automatically be placed in the Generate menu.
Most effects have a Preview button. Clicking on this button plays
up to three seconds of audio, allowing you to hear what it will sound
like after the effect is applied. This is useful for fine-tuning the
effect parameters.
Repeat Last Effect - selecting this command is a shortcut to
applying the most recent effect with the same settings. This is a
convenient way to quickly apply the same effect to many different parts
of
a file.
Amplify - changes the volume of the selected audio. If you
click the "Don't allow clipping" checkbox, it won't let you amplify
so much that the audio ends up beyond the range of the waveform.
BassBoost - enhances the bass frequencies
Change Pitch - changes the pitch/frequency of the selected
audio
without changing the tempo. When you open the dialog, the starting
frequency is set to Audacity's best guess as to the frequency of the
selection. This works well for recordings of singing or musical
instruments without background noise. You can specify the pitch change
in one of four different ways: musical note, semitones, frequency, or
percent change.
Change Speed - changes the speed of the audio by resampling.
Making the speed higher will also increase the pitch, and vice versa.
This will change the length of the selection.
Change Tempo - changes the tempo (speed) of the audio without
changing the pitch. This will change the length of the selection.
Compressor - compresses the dynamic range of the selection so
that the loud parts are softer while keeping the volume of the soft
parts the same. You can optionally apply gain, resulting
in the entire piece having higher perceived volume.
Echo - very simple effect that repeats the selection with a
decay, sounding like a series of echos. This effect does not change
the length of the selection, so you may want to add silence to the end
of the track before applying it (using the
Generate Menu).
Equalization - Boost or reduce arbitrary frequencies. You can
select one of a number of different curves designed to equalize the
sound of some popular record players, or draw your own curve.
Fade In - fades the selection in linearly
Fade Out - fades the selection out linearly
FFT Filter - similar to Equalization, lets you enhance or
reduce
arbitrary frequencies. The curve here uses a linear scale for
frequency.
Invert - Flips the waveform vertically, reversing its phase.
Noise Removal - This effect lets you clean up noise from a
recording.
First, select a small piece of audio that is silent except for the
noise,
select "Noise Removal", and click on the "Get Noise Profile" button.
Then select all of the audio you want filtered select "Noise Removal"
again, and click the "Remove Noise" button. You can experiment with
the slider to try to remove more or less noise. It is normal for
Noise Removal to result in some distortion. It works best when the
audio signal is much louder than the noise.
Normalize - allows you to correct for DC offset (a vertical
displacement of the track) and/or amplify such that the maximum
amplitude is a fixed amount, -3 dB. It's useful to normalize all
of your tracks before mixing.
Nyquist Prompt - for advanced users only. Allows you to
express arbitrary transormations using a powerful functional
programming language. See the Nyquist section of the Audacity
website for more information.
Phaser - the name "Phaser" comes from "Phase Shifter",
because it
works by combining phase-shifted signals with the original
signal. The movement of the phase-shifted signals is
controlled using a Low Frequency Oscillator (LFO).
Repeat - repeats the selection a certain number of times.
This operation is quite fast and space-efficient, so it is practical
to use it to create nearly-infinite loops.
Reverse - This effect reverses the selected audio temporally;
after the effect the end of the audio will be heard first and the
beginning last.
Wahwah - uses a moving bandpass filter to create its
sound. A low frequency oscillator (LFO) is used to
control the movement of the filter throughout the
frequency spectrum. Adjusts the phase of the left and right
channels when given a stereo selection, so that the effect seems
to travel across the speakers.
Any items which appear after these built-in effects are VST, Ladspa, or Nyquist plug-ins. It is possible for a poorly written plug-in to crash Audacity, so always save your work before using a plug-in effect.
Audacity does not come with any built-in Analyze commands, so anything in this menu must be a plug-in. It is possible for a poorly written plug-in to crash Audacity, so always save your work before using a plug-in.
Online Help... - opens this reference guide.
This is the waveform display part of the track, although it is also possible to display a spectrogram instead of a waveform here.
This image shows a stereo track, which is a group of two tracks -
the
top one is for the left channel, and the bottom one is for the right
channel. If you need to edit the two channels as separate tracks,
you can split them using the Track Pop-Down Menu.
The label appears directly to the left of every track. Clicking in the label outside of one of its buttons or controls selects the entire track. Shift-clicking a track label adds or removes that track from the selection. Also, clicking and dragging a track label is one way to rearrange the order of tracks.
At the top-right of the label is the close box. Click here to delete the track (though you can Undo this operation).
To the right of the close box is the track's title. Clicking on the title brings up the Track Pop-Down Menu, allowing you to rearrange tracks and change various track options:
The next line in the label tells you the channel of the track (left, right, mono, or stereo) and the sample rate (e.g. 44100 Hz is the audio CD rate). Beneath that is the quality - 32-bit float is high quality but takes up more disk space, and 16-bit is the same quality as an audio CD.
The Mute button stops this track from playing. The Solo button plays only this track (or other solo tracks) and overrides the Mute button. Muting and soloing doesn't affect mixing or exporting, just playback within Audacity.
The top slider is the gain control - it affects the relative volume of the track. By default it only lets you select multiples of 3 dB, but if you hold down shift you can choose any level. Be careful not to set it too high, or you can exceed the maximum volume of a track, which results in clipping.
The bottom slider is the pan control - it affects the balance between the left and right speakers.
The Vertical Ruler is a guide to the levels you see in the waveforms. A level of 1.0 or -1.0 is the maximum supported by the audio file - anything beyond these levels will be clipped, which can sound like distortion.
When the mouse is over the vertical ruler, it changes to a magnifying glass. By clicking, you can zoom in vertically, and by shift-clicking (or right-clicking) you can zoom back out. You can zoom out as much as a factor of 2, which can be useful for editing envelopes.
When zooming vertically, Audacity will automatically "snap" to the normal range of -1...1 when you get close. If you are having trouble resetting the vertical ruler, shift-click a bunch of times until the range is -2...2, then click once to zoom back to -1...1.
Label Tracks can be used to annotate an audio file. They can be used
for lyrics, markers, or notes, and they can even be used to save
selections.
To create a Label Track, select New Label Track from the
Project Menu. Alternatively, simply
click or select where you would like to place a label, and choose
Add Label at Selection from the Project Menu,
and a Label Track will be created automatically if one doesn't already
exist.
To add a new label, click or select where you want the new label to
appear,
then select Add Label at Selection from the
Project Menu, then type the name of the
label, and finally press Enter or click outside of the label.
To edit the name of a label, click anywhere in it.
Zoom in first if there are too many labels crowded together and you
are unable to click on the one you want. When a label is selected
for editing, it looks like the first label below:
When editing the name of a label, you are limited to using just
the backspace key for editing. There is no way to move the
insertion point to append a letter to the beginning of a label.
Once a label is selected, you can move to the next label by pressing
Tab, and move to the previous label by pressing Shift-Tab.
To delete a label or multiple labels, select the area containing the
label flags you wish to delete, and choose Silence from the
Edit Menu. Alternatively you can delete
an individual label by clicking on it and pressing Backspace until you
have deleted all of the characters in the label, then pressing Enter.
To move labels, use the normal editing commands like Cut, Copy,
Paste, Delete, and Silence.
You can save a selection in a label. When you create a new
label, the left selection edge determines the position of the label's
flag. However, the right selection edge is also stored in the label,
and when you click on it, the full original selection will be restored.
If you wish to apply this selection to only a subset of the tracks,
shift-click in the label area to the left of each track's waveform
to change whether each track is part of the selection or not.
To export a Label Track, choose Export Labels... from the
File Menu. The exported file will
contain one line per label, starting with the time offset in
seconds, then a tab, and then the name of the label, for example:
1.217995 Bass intro
3.921073 Guitar enters
7.584454 Drums enter
11.070002 Chorus
To import a Label Track, choose Import Labels... from the
File Menu.
To edit the time warping, choose the envelope tool from the
Control Toolbar - the same tool
you use to edit amplitude envelopes in Audio Tracks. Click to
create and edit control points. Drag points off-screen to
delete them.
The Time Track has a ruler. As you edit the warping, the ruler will
warp to show you at what time playback will reach each place in the
audio.
Audacity does not support playing, recording, or editing MIDI files.
It does not even support saving MIDI Tracks in a project file.
These features are planned for a future version of Audacity, which will
not be available until at least 2004.
The current functionality is useful to only a small group of people
who
are studying algorithms that relate MIDI data to audio data and simply
wish to see the visual representation of the MIDI data and how it lines
up with the audio data.
For finer control over audio I/O, open your system's Sound control panel or the control panel that came with your sound card.
Mono recording is not the same on all computers or sound cards. Sometimes recording mono only records the left channel, and sometimes it mixes the left and right channels.
You may notice that when you play the two tracks you recorded together, they aren't synchronized. This is unavoidable to a certain extent, though future versions of Audacity may try to minimize it even more. To fix it, you will need to grab the Time Shift tool and slide one of the tracks around until it sounds right.
Note that this is not the same as playthrough, which means having the computer play the track that you are currently recording, as you are recording it. You may be able to enable this using your operating system's Mixer or Sound control panel, but Audacity does not have an option to turn on Playthrough directly.
If you have a fast computer and enough disk space, you should always use 32-bit float samples while editing, and then export your final mix as a 16-bit WAV file (the default).
To reset to Audacity's defaults, press the Defaults button. This will get rid of any changes you have made.
If you have customized your keyboard layout and want to share it with someone else, you can press Save... and save your complete keyboard layout as an XML file that you can share. To load an existing layout, press the Load... button and locate the XML file.
| Envelope tool |
Editing the amplitude envelope lets you change the volume of a track gradually over time by adding a number of control points to the track. Each control point sets the amplitude (volume) at that point in time, which can be as low as zero, and as high as 150% of the normal maximum volume, and the volume is interpolated smoothly between the points.
The image below shows a track with an amplitude envelope, with the Envelope Tool selected:
In the figure above, there are five control points, at 1.0, 3.0, 5.0, 7.0, and 9.0 seconds. Each control point has up to four "handles" arranged vertically. The top and bottom handles are positioned at the target volume, and the middle handles are positioned a quarter-screen down, giving you a way to move the envelope above the 1.0 level.
Note the dotted line at the top and bottom between 5.0 and 8.0 seconds. This indicates that the actual envelope is above the screen. You can see the entire contour by zooming vertically - position the cursor over the vertical ruler to the left of the track and shift-click to zoom out.
To create a new control point, just click. To move a point, just drag. To remove a point, click on it and drag it outside of the track, then let go.
| If you use... | You need to... |
|---|---|
| Windows | Download LAME and look for the file called lame_enc.dll |
| Linux/Unix | Download LAME and compile it as a shared object, then look for the file called libmp3lame.so |
| Macintosh | Download LAMELib (see our website for more info). |
For links to these MP3 encoders, go to the Audacity web page (http://audacity.sourceforge.net/) and go to the page for your operating system.
The first time you try to export an MP3 file, Audacity will ask you to locate your MP3 encoder. Locate the file indicated above. From then on, Audacity will not need to ask you again and you will be able to export MP3 files easily.
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.