MP3 file soune volume level

Hi Guys,

is there any sound level to play mp3 file in asterisk through MP3Mplayer function I am experiencing low volume

Telephone systems have a low dynamic range, because they are designed for human speakers at an, essentially, fixed distance from the microphone. That means that telephone systems operate just below the clipping level.

If you are playing HiFi classical music off the MP3, this will have a high dynamic range, which means that most of time it will be far below the clipping level, but may reach the clipping level at times.

You should use dynamic range compression, as is done on AM radio stations, on your MP3s, if this is the problem you are having.

Also, it does not make sense to to play MP3’s on the fly, as they are expensive to convert to telephone friendly formats, are are of far too high audio quality, so when running the dynamic range compression, also store the output as 8kHz signed linear (for mu-law and A-law), or using the actual codec (although most codecs are not good for music) if using other codecs.

This might be a starting point:

Thanks a lot for help…actually I m working on TTS -STT.
I am using amazon TTS api through which I cant create .wav file only mp3 get created. I tried to convert mp3 into .wav however was could not get success hence
same => n,MP3Player(/var/www/html/tts/${lead}.mp3) but sound level is low.

can you help me what need to do here

Can you use SSML? I guess Poly is keeping the default volume low, so that you can increase it to take advantage of the available dynamic range.

Hi @asteriskpath - you are right, mp3 files play significantly more quietly than other formats on Asterisk, even for files with identical waveforms, average db etc
It’s been a “forever” problem with mp3 playback, so I simply auto-convert to .al (or might be .ul in the US) and it sounds much louder.
So, you have two choices - play a native file and have it audible, OR, alternative, you could set the channel volume TX to 5 just before you play the mp3, and then remember to put it back to normal afterward.