PowerShell Audio

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
PowerShell Audio
PowerShellAudio Logo

audio conversion and tagging module for Windows PowerShell
Developer(s) Jeremy Herbison
Release information
Initial release Unknown
Stable release 1.2 (5 November 2015)
Preview release
Operating system Windows
Additional information
Use Digital Audio conversion, tagging
License GNU LGPLv3
Website GitHub project

PowerShell Audio is a PowerShell-driven interface for converting and tagging audio / music files. It is available under the Lesser GPL (v3) license, and is for Windows use only.

PowerShell Audio has been replaced with AudioWorks, which offers many enhancements - including Linux and MacOS support!


  • A unified interface to popular codecs (see Supported Formats).
  • Fast and highly concurrent ("multi-threaded") for modern, multi-core systems.
  • ReplayGain integration:
    • Batch-analyze thousands of files quickly,
    • save the results to disk,
    • convert to Apple SoundCheck format,
    • or apply the changes directly during encoding.
  • Metadata preservation between formats, including cover art.
  • PowerShell interface brings powerful integration and scripting capabilities.
  • API is open-source and extensible.

Supported Formats[edit]

Supported languages[edit]

  • English (translation help wanted!)

Example usage[edit]

This command simply converts a folder full of FLAC files into MP3s:

   Get-AudioFile *.flac  | Export-AudioFile "Lame MP3" C:\Output

To get a list of available encoders:


To get information about the Lame encoder, including the default and available settings:

   Get-AudioEncoderInfo "Lame MP3"

Add ReplayGain 2.0 to your entire FLAC library, treating each directory as a separate album:

   Get-ChildItem C:\Users\Myself\Music -Directory -Recurse | % { $_ | Get-ChildItem -File -Filter *.flac | Measure-AudioFile "ReplayGain 2.0" -PassThru | Save-AudioFileMetadata }

Convert your whole FLAC library to VBR AAC, with SoundCheck tags calculated from album ReplayGain information:

   Get-ChildItem C:\Users\Myself\Music -Filter *.flac -Recurse | Get-AudioFile | Export-AudioFile "Apple AAC" "C:\Output\{Artist}\{Album}" -Name "{TrackNumber} - {Title}" -Setting @{AddSoundCheck = "Album"}

Convert your whole FLAC library to VBR MP3, with ReplayGain directly applied to the resulting volume levels:

   Get-ChildItem C:\Users\Myself\Music -Filter *.flac -Recurse | Get-AudioFile | Export-AudioFile "Lame MP3" "C:\Output\{Artist}\{Album}" -Name "{TrackNumber} - {Title}" -Setting @{ApplyGain = "Album"}

Convert your whole FLAC library to VBR AAC, with embedded cover art retrieved from images located in each subdirectory. Embedded images are scaled and/or converted to JPEG for efficiency, where necessary:

   foreach ($directory in Get-ChildItem C:\Users\Myself\Music -Directory -Recurse)
       $cover = $directory | Get-ChildItem -File -Include *.png,*.jpg | Get-AudioCoverArt | Convert-AudioCoverArt -MaxWidth 500 -ConvertToLossy
       $files = $directory | Get-ChildItem -File -Filter *.flac | Get-AudioFile
       if ($files -and $cover)
           $files | Set-AudioFileCoverArt $cover
       $files | Export-AudioFile "Apple AAC" "C:\Output\{Artist}\{Album}" -Name "{TrackNumber} - {Title}"

Externals links[edit]