Difference between revisions of "PowerShell Audio"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Supported languages)
Line 7: Line 7:
| caption = audio conversion and tagging module for Windows PowerShell
| caption = audio conversion and tagging module for Windows PowerShell
| maintainer = [https://github.com/jherby2k/ Jebus]
| maintainer = [https://github.com/jherby2k/ Jebus]
| stable_release = [https://github.com/jherby2k/PowerShellAudio/releases/latest 1.1] (23 January 2014)
| stable_release = [https://github.com/jherby2k/PowerShellAudio/releases/latest 1.2] (5 November 2015)
| operating_system = Windows
| operating_system = Windows
| use = Digital Audio conversion, tagging
| use = Digital Audio conversion, tagging

Revision as of 22:11, 5 November 2015

PowerShell Audio

PowerShell Audio
PowerShellAudio Logo
audio conversion and tagging module for Windows PowerShell
Developer(s) Jebus
Release information
Initial release {{{released}}}
Stable release 1.2 (5 November 2015)
Preview release {{{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.


  • 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

Supported languages

  • English (translation help wanted!)

Example Usage

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