Skip to content

sat33shgit/Audio-Trim-Compress

Repository files navigation

Audio Compressor

Audio Compressor is a Windows desktop application built with WinForms and .NET Framework 4.0. It can import a YouTube video as MP3, or load a local audio file, then trim and compress the audio while keeping the same file extension as the source.

Features

  • Paste a YouTube URL and import the video audio as an MP3 saved in the app's current working folder.
  • Drag-and-drop or browse for an audio file.
  • Choose a compression percentage from 0% to 80%.
  • Preserve the original file type for the output.
  • Preview the selected audio range on a waveform timeline, move the play cursor freely, then trim and compress in one step.
  • Quality guard that clamps or blocks unsafe bitrate targets.
  • Live metadata display, progress reporting, and cancel support.
  • Native Windows .exe output.

Format behavior

  • MP3, M4A, AAC, OGG, OPUS, WMA, and MP2 are recompressed with a lower bitrate while preserving the original extension.
  • FLAC stays lossless and uses a higher FLAC compression level instead of lowering fidelity.
  • WAV can only become much smaller by switching to a lossy codec inside the WAV container. The app blocks that path when quality guard is enabled.
  • AIFF is not recompressed because keeping the same extension and meaningfully shrinking it is not transparent.

Build

Run the build script from PowerShell:

.\build.ps1 -Configuration Release

To bundle ffmpeg.exe, ffprobe.exe, ffplay.exe, and optionally yt-dlp.exe into the output folder:

.\build.ps1 -Configuration Release -BundleTools

If yt-dlp.exe is installed outside the PATH, pass it explicitly:

.\build.ps1 -Configuration Release -BundleTools -YtDlpPath C:\Tools\yt-dlp.exe

Use -IncludeSymbols only when you want the .pdb file for debugging.

The distributable output is created in dist\AudioCompressor and includes AudioCompressor.exe plus README.md. Tool binaries are added when -BundleTools is used.

Notes

  • Lossy formats can only be made smaller by accepting some trade-off. The app protects against obvious quality degradation by default instead of blindly honoring unsafe settings.
  • If ffprobe.exe is not present, the app falls back to reading metadata from ffmpeg.exe.
  • YouTube import requires both ffmpeg.exe and yt-dlp.exe to be available next to AudioCompressor.exe or on the PATH.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors