Skip to content

TuckerWarlock/FlicFlac

 
 

Repository files navigation

FlicFlac

repocard

Tiny Portable Audio Converter (WAV FLAC MP3 OGG APE)

Compiling from Source

Prerequisites

FlicFlac requires AutoHotkey v1.1 to compile. Note: AutoHotkey v2 is not compatible.

  1. Download and install AutoHotkey v1.1.37.02 or later
  2. Clone or download this repository

Compilation

Simply run the included compilation script:

# Using AutoHotkey (if in PATH)
AutoHotkey.exe Compile.ahk

# Or run directly with specific AutoHotkey path
"C:\Program Files\AutoHotkey\v1.1.37.02\AutoHotkeyU64.exe" Compile.ahk

This will generate FlicFlac.exe in the same directory.

What's Included

The compiled executable embeds all necessary encoders/decoders:

  • flac.exe v1.5.0 (FLAC encoder/decoder)
  • metaflac.exe v1.5.0 (FLAC metadata tool)
    • Required DLL dependencies (libFLAC.dll, libFLAC++.dll)
  • lame.exe v3.100.1 (MP3 encoder/decoder)
  • oggenc.exe and oggdec.exe (OGG encoder/decoder)
  • MAC.exe (APE encoder/decoder)
  • faad.exe (M4A/AAC decoder)

Introduction

This is a simple utility for converting WAV, FLAC, MP3, APE, OGG, M4A and AAC files to any of the other formats (except M4A and AAC that are only supported as input format).

It uses these external command line encoders/decoders (included in the package):

If you redistribute this package please refer to the license of these encoders.

On the first run, FlicFlac will create a small INI file for you to do some minor configurations if needed, and will also extract the needed converters into the windows temp directory.

Usage

Method 1:

  • Select a conversion format by pressing one of the format buttons.
  • Press the Select button to select files to convert.

Method 2:

  • Select a conversion format by pressing one of the format buttons.
  • Drag files or folders onto the Select button.

Method 3:

  • Drag files or folders onto one of the format buttons.

Method 4:

  • Right click a file and select Convert with FlicFlac.
    • This works only on single files.
    • Enable/disable the context menu integration through the settings menu.
    • By default, FlicFlac will exit after conversion when using this method. This may be changed in the INI file.
  • You may activate the settings menu through the keyboard by pressing F8 or the right click key (apps), or by right clicking anywhere on the GUI.

Technical Notes

  • FLAC files are encoded with the default flac settings (medium compression, medium speed)
  • MP3 files are encoded with a default of 192kbps. Encoding mode (CBR/VBR) and bitrate are configurable through the INI file.
    Presets are provided in an easy access menu.
    Presets menu can be configured in the INI file.
  • OGG files are encoded with a quality setting of 5 (on a scale of 0-10)
  • APE files are encoded with a compression level of 2000 (on a scale of 1000-2000)
  • OGG and MP3 files are encoded with ID3 tag information:
    • When converting from FLAC: All metadata (title, artist, album, year, track number, genre) is automatically extracted and preserved
    • When converting from other formats: Song Title = Filename, Year = Current year, Artist = Taken from the INI file
  • Native Conversions (one step):
    • WAV2MP3 WAV to MP3 (lame)
    • MP32WAV MP3 to WAV (lame)
    • FLAC2WAV FLAC to WAV (flac)
    • WAV2FLAC WAV to FLAC (flac)
    • WAV2OGG WAV to OGG (oggenc)
    • FLAC2OGG WAV to FLAC (oggenc)
    • OGG2WAV OGG to WAV (oggdec)
    • WAV2APE WAV to APE (mac)
    • APE2WAV APE to WAV (mac)
    • M4A2WAV M4A to WAV (faad)
    • AAC2WAV AAC to WAV (faad)
  • Hybrid Conversions (two steps):
    • FLAC2MP3 FLAC to WAV (flac) then WAV to MP3 (lame)
    • FLAC2APE FLAC to WAV (flac) then WAV to APE (mac)
    • MP32FLAC MP3 to WAV (lame) then WAV to FLAC (flac)
    • MP32OGG MP3 to WAV (lame) then WAV to OGG (oggenc)
    • MP32APE MP3 to WAV (lame) then WAV to APE (mac)
    • OGG2FLAC OGG to WAV (oggdec) then WAV to FLAC (flac)
    • OGG2MP3 OGG to WAV (oggdec) then WAV to MP3 (lame)
    • OGG2APE OGG to WAV (oggdec) then WAV to APE (mac)
    • APE2MP3 APE to WAV (mac) then WAV to MP3 (lame)
    • APE2OGG APE to WAV (mac) then WAV to OGG (oggenc)
    • APE2FLAC APE to WAV (mac) then WAV to FLAC (flac)
    • M4A2FLAC M4A to WAV (faad) then WAV to FLAC (flac)
    • M4A2MP3 M4A to WAV (faad) then WAV to MP3 (lame)
    • M4A2OGG M4A to WAV (faad) then WAV to OGG (oggenc)
    • M4A2APE M4A to WAV (faad) then WAV to APE (mac)
    • AAC2FLAC AAC to WAV (faad) then WAV to FLAC (flac)
    • AAC2MP3 AAC to WAV (faad) then WAV to MP3 (lame)
    • AAC2OGG AAC to WAV (faad) then WAV to OGG (oggenc)
    • AAC2APE AAC to WAV (faad) then WAV to APE (mac)
  • MP3 Bitrate Conversion
    • Also supported, MP3 to MP3 - to convert to a different bitrate.

Metadata Preservation

FlicFlac automatically extracts and preserves metadata when converting FLAC files to MP3 or OGG formats.

Supported Metadata Fields

  • Title - Song title
  • Artist - Artist name
  • Album - Album name
  • Year - Release year
  • Track Number - Track position in album
  • Genre - Music genre

How It Works

When converting from FLAC:

  1. FlicFlac uses metaflac.exe to extract metadata from the source FLAC file
  2. Metadata is passed to the encoder (LAME for MP3, oggenc for OGG) via command-line parameters
  3. The output file retains all original metadata tags

For non-FLAC conversions, the filename is used as the title, and the current year is used as the year.

Debug Mode

To troubleshoot metadata extraction, enable debug mode in FlicFlac.ini:

DebugMode = 1

This creates a Log.log file showing:

  • Extracted metadata for each conversion
  • Complete command lines executed
  • Any errors during the conversion process

Implementation Details

The metadata extraction uses metaflac.exe --show-tag=FIELD for each metadata field. The extracted values are sanitized (double quotes converted to single quotes) to prevent command-line parsing issues, then passed to LAME encoder using ID3v2 tags:

  • --tt = Title
  • --ta = Artist
  • --tl = Album
  • --ty = Year
  • --tn = Track Number
  • --tg = Genre

Contributors

About

Tiny portable audio converter for Windows (WAV FLAC MP3 OGG APE M4A AAC)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages

  • AutoHotkey 100.0%