Skip to content

brittonhayes/earpeace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Earpeace ๐ŸŽš๏ธ

A tool that automatically normalizes the volume of audio clips. Available as both a CLI tool and a Discord bot.

Add to Discord

Features

  • ๐Ÿ”Š Automatically normalizes audio clips to consistent volume levels
  • ๐ŸŽฏ Works with Discord soundboards or local audio files
  • โšก Low latency processing
  • ๐Ÿ› ๏ธ Available as both a CLI tool and Discord bot
  • ๐Ÿ“Š Configurable target loudness and peak ceiling

Why?

Audio clips often have inconsistent volume levels, which can be jarring when played back. Earpeace ensures all clips are normalized to a comfortable, consistent volume level - no more unexpectedly loud sounds!

Discord Bot

The Discord bot version automatically normalizes soundboard clips in your server.

Bot Commands

  • /normalize [target-loudness] - Normalize all soundboard clips (optional target loudness)

Discord Bot Interface Discord Bot Options

CLI Tool

The command-line version lets you normalize local audio files or Discord soundboard clips.

Installation

# Prerequisites
# - FFmpeg must be installed and available in your PATH
# - Rust toolchain

cargo install earpeace

CLI Usage Examples

# Normalize local audio files
earpeace normalize --input-dir ./clips

# List Discord soundboard clips
earpeace ls

# Normalize Discord soundboard clips
earpeace normalize

# Customize normalization settings
earpeace normalize --target-loudness "-16.0" --peak-ceiling "-3.0"

CLI Options

earpeace [OPTIONS] <COMMAND>

Commands:
  normalize    Normalize audio files
  ls          List Discord soundboard sounds
  cp          Copy sounds from Discord to local directory
  help        Print help

Options:
  -t, --target-loudness <TARGET_LOUDNESS>
          Target loudness in LUFS (default: -18)
  -p, --peak-ceiling <PEAK_CEILING>
          Target peak output in dB (default: -1)
  -i, --input-dir <INPUT_DIR>
          Directory containing local audio files to normalize
  -d, --discord-token <DISCORD_TOKEN>
          Discord bot token with permissions to read the soundboard
  -g, --guild-id <GUILD_ID>
          Discord guild ID to normalize sounds from
  -l, --log-level <LOG_LEVEL>
          Log level (default: info)
  -h, --help
          Print help

Configuration

Both the CLI tool and Discord bot use these default settings:

  • Target Loudness: -18 LUFS
  • Peak Ceiling: -1 dB
  • Log Level: info

For the CLI tool, these can be configured via command-line flags or environment variables in a .env file:

DISCORD_TOKEN=your_token_here
GUILD_ID=your_guild_id

About

A Discord bot that automatically normalizes the volume of soundboard clips to prevent unexpected volume spikes ๐Ÿ”Š

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors