Difference between revisions of "Convert FLAC to MP3"

From BakaBT Wiki
Jump to: navigation, search
(Hopefully a simple guide for Flac to MP3 conversion...)
 
(Added section)
 
(9 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
===Requirements===
 
===Requirements===
  
[http://www.afterdawn.com/software/audio_software/audio_encoders/lame_mp3_encoder.cfm/v3_98_2 LAME MP3 Encoder] ---> You need this software for the conversion to MP3. <br>
+
[http://www.afterdawn.com/software/audio_software/audio_encoders/lame_mp3_encoder.cfm/v3_98_2 LAME MP3 Encoder] [http://www.rarewares.org/mp3-lame-bundle.php (alternate link)] ---> You need this software for the conversion to MP3. <br><br>[http://www.foobar2000.org/?page=Download Foobar 2000] ---> A popular audio player with a wide range of support for playing audio files<br>                  and converting them to other formats.
[http://www.foobar2000.org/?page=Download Foobar 2000] ---> A popular audio player with a wide range of support for playing audio files and converting them to other formats.
 
  
 
Converting from FLAC to MP3 should not take too long and won't take up too much hard drive space.
 
Converting from FLAC to MP3 should not take too long and won't take up too much hard drive space.
  
====Step 01====
+
====Step 01 - Installation====
  
Run the Foobar 2000 installation. The steps involved are self explanatory and don't need to be explained in detail here. The installation should be very quick and you will have the option to run Foobar 2000 for the first time at the end of the process. You must also install the LAME MP3 encoder software onto the computer, which is not so straight forward but still easy.
+
Run the Foobar 2000 installation. The steps involved are self explanatory and don't need to be explained in detail here. The installation should be very quick and you will have the option to run Foobar 2000 for the first time at the end of the process.
  
====Step 02====
+
You must also install the LAME MP3 encoder software onto the computer, which is not so straight forward but still easy. If it comes in the form of a .exe file, just install it like any other application. If it is in .zip form, extract it to a folder.
  
Open FLAC files in Foobar 2000, either use the '''Open Files''' option in the file menu or simply drag and drop FLAC music files onto the program itself while it is running. It will display the file in its playlist like seen above. You can play the file now if you wish as FLAC is natively supported by Foobar 2000.
+
====Step 02 - Adding files====
  
====Step 03====
+
Open FLAC files in Foobar 2000, either use the '''Open Files''' option in the file menu or simply drag and drop FLAC music files onto the program window. The files will be displayed in the playlist panel. You can play the file now if you wish as FLAC is natively supported by Foobar 2000.
  
Select a FLAC file (if you want to select many then just hold down the '''CTRL''' key and click them) and right click on it. Move the mouse down to the '''Convert''' sub-menu as shown in the picture above. Now click '''Convert to...''' and Foobar 2000's conversion options will pop-up on the screen.  
+
====Step 03 - Converting====
 +
 
 +
Select a FLAC file (if you want to select many then just hold down the ''CTRL'' or ''SHIFT'' key and click them) and right click on it. Move the mouse down to the '''Convert''' sub-menu as shown in the picture above. Now click '''Convert to...''' and Foobar 2000's conversion options will pop-up on the screen.  
  
 
=====Converter Setup=====
 
=====Converter Setup=====
Line 27: Line 28:
 
The Converter Setup program allows you to select different audio formats to convert source audio files to. Foobar 2000 is a very powerful application on its own, but for some of the conversions it will need outside software (might even need a plug-in simply to support the source audio, '''APE''' for instance). From the '''Encoding Preset''' drop-down menu, select '''MP3 (LAME)'''.
 
The Converter Setup program allows you to select different audio formats to convert source audio files to. Foobar 2000 is a very powerful application on its own, but for some of the conversions it will need outside software (might even need a plug-in simply to support the source audio, '''APE''' for instance). From the '''Encoding Preset''' drop-down menu, select '''MP3 (LAME)'''.
  
Now click the button beside the drop-down box with the three dots in it. This will allow you to select a bitrate and determine the output quality of the resulting MP3 file(s).
+
Now click the button labelled "..." beside the Output format drop-down box. This will allow you to select a bitrate and determine the output quality of the resulting MP3 file(s).
 +
 
 +
=====Bitrate Settings=====
  
=====BitRate Settings=====
+
Move the slidebar to the left for lower quality but smaller files, and to the right for higher quality and larger files. The default setting is V2. This is a variable bitrate option which means the bitrate does not stay constant, so the indicated bitrate is only an estimate. Recommended setting for upload to BakaBT is "Best quality, V0". Make your bitrate selection and click '''OK'''.
  
This is obviously easy to understand, simply move the slidebar to the left for lower quality but smaller files and to the right for higher quality and larger files. The default is 190kbps. This is a variable bitrate option which means it will be of higher quality (generally) than CBR MP3 audio. You will still suffer inevitable quality loss from the '''FLAC --> MP3''' conversion; about the same as the quality loss when ripping CD-Audio to MP3. Make your bitrate selection and click '''OK'''.  
+
*Note: As MP3 is a lossy audio format, there will be audio information discarded in the '''FLAC --> MP3''' conversion. This discarded information will '''not''' be automagically re-added back to the file if you convert it back from MP3 to FLAC. So you should never convert an MP3 file to a FLAC file just to make it ''seem'' like a higher-quality file.
  
 
You will now be back at the '''Converter Setup'''. Click '''OK''' and Foobar 2000 should now attempt to locate the '''LAME.EXE''' file.
 
You will now be back at the '''Converter Setup'''. Click '''OK''' and Foobar 2000 should now attempt to locate the '''LAME.EXE''' file.
Line 42: Line 45:
  
  
Without locating the lame.exe file, Foobar 2000 won't be able to convert the FLAC audio to MP3. Navigate to the folder, select '''lame.exe''' and click '''Open'''.
+
Without locating the lame.exe file, Foobar 2000 won't be able to convert the FLAC audio to MP3. Navigate to the folder where the LAME encoder files were extracted/installed to, select '''lame.exe''' and click '''Open'''.
 +
 
 +
==How to convert using OS X==
 +
 
 +
 
 +
====Step 1 - Installation====
 +
 
 +
First, we need to get [http://sbooth.org/Max/ Max]. Scroll down to the Download section, and either download the stable (first link, old but works) or the unstable (third link, has some improvements not in the stable version, but may not work.) version. If you're not sure, get the stable. When it's downloaded, double click it if necessary to extract it, open the resulting folder and drag Max.app to your applications directory.
 +
 
 +
 
 +
====Step 2 - Configuring Output====
 +
 
 +
Now, open Max. It does not have a window by default, so don't worry if nothing appears. (Check your menu bar/dock.) With Max in the foreground, hit Cmd+, (that's a comma) to bring up preferences. Click Formats. In the bottom list there, click MP3. (Or another format, if you prefer.) Click +. The default settings will work for most people.
 +
 
 +
NOTE: If you care about the quality of your audio, you should select Custom in Encoder Quality, set the Encoder Target to Bitrate, move the Bitrate slider to the hard right, and make sure Restrict encoder to constant bitrate is unchecked. (Constant bitrates are silly and wasteful.)
 +
 
 +
Click OK. Then, click the checkbox beside the newly created MP3 row in the table. (If you create another format like you just did with MP3 and select it, your FLACs will be converted into one of every format you configured.) You may wish to configure stuff in Output, but the defaults spit the MP3's out in your music folder, which is a sane default. Close the preferences window.
 +
 
 +
====Step 3 - Converting Files====
 +
Click File, then Convert Files. A file selector comes up, use it to find all the FLACs you wish to convert. Click open. If you want, select some files and modify metadata or album art using the toolbar buttons. Once you're satisfied, click convert. Make a cup of tea. Note: The tea is optional.
 +
 
 +
In the future, to convert more files in the same way, simple open Max, File > Convert Files, Select files, Convert. Done.
 +
 
 +
 
 +
==How to convert using Linux==
  
 +
====Conversion using FFmpeg command line====
  
==How to convert using OS X==
+
There are quite a few GUI applications that allow you to convert FLACs into desired MP3, but if you use Linux you probably will find your way around them, so this will focus on using command line tools to do conversion.
 +
 
 +
One way to do that is by using FFmpeg, which is used by majority of GUI frontends anyway (But FFmpeg itself uses lib3lame to do actual conversion with desired parameters). Example conversion of a FLAC file to MP3 below.
 +
 
 +
Conversion to MP3 320kbps:
 +
ffmpeg -i inputfile.flac -codec:a libmp3lame -b:a 320k outputfile.mp3
 +
 
 +
Conversion to MP3 V0:
 +
ffmpeg -i inputfile.flac -codec:a libmp3lame -qscale:a 0 outputfile.mp3
 +
 
 +
Of course, those can be chained into bigger bash scripts in order to mass convert a folder. Here is example line to execute inside folder with FLAC file, which will create a new directory alongside FLAC directory with changed name (for this example i created a sed-like name replacement, you will have to adjust it accordingly to your case) which will be filled with converted FLAC files:
 +
 
 +
newdir=../"$(basename ${PWD/FLAC*]/MP3 V0]})"; mkdir $newdir; for i in *.flac; ffmpeg -i $i -codec:a libmp3lame -qscale:a 0 $newdir/"${i/flac/mp3}"
 +
 
 +
Aftermath of operation like this leaves us with this result:
 +
➜  test tree
 +
.
 +
├── Pizzicato Five - Bossa Nova 2001 (1993) [FLAC (level 8)]
 +
│  ├── 01 Rock'n'roll.flac
 +
│  ├── 02 Sweet Soul Revue.flac
 +
│  ├── 03 Magic Carpet Ride.flac
 +
│  ├── 04 Groovy Is My Name.flac
 +
│  ├── 05 Sophisticated Catchy.flac
 +
│  ├── 06 Peace Music.flac
 +
│  ├── 07 Strawberry Sleighride.flac
 +
│  ├── 08 Sleeper.flac
 +
│  ├── 09 Sweet Thursday.flac
 +
│  ├── 10 Rain Song.flac
 +
│  ├── 11 Go Go Dancer.flac
 +
│  ├── 12 Eclipse.flac
 +
│  ├── 13 Saga.flac
 +
│  ├── 14 Hallelujah Hare Krishna.flac
 +
│  ├── 15 Playback 2001.flac
 +
│  ├── 16 Cleopatra 2001.flac
 +
│  ├── Bossa Nova 2001.cue                                                                                                                                                                                       
 +
│  ├── bossa nova 2001.jpg
 +
│  └── Bossa Nova 2001.log                                                                                                                                                                                       
 +
└── Pizzicato Five - Bossa Nova 2001 (1993) [MP3 V0]
 +
    ├── 01 Rock'n'roll.mp3
 +
    ├── 02 Sweet Soul Revue.mp3
 +
    ├── 03 Magic Carpet Ride.mp3
 +
    ├── 04 Groovy Is My Name.mp3
 +
    ├── 05 Sophisticated Catchy.mp3
 +
    ├── 06 Peace Music.mp3
 +
    ├── 07 Strawberry Sleighride.mp3
 +
    ├── 08 Sleeper.mp3
 +
    ├── 09 Sweet Thursday.mp3
 +
    ├── 10 Rain Song.mp3
 +
    ├── 11 Go Go Dancer.mp3
 +
    ├── 12 Eclipse.mp3
 +
    ├── 13 Saga.mp3
 +
    ├── 14 Hallelujah Hare Krishna.mp3
 +
    ├── 15 Playback 2001.mp3
 +
    └── 16 Cleopatra 2001.mp3
 +
                                                                                                                                                                                                                   
 +
2 directories, 35 files                                                                                                                                                                                           
 +
➜  test
 +
 
 +
 
 +
Keep in mind this is a ZSH script! Adjustments will be necessary if you are using bash. Also, as mentioned earlier, directory name was changed. This is because of sed-like regular expression:
 +
${PWD/FLAC*]/MP3 V0]}
 +
 
 +
Basically, here it replaced a bracet with FLAC string found and everything else to the right until a closing bracket is found. Adjust it accordingly to directory name, or you will end up in MP3 files in same directory (If no matches will be found, regex won't replace anything, therefore $newdir = $basename).

Latest revision as of 14:19, 4 December 2018

This article shows how to turn Free Lossless Audio Codec (FLAC) files into MP3 files. The benefits to this are obvious, the files are smaller and have better support among software and hardware players (also use less power when playing on supporting MP3 players). The drawbacks also exist too; MP3 is a lossy format. FLAC is lossless, which means it loses no audio information from it's original source, it is just compressed and can be returned to its original state at any time.

How to convert using Windows

Requirements

LAME MP3 Encoder (alternate link) ---> You need this software for the conversion to MP3. 

Foobar 2000 ---> A popular audio player with a wide range of support for playing audio files
and converting them to other formats.

Converting from FLAC to MP3 should not take too long and won't take up too much hard drive space.

Step 01 - Installation

Run the Foobar 2000 installation. The steps involved are self explanatory and don't need to be explained in detail here. The installation should be very quick and you will have the option to run Foobar 2000 for the first time at the end of the process.

You must also install the LAME MP3 encoder software onto the computer, which is not so straight forward but still easy. If it comes in the form of a .exe file, just install it like any other application. If it is in .zip form, extract it to a folder.

Step 02 - Adding files

Open FLAC files in Foobar 2000, either use the Open Files option in the file menu or simply drag and drop FLAC music files onto the program window. The files will be displayed in the playlist panel. You can play the file now if you wish as FLAC is natively supported by Foobar 2000.

Step 03 - Converting

Select a FLAC file (if you want to select many then just hold down the CTRL or SHIFT key and click them) and right click on it. Move the mouse down to the Convert sub-menu as shown in the picture above. Now click Convert to... and Foobar 2000's conversion options will pop-up on the screen.

Converter Setup

The Converter Setup program allows you to select different audio formats to convert source audio files to. Foobar 2000 is a very powerful application on its own, but for some of the conversions it will need outside software (might even need a plug-in simply to support the source audio, APE for instance). From the Encoding Preset drop-down menu, select MP3 (LAME).

Now click the button labelled "..." beside the Output format drop-down box. This will allow you to select a bitrate and determine the output quality of the resulting MP3 file(s).

Bitrate Settings

Move the slidebar to the left for lower quality but smaller files, and to the right for higher quality and larger files. The default setting is V2. This is a variable bitrate option which means the bitrate does not stay constant, so the indicated bitrate is only an estimate. Recommended setting for upload to BakaBT is "Best quality, V0". Make your bitrate selection and click OK.

  • Note: As MP3 is a lossy audio format, there will be audio information discarded in the FLAC --> MP3 conversion. This discarded information will not be automagically re-added back to the file if you convert it back from MP3 to FLAC. So you should never convert an MP3 file to a FLAC file just to make it seem like a higher-quality file.

You will now be back at the Converter Setup. Click OK and Foobar 2000 should now attempt to locate the LAME.EXE file.

Conversion Process

In most cases, this conversion will happen very quickly. If you selected multiple files then it will go through them one by one. Please remember to always check the output MP3 files before you delete the FLAC files.

Hopefully you will have successfully converted FLAC audio to MP3 audio for your personal use. If you need to repeat this process again, you won't need to point out LAME.EXE anymore to Foobar 2000, just right click and select Convert to.


Without locating the lame.exe file, Foobar 2000 won't be able to convert the FLAC audio to MP3. Navigate to the folder where the LAME encoder files were extracted/installed to, select lame.exe and click Open.

How to convert using OS X

Step 1 - Installation

First, we need to get Max. Scroll down to the Download section, and either download the stable (first link, old but works) or the unstable (third link, has some improvements not in the stable version, but may not work.) version. If you're not sure, get the stable. When it's downloaded, double click it if necessary to extract it, open the resulting folder and drag Max.app to your applications directory.


Step 2 - Configuring Output

Now, open Max. It does not have a window by default, so don't worry if nothing appears. (Check your menu bar/dock.) With Max in the foreground, hit Cmd+, (that's a comma) to bring up preferences. Click Formats. In the bottom list there, click MP3. (Or another format, if you prefer.) Click +. The default settings will work for most people.

NOTE: If you care about the quality of your audio, you should select Custom in Encoder Quality, set the Encoder Target to Bitrate, move the Bitrate slider to the hard right, and make sure Restrict encoder to constant bitrate is unchecked. (Constant bitrates are silly and wasteful.)

Click OK. Then, click the checkbox beside the newly created MP3 row in the table. (If you create another format like you just did with MP3 and select it, your FLACs will be converted into one of every format you configured.) You may wish to configure stuff in Output, but the defaults spit the MP3's out in your music folder, which is a sane default. Close the preferences window.

Step 3 - Converting Files

Click File, then Convert Files. A file selector comes up, use it to find all the FLACs you wish to convert. Click open. If you want, select some files and modify metadata or album art using the toolbar buttons. Once you're satisfied, click convert. Make a cup of tea. Note: The tea is optional.

In the future, to convert more files in the same way, simple open Max, File > Convert Files, Select files, Convert. Done.


How to convert using Linux

Conversion using FFmpeg command line

There are quite a few GUI applications that allow you to convert FLACs into desired MP3, but if you use Linux you probably will find your way around them, so this will focus on using command line tools to do conversion.

One way to do that is by using FFmpeg, which is used by majority of GUI frontends anyway (But FFmpeg itself uses lib3lame to do actual conversion with desired parameters). Example conversion of a FLAC file to MP3 below.

Conversion to MP3 320kbps:

ffmpeg -i inputfile.flac -codec:a libmp3lame -b:a 320k outputfile.mp3

Conversion to MP3 V0:

ffmpeg -i inputfile.flac -codec:a libmp3lame -qscale:a 0 outputfile.mp3

Of course, those can be chained into bigger bash scripts in order to mass convert a folder. Here is example line to execute inside folder with FLAC file, which will create a new directory alongside FLAC directory with changed name (for this example i created a sed-like name replacement, you will have to adjust it accordingly to your case) which will be filled with converted FLAC files:

newdir=../"$(basename ${PWD/FLAC*]/MP3 V0]})"; mkdir $newdir; for i in *.flac; ffmpeg -i $i -codec:a libmp3lame -qscale:a 0 $newdir/"${i/flac/mp3}"

Aftermath of operation like this leaves us with this result:

➜  test tree
.
├── Pizzicato Five - Bossa Nova 2001 (1993) [FLAC (level 8)]
│   ├── 01 Rock'n'roll.flac
│   ├── 02 Sweet Soul Revue.flac
│   ├── 03 Magic Carpet Ride.flac
│   ├── 04 Groovy Is My Name.flac
│   ├── 05 Sophisticated Catchy.flac
│   ├── 06 Peace Music.flac
│   ├── 07 Strawberry Sleighride.flac
│   ├── 08 Sleeper.flac
│   ├── 09 Sweet Thursday.flac
│   ├── 10 Rain Song.flac
│   ├── 11 Go Go Dancer.flac
│   ├── 12 Eclipse.flac
│   ├── 13 Saga.flac
│   ├── 14 Hallelujah Hare Krishna.flac
│   ├── 15 Playback 2001.flac
│   ├── 16 Cleopatra 2001.flac
│   ├── Bossa Nova 2001.cue                                                                                                                                                                                        
│   ├── bossa nova 2001.jpg
│   └── Bossa Nova 2001.log                                                                                                                                                                                        
└── Pizzicato Five - Bossa Nova 2001 (1993) [MP3 V0]
    ├── 01 Rock'n'roll.mp3
    ├── 02 Sweet Soul Revue.mp3
    ├── 03 Magic Carpet Ride.mp3
    ├── 04 Groovy Is My Name.mp3
    ├── 05 Sophisticated Catchy.mp3
    ├── 06 Peace Music.mp3
    ├── 07 Strawberry Sleighride.mp3
    ├── 08 Sleeper.mp3
    ├── 09 Sweet Thursday.mp3
    ├── 10 Rain Song.mp3
    ├── 11 Go Go Dancer.mp3
    ├── 12 Eclipse.mp3
    ├── 13 Saga.mp3
    ├── 14 Hallelujah Hare Krishna.mp3
    ├── 15 Playback 2001.mp3
    └── 16 Cleopatra 2001.mp3
                                                                                                                                                                                                                   
2 directories, 35 files                                                                                                                                                                                            
➜  test


Keep in mind this is a ZSH script! Adjustments will be necessary if you are using bash. Also, as mentioned earlier, directory name was changed. This is because of sed-like regular expression:

${PWD/FLAC*]/MP3 V0]}

Basically, here it replaced a bracet with FLAC string found and everything else to the right until a closing bracket is found. Adjust it accordingly to directory name, or you will end up in MP3 files in same directory (If no matches will be found, regex won't replace anything, therefore $newdir = $basename).