Encoder

CW-AAC

AAC / M4A command-line encoder

Audio input → AAC / M4A

A native Windows AAC/M4A encoder with quality-based VBR, constrained VBR, conventional bitrate mode, metadata handling and packet statistics in a compact command-line tool.

Overview

CW-AAC

A native Windows AAC/M4A encoder with quality-based VBR, constrained VBR, conventional bitrate mode, metadata handling and packet statistics in a compact command-line tool.

Features

  • Quality-based VBR from -q 0.1 to 10; higher q values mean higher quality
  • cVBR mode with integer quality levels 1 to 5
  • Conventional bitrate mode with -b
  • AAC in an M4A container
  • Global metadata copying with --copy-tags
  • Individual title, artist, album, track and other metadata fields
  • AAC packet statistics with --stats
  • Windows x64 and x86 release builds

Practical comparison

How CW-AAC differs

CW-AAC provides three deliberately simple ways to target an encode: quality-based VBR, constrained VBR and a direct bitrate mode. That makes it useful both for quality-first music encoding and for workflows where bitrate behaviour needs to be more predictable.

Quality VBR

The normal -q mode targets encoding quality rather than a fixed bitrate. The encoder is free to spend more or less data according to the material, making this the natural choice when perceptual quality is the main priority.

cVBR: constrained VBR

With --cvbr, CW-AAC selects its constrained-VBR workflow using integer -q levels 1 through 5. It sits between unrestricted quality-based VBR and the direct bitrate mode.

Bitrate mode

Using -b selects a direct bitrate-oriented workflow and overrides -q. This is useful when output size, compatibility or a known bitrate target matters more than quality-driven bitrate allocation.

Command line

Command examples

Default quality VBR

Encode using the default quality setting of -q 2. In CW-AAC, higher q values mean higher quality.

Command Prompt
C:\> cw-aac.exe input.flac output.m4a

Higher quality VBR

Use quality level q4. CW-AAC runs upward: q0.1 is the lowest end of the scale and q10 is the highest.

Command Prompt
C:\> cw-aac.exe input.flac output.m4a -q 4

Constrained VBR

Enable cVBR and select integer quality level 3.

Command Prompt
C:\> cw-aac.exe input.flac output.m4a --cvbr -q 3

192 kbit/s bitrate mode

Select bitrate mode at 192 kbit/s. The bitrate setting overrides -q.

Command Prompt
C:\> cw-aac.exe input.flac output.m4a -b 192k

Copy source metadata

Copy global metadata from the input while encoding.

Command Prompt
C:\> cw-aac.exe input.flac output.m4a -q 3 --copy-tags

Set metadata manually

Set common metadata fields directly from the command line.

Command Prompt
C:\> cw-aac.exe input.wav output.m4a -q 3 --title "Track Title" --artist "Artist" --album "Album"

Show packet statistics

Print AAC packet statistics after encoding.

Command Prompt
C:\> cw-aac.exe input.flac output.m4a -q 3 --stats

Project notes

CW-AAC quality numbering runs upward: higher q means higher quality. Normal VBR accepts q0.1 to q10; cVBR uses integer q1 to q5.

The website follows the terminology used by the final executable: CW-AAC 1.0.1 exposes normal quality VBR, --cvbr constrained VBR, and -b bitrate mode.

Detailed implementation behaviour remains intentionally undocumented; the public description focuses on how each mode is selected and what type of workflow it targets.

Downloads

Verification

Release downloads can be verified independently using the published SHA-256 checksum and Windows digital signature.

Publisher & digital signature Cole Williams Software Limited