{"id":22989300,"url":"https://github.com/olbrichattila/audionorm","last_synced_at":"2025-04-02T11:44:45.709Z","repository":{"id":266143007,"uuid":"897517612","full_name":"olbrichattila/audionorm","owner":"olbrichattila","description":"Audio Normalization Tool for MP3 to WAV Conversion","archived":false,"fork":false,"pushed_at":"2025-01-07T22:16:52.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T02:44:36.496Z","etag":null,"topics":["audio-normalization","audio-processing","golang-cli","normalization"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olbrichattila.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-02T19:10:14.000Z","updated_at":"2025-01-07T22:16:56.000Z","dependencies_parsed_at":"2025-01-07T23:21:18.178Z","dependency_job_id":"c255be8e-d2a3-4fac-8ccb-b69da6654f4a","html_url":"https://github.com/olbrichattila/audionorm","commit_stats":null,"previous_names":["olbrichattila/audionorm"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olbrichattila%2Faudionorm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olbrichattila%2Faudionorm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olbrichattila%2Faudionorm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olbrichattila%2Faudionorm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olbrichattila","download_url":"https://codeload.github.com/olbrichattila/audionorm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246811244,"owners_count":20837745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-normalization","audio-processing","golang-cli","normalization"],"created_at":"2024-12-15T04:17:16.488Z","updated_at":"2025-04-02T11:44:45.661Z","avatar_url":"https://github.com/olbrichattila.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# audionorm: Audio Normalization Tool for MP3 to WAV Conversion\n\n`audionorm` is a powerful and easy-to-use command-line tool written in Go. It allows you to normalize the volume of audio files in bulk. The tool processes **MP3 files** from a specified folder and outputs normalized **WAV files** with consistent volume levels, making it ideal for podcast editing, music libraries, and audio projects.\n\n## Key Features\n\n- **Batch Processing**: Normalize multiple MP3 files at once.\n- **Custom Normalization Factor**: Set your desired volume level (0 to 1).\n- **MP3 to WAV Conversion**: Outputs normalized files in WAV format.\n- **Ease of Use**: Simple command-line interface.\n\n## Installation\n\nTo install `audionorm`, ensure you have [Go](https://golang.org/) installed, then run:\n\n```\ngo install github.com/olbrichattila/audionorm/cmd/audionorm@latest\n```\n\n## How to Use audionorm\nBasic Command Syntax\n```\naudionorm \u003cpath\u003e -factor=\u003cvalue\u003e -help\n```\n### Parameters\n- path: (Optional) Specifies the folder containing MP3 files. Defaults to the current working directory if not provided.\n- -factor: (Optional) A normalization factor between 0 and 1 (e.g., 0.8 for 80% of max volume). Defaults to 1 (no reduction in volume).\n- -help: (Optional) Displays usage instructions and exits.\n\n### Examples of Usage\n1. Normalize audio in the current directory with default settings:\n\n```\naudionorm\n```\n2. Normalize audio in the current directory with a factor of 0.8:\n\n```\naudionorm -factor=0.8\n```\n3. Normalize audio in a specific folder (./myfolder) with default settings:\n\n```\naudionorm ./myfolder\n```\n4. Normalize audio in ./myfolder with a factor of 0.8:\n\n```\naudionorm ./myfolder -factor=0.8\n```\n5. Display help information and usage instructions:\n```\naudionorm -help\n```\n\n6. Set a low over-amplification tolerance (e.g., 2):\n```\naudionorm ./folder -tolerance=2\n```\n\n7. Set a hight over-amplification tolerance (e.g., 2):\n```\naudionorm ./folder -tolerance=20\n```\n\n8. Convert it back to MP3:\n```\naudionorm . -mp3\n```\n\n\u003e Note: This feature requires ffmpeg to be installed:\nExamples of installing:\n\n### Linux (APT):\n```\nsudo apt update\nsudo apt install ffmpeg\n```\n\n### Linux: Fedora/CentOS\n```\nsudo dnf install ffmpeg\n```\n\n### Linux: Arch\n```\nsudo pacman -S ffmpeg\n```\n\n### Compiling:\n```\nsudo apt-get update\nsudo apt-get install -y autoconf automake build-essential libtool pkg-config\nsudo apt-get install -y libx264-dev libx265-dev libvpx-dev\n```\n\n```\ngit clone https://git.ffmpeg.org/ffmpeg.git ffmpeg\ncd ffmpeg\n./configure\nmake\nsudo make install\n```\n\n### macOS: Using Homebrew (Recommended)\n```\nInstall homebrew if not yet installed:\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\n```\nbrew install ffmpeg\n```\n\n### Using MacPorts:\n```\nsudo port install ffmpeg\n```\n\n### Windows: Using Chocolatey (Recommended)\n```\nSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))\nchoco install ffmpeg\n```\n\n### Or download and manually install: \nhttps://ffmpeg.org/download.html#build-windows\n\n## Tolerance Feature\nThe tolerance feature allows the program to handle naturally occurring high volumes without clipping or distortion. By setting a tolerance level, the program will permit a certain amount of over-amplification, enabling loud segments to remain audible and impactful.\n\n- Key Parameter: -tolerance=\u003cvalue\u003e\n- Range: 0 to 20\n- 0 (default): Disables over-amplification.\n- 1-20: Gradually increases the permissible over-amplification level, where higher values allow greater tolerance.\n\n### How It Works\nWhen -tolerance is set, the utility adjusts its normalization process to allow some high-volume segments to exceed the standard threshold. This is particularly useful for dynamic audio content, such as music or dialogue, where peaks contribute to the overall experience.\n\nFor instance, a tolerance value of 2 permits minor over-amplification, while a value of 20 allows significant amplification for dramatic peaks.\n\n## What Does the Normalization Factor Do?\nThe normalization factor adjusts the output volume:\n\n- 1: Retains the original volume.\n- 0.8: Reduces the volume to 80%.\n- Values closer to 0: Significantly lower the volume.\n\nThis flexibility ensures that your audio output meets your specific needs, whether you are fine-tuning a podcast or preparing a uniform music library.\n\nBenefits of Using audionorm\n- Save time by batch processing audio files.\n- Ensure consistent audio quality across all files.\n- Easy integration into automated workflows and scripts.\n\n### License\nThis project is licensed under the MIT License. Feel free to use, modify, and distribute this tool.\n\nComing soon.\n- Bitrate setup,\n- wav as input file\n\n## About me:\n- Learn more about me on my personal website. https://attilaolbrich.co.uk/menu/my-story\n- Check out my latest blog blog at my personal page. https://attilaolbrich.co.uk/blog/1/single\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folbrichattila%2Faudionorm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folbrichattila%2Faudionorm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folbrichattila%2Faudionorm/lists"}