Difference between revisions of "PowerShell Audio"
(→Introduction) |
|||
Line 20: | Line 20: | ||
* 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 40: | Line 40: | ||
== Example Usage == | == 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 | + | |
− | + | 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: | |
− | + | ||
− | Add ReplayGain to | + | 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: | |
− | Convert | + | |
− | + | 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 | + | 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 == | == Externals links == |
Revision as of 23:34, 26 January 2015
audio conversion and tagging module for Windows PowerShell | |
Developer(s) | Jebus |
Release information | |
---|---|
Stable release | 1.0.0 (12 Dezember 2014) |
Compatibility | |
Operating system | Windows |
Additional information | |
Use | Digital Audio conversion, tagging |
License | GNU GPLv3 |
Website | GitHub project |
Contents
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.
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
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}" }