Skip to content

Sounds Guidelines

DonnieDice edited this page Apr 10, 2026 · 4 revisions

BLU Sound Pack Guide

This page clarifies both supported BLU sound pack styles:

  • simple single-file packs registered like third-party sound packs
  • full BLU-compatible packs with low, medium, and high variants

It also covers:

  • building a separate addon that registers a sound pack with BLU
  • creating a sound with low, medium, and high volume variants
  • adding personal custom files without writing your own addon

The old edit BLU files directly workflow is no longer the recommended path. The audio creation and editing method is unchanged.


Overview

BLU supports two different sound pack styles:

  1. Full BLU-compatible sound pack

    • best option for addon authors
    • supports _low, _med, and _high variants
    • registers through BLU:RegisterSoundPack(...)
  2. Simple external bridge pack

    • quickest option for a single file per sound
    • registers through BLU:RegisterExternalSoundPack(...)
    • does not use BLU's 3-variant volume switching

Both are valid. Use the one that matches the kind of pack you want to publish.


Audio Creation Workflow

The method and tools used to create and modify the audio tracks stay the same. What changed is how the finished files are organized and registered.

Step 1: Prepare The Base Audio In Audacity

  1. Open the source audio in Audacity.
  2. Trim silence from the beginning and end.
  3. Normalize the track.
  4. Export the main version as OGG.

Recommended export target:

  • OGG Vorbis
  • mono when possible
  • 48000 Hz
  • keep the cleaned main file as the medium version

Example output:

victory_med.ogg

Step 2: Create Low And High Variants In Adobe Audition

Use the same process you were already using for volume variants:

  1. Open the exported medium track in Adobe Audition.
  2. Create a quieter copy for the low version.
  3. Create a louder copy for the high version.
  4. Export without markers or extra metadata.

Example output set:

victory_low.ogg
victory_med.ogg
victory_high.ogg

The important clarification for BLU is the file naming and how the pack is registered, not a change to the audio-editing workflow.


Create A 3-Variant Sound

Each BLU-compatible sound should use the same base name with three OGG files:

victory_low.ogg
victory_med.ogg
victory_high.ogg

Notes:

  • BLU uses the _med.ogg file as the registered base path.
  • When the player selects Low or High in BLU, it swaps to _low.ogg or _high.ogg.
  • For the cleanest compatibility, use .ogg for these 3-variant pack sounds.

Recommended export target:

  • mono or clean stereo source
  • trimmed start/end silence
  • consistent loudness across the three variants
  • keep the same exact filename stem for all three files

Example volume workflow:

  1. Export your main version as victory_med.ogg.
  2. Export a quieter copy as victory_low.ogg.
  3. Export a louder copy as victory_high.ogg.

Recommended Addon Layout

Create a separate addon folder for your pack instead of editing BLU itself.

Interface/
\-- AddOns/
    \-- MyBLUSoundPack/
        |-- MyBLUSoundPack.toc
        |-- MyBLUSoundPack.lua
        \-- media/
            \-- sounds/
                |-- victory_low.ogg
                |-- victory_med.ogg
                |-- victory_high.ogg
                |-- quest_low.ogg
                |-- quest_med.ogg
                \-- quest_high.ogg

Register A Full BLU-Compatible Pack

Use BLU:RegisterSoundPack(...) when you want BLU to treat your pack like a native multi-volume pack.

Example TOC

## Interface: 120001
## Title: My BLU Sound Pack
## Author: You
## OptionalDeps: BLU

MyBLUSoundPack.lua

Example Lua

local frame = CreateFrame("Frame")
frame:RegisterEvent("PLAYER_LOGIN")
frame:SetScript("OnEvent", function()
    local BLU = _G.BLU
    if not BLU or type(BLU.RegisterSoundPack) ~= "function" then
        return
    end

    BLU:RegisterSoundPack("my_blu_pack", "My BLU Pack", {
        my_blu_pack_victory = {
            name = "Victory",
            file = "Interface\\AddOns\\MyBLUSoundPack\\media\\sounds\\victory_med.ogg",
            category = "all",
            source = "BLU",
        },
        my_blu_pack_quest = {
            name = "Quest Reward",
            file = "Interface\\AddOns\\MyBLUSoundPack\\media\\sounds\\quest_med.ogg",
            category = "all",
            source = "BLU",
        },
        my_blu_pack_level = {
            name = "Level Up",
            file = "Interface\\AddOns\\MyBLUSoundPack\\media\\sounds\\level_med.ogg",
            category = "all",
            source = "BLU",
        },
    })

    if type(BLU.RefreshSoundPackUI) == "function" then
        BLU.RefreshSoundPackUI()
    end
end)

Important details:

  • Register the _med.ogg file path, not _low.ogg or _high.ogg.
  • Keep source = "BLU" so BLU applies its built-in volume variant switching.
  • category = "all" makes the sound show up for every supported BLU event.
  • Use your own unique sound IDs and pack ID to avoid collisions.

Register A Simple External Pack

Use BLU:RegisterExternalSoundPack(...) if you only want to expose direct file paths.

local frame = CreateFrame("Frame")
frame:RegisterEvent("PLAYER_LOGIN")
frame:SetScript("OnEvent", function()
    local BLU = _G.BLU
    if not BLU or type(BLU.RegisterExternalSoundPack) ~= "function" then
        return
    end

    BLU:RegisterExternalSoundPack("My Simple Pack", {
        { name = "Victory", path = "Interface\\AddOns\\MyBLUSoundPack\\media\\sounds\\victory_med.ogg" },
        { name = "Quest Reward", path = "Interface\\AddOns\\MyBLUSoundPack\\media\\sounds\\quest_med.ogg" },
        { name = "Level Up", path = "Interface\\AddOns\\MyBLUSoundPack\\media\\sounds\\level_med.ogg" },
    })
end)

Use this only when you want a simple bridge entry. BLU will play the file you register directly and will not swap between _low, _med, and _high for this API.


Personal Custom Sounds

If you are not building an addon and just want your own files available in BLU, the recommended folder is:

Interface\AddOns\BLU\user\sounds\

BLU can also resolve custom files from these common locations:

  • Interface\AddOns\
  • Interface\AddOns\sounds\
  • Interface\AddOns\BLU\
  • Interface\AddOns\BLU\sounds\
  • Interface\AddOns\BLU\user\
  • Interface\AddOns\BLU\user\sounds\
  • Interface\AddOns\BLU\media\
  • Interface\AddOns\BLU\media\sounds\

After placing the files:

  1. Open /blu
  2. Go to the Sounds tab
  3. Use Add Custom Sound
  4. Enter myfile or myfile.ogg

You can also use:

/blu addcustom myfile
/blu refresh

BLU will search the supported folders and store the resolved match in your profile.


Testing

After installing or updating your sound pack:

  1. Reload the UI with /reload
  2. Open /blu
  3. Check the sound dropdowns for your pack
  4. Test the sound at Low, Medium, and High
  5. If needed, run /blu refresh and /blu rescan

If your pack does not appear:

  • confirm BLU is loaded
  • confirm your addon is enabled
  • confirm the file paths start with Interface\\AddOns\\
  • confirm your filenames match exactly, including _low, _med, and _high
  • confirm you registered the _med.ogg file for full BLU-compatible packs

Quick Reference

Use this for a full BLU-compatible 3-volume pack:

BLU:RegisterSoundPack(...)

Use this for a simple single-file third-party style pack:

BLU:RegisterExternalSoundPack(...)