Difference between revisions of "PowerShell Audio"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Introduction)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{title|PowerShell Audio}}
 
 
 
{{Software Infobox
 
{{Software Infobox
 
| name = PowerShell Audio
 
| name = PowerShell Audio
| logo =
+
| logo = [[Image:PowerShellAudio-logo.png|200px|PowerShellAudio Logo]]
| screenshot = [[Image:PowerShellAudio-logo.png|200px|PowerShellAudio Logo]]
+
| screenshot =
 
| 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/ Jeremy Herbison]
| stable_release = [https://github.com/jherby2k/PowerShellAudio/releases/latest 1.0.0] (12 Dezember 2014)
+
| stable_release = [https://github.com/jherby2k/PowerShellAudio/releases/latest 1.2] (5 November 2015)
 +
| preview_release =
 
| operating_system = Windows
 
| operating_system = Windows
 
| use = Digital Audio conversion, tagging
 
| use = Digital Audio conversion, tagging
| license = GNU GPLv3
+
| license = GNU LGPLv3
 
| website = [https://github.com/jherby2k/PowerShellAudio GitHub project]
 
| website = [https://github.com/jherby2k/PowerShellAudio GitHub project]
 
}}
 
}}
 
=Introduction=   
 
 
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 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!'''''
  
 
== Features ==
 
== Features ==
 
* A unified interface to popular codecs (see Supported Formats).
 
* A unified interface to popular codecs (see Supported Formats).
 
* Fast and highly concurrent ("multi-threaded") for modern, multi-core systems.
 
* Fast and highly concurrent ("multi-threaded") for modern, multi-core systems.
* ReplayGain integration.
+
* ReplayGain integration:
 
** Batch-analyze thousands of files quickly,
 
** Batch-analyze thousands of files quickly,
 
** save the results to disk,
 
** save the results to disk,
 
** convert to Apple SoundCheck format,
 
** convert to Apple SoundCheck format,
 
** or apply the changes directly during encoding.
 
** or apply the changes directly during encoding.
* Metadata preservation between formats.
+
* Metadata preservation between formats, including cover art.
 
* PowerShell interface brings powerful integration and scripting capabilities.
 
* PowerShell interface brings powerful integration and scripting capabilities.
 
* API is open-source and extensible.
 
* API is open-source and extensible.
Line 34: Line 33:
 
* [[MP3]] ([[LAME]])
 
* [[MP3]] ([[LAME]])
 
* [[Apple AAC]]
 
* [[Apple AAC]]
 +
* [[Apple Lossless]]
 
* [[WAV]]
 
* [[WAV]]
  
 
== Supported languages ==
 
== Supported languages ==
* English
+
* English (translation help wanted!)
  
== Example Usage ==
+
== Example usage ==
'''simple Examples'''<br />
+
This command simply converts a folder full of FLAC files into MP3s:
Convert a folder full of FLAC files into Lame MP3s:
+
 
Get-AudioFile *.flac  | Export-AudioFile "Lame MP3" -Directory C:\Output
+
    Get-AudioFile *.flac  | Export-AudioFile "Lame MP3" C:\Output
<br />
+
 
Lame uses VBR -q 3 by default. To list the default switches:
+
To get a list of available encoders:
Get-AudioEncoderDefaultSettingList "Lame MP3"
+
 
<br />
+
    Get-AudioEncoderInfo
To get all the available settings for Lame:
+
 
Get-AudioEncoderAvailableSettingList "Lame MP3"
+
To get information about the Lame encoder, including the default and available settings:
<br />
+
 
All the available cmdlets are documented. For examples and a list of parameters use:
+
    Get-AudioEncoderInfo "Lame MP3"
Get-Help Export-AudioFile -Full
+
 
<br />
+
Add ReplayGain 2.0 to your entire FLAC library, treating each directory as a separate album:
'''advanced Examples'''<br />
+
 
Add ReplayGain to a entire FLAC library and treat 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 }
Get-ChildItem C:\Users\Myself\Music -Directory -Recurse | % { $_ | Get-ChildItem -File -Filter *.flac | Measure-AudioFile ReplayGain -PassThru | Save-AudioMetadata }
+
 
<br />
+
Convert your whole FLAC library to VBR AAC, with SoundCheck tags calculated from album ReplayGain information:
Convert a 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" -Directory "C:\Output\{Artist}\{Album}" -Setting @{AddSoundCheck = "Album"} -Name "{TrackNumber} - {Title}"
+
    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"}
<br />
+
 
Convert a whole FLAC library to VBR MP3, with ReplayGain directly applied to the resulting volume levels:
+
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" -Directory "C:\Output\{Artist}\{Album}" -Setting @{ApplyGain = "Album"} -Name "{TrackNumber} - {Title}"
+
 
 +
    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 ==
 
== Externals links ==
 
* [https://github.com/jherby2k/PowerShellAudio/wiki GitHub Wiki]
 
* [https://github.com/jherby2k/PowerShellAudio/wiki GitHub Wiki]
 
* [https://wikipedia.org/wiki/Windows_PowerShell PowerShell Overview]
 
* [https://wikipedia.org/wiki/Windows_PowerShell PowerShell Overview]
 
  
 
[[Category:Software]]
 
[[Category:Software]]

Latest revision as of 03:36, 11 December 2018

PowerShell Audio
PowerShellAudio Logo

audio conversion and tagging module for Windows PowerShell
Developer(s) Jeremy Herbison
Release information
Initial release {{{released}}}
Stable release 1.2 (5 November 2015)
Preview release
Compatibility
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!

Features

  • 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:

   Get-AudioEncoderInfo

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