On hold music sounds bad and very quiet

I processed it the same as the other audio messages (menu messages etc which sound loud and clear), but the on hold music is very bad.

How do I improve it?

This isn’t a “fix” to your problem but it’s the work-around I used for many years. It’s dumb non-solution, but too many times I’ve made a file and uploaded it, then edited JUST the length or something and uploaded the second version and they sound nothing alike.

First, I make sure the recording is made as a .WAV file, PCM encoded /16 Bits/8000Hz
I give the file a specific name like music_hold_main.wav and I use the normal FreePBX tools to upload it, save & apply, etc. I do this knowing full well that I’ll get whatever I get: Too soft, too loud, distorted, etc. just whatever it is.

Then I go back to my source editor (I use Audacity) and make changes and then I use an FTP server to overlay the file with the latest edit. In my case the files are in

var/lib/asterisk/sounds/custom

I upload the file and make any change to anything at all that causes the “apply config” to start and stop asterisk.

Ok I appreciate that. So

  1. If you upload a file through the FreePBX GUI, it always runs the file through its internal conversion tool (SoX).

This can change the volume, distort the sound, or alter quality.

Even if you re-upload the same exact file through the GUI, FreePBX will still process it again.

That’s why sound often comes out “bad” compared to the original.

  1. To avoid the processing, you only need to upload once through the GUI, just to register the file and set it in the Music on Hold (or Custom Sound) module.

After that, you should overwrite the file directly on the server using FTP, SCP, or SSH.

This bypasses the GUI pipeline and leaves the file untouched, exactly how you exported it from Audacity (or your editor).

  1. The files are normally stored in:

/var/lib/asterisk/sounds/custom/

  1. To overwrite the file with SCP (from your local computer):

scp music_hold_main.wav root@your-pbx-ip:/var/lib/asterisk/sounds/custom/

Replace your-pbx-ip with the IP address of your PBX, and replace root with your SSH user if it’s different.

  1. If you’re already logged in via SSH to the PBX, you can copy it from another directory with:

cp /path/to/music_hold_main.wav /var/lib/asterisk/sounds/custom/

  1. After overwriting, Asterisk may still use the old version in memory until you reload.

In the FreePBX GUI: make any small change and click Apply Config (this forces Asterisk to reload).

From the CLI (SSH):

asterisk -rx “core reload”

Or if you just want to reload the music module only:

asterisk -rx “module reload res_musiconhold.so”

Summary:

GUI upload = re-processing every time (causes quality issues).

FTP/SCP/SSH overwrite = no processing, file plays exactly as exported.

Reload (Apply Config or CLI command) = required so Asterisk actually uses the new file instead of a cached copy.

Ill try that later thank you

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.