Ansagen im MP3-Format für Background()?

daniel-IP

Neuer User
Mitglied seit
16 Jul 2007
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
Kann Asterisk eigentlich mittels Background() MP3 abspielen oder ist immer noch alaw,ulaw,gsm-Audio Pflicht? Meine Versuche mit 8kHz GSM Files klingen alle so übel.... :-(

Musiconhold funktioniert klasse mit MP3?

Wie macht ihr das? Ansagen als GSM?
 
Du kannst auch 8000Hz 16bit Mono wav nehmen. Das klingt eigentlich ganz vernünftig.
 
Es gibt ein Addon namens "format_mp3" welches dies bereitstellt.
Bei Debian (lenny) ist es in eigenes Paket: "Asterisk-mp3"
Bei den Addons auf der Webseite von Digium ist es dabei.

Bei meinem Setup (Asterisk 1.4.21.2~dfsg-3+lenny1) spielt er dann auch MP3s mittels background(tollemp3datei) ab. Jedoch ist die Lautstärke wesentlich geringer als bei einer daraus erstellten 8 kHz wave-Datei.
Ich habe dazu zwar irgendwo welche Postings gefunden, aber nicht rausfinden können, ob es in einer neueren Version gleich laut ist.
Auch brauch bei mir die MP3 nicht 8 kHz zu sein. Stereo wird auch abgespielt.

Zumindest wenn ich per SIP mir was abspielen lasse hört sich die MP3 als Quelle besser (weniger verrauscht) an.

Jetzt meine Frage:
Wird format_mp3 lauter mit irgendeinem Update? Kann ich da selber was dran machen? (Patchen und selber kompilieren?)

Grüße
genbian
 
Zuletzt bearbeitet:
Der Diskussion auf einer Mailinglist:
http://lists.digium.com/pipermail/asterisk-dev/2009-May/038193.html
entnahm ich folgendes:
Tim Ringenbach schrieb:
What I had to do was patch format_mp3. There's a #define I had to change.

At first I thought it was the GAIN but it turned out that #define wasn't actually used.

I think it was OUTSCALE. I'll try to verify that.
Yeah, I'm pretty sure it was outscale.

There's even a comment that says:
/* quiet 4096 med 8192 */
Auf deutsch: die Lautstärkenanpassung von MP3s ist im Quelltext des Addons (format_mp3.c) fest eingetragen.
Sie steht in der Variable "OUTSCALE".
"GAIN" wird zwar definiert, aber nicht verwendet.
Die Mailinglistpostings sind vom Mai 2009. Bis heute (Oktober 2010) hat sich daran nichts geändert.
Ich hab mir den Quellcode von http://www.asterisk.org/downloads "Asterisk Add-Ons" gesaugt (asterisk-addons-1.6.2.2.tar.gz und asterisk-addons-1.4.12.tar.gz). Der entscheidende Quelltext findet sich beidesmal in "formats/format_mp3.c", Zeile 70 (bzw. 67 für 1.6.2.2):
Code:
#define BLOCKSIZE 160
#define OUTSCALE  4096

#define GAIN -4         /* 2^GAIN is the multiple to increase the volume by */
Der angebliche Kommentar " /* quiet 4096 med 8192 */" fehlt.

Selbst 8192 erschien mir noch zu leise. Erst
Code:
#define OUTSCALE  16384
Hob die Lautstärke der MP3s auf das Niveau der WAV-Dateien.
Wie der Quelltest auch sagt ("AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "MP3 format [Any rate but 8000hz mono is optimal]");)
ist es für MP3s genau das absolut Falsche die normalen Vorgaben für Asterisk, 8 kHz sample rate bei nur einem Kanal, zu benutzen.
Dies liegt nicht an Asterisk oder an dem Addon format_mp3 sondern wohl an einem Bug von einer mp3-Bibliothek.
Aus dem Grund nehm ich die Standard MP3s (oft 44,1 kHz, Joint-Stero, 128 kbit/s), vielleicht kommt Telefoniequalität ja irgendwann da hin.

Noch ein Hinweis zum kompilieren:
Wie macht man das:
Unter Debian (Lenny) musste ich noch das Paket "asterisk-dev" installieren (apt-get install asterisk-dev) um die notwendigen "Header-Dateien" zu haben.
Anschließend hab ich asterisk-addons-1.4.12.tar.gz ausgepackt.
Bin in einer Konsole in das entstandene Verzeichnis asterisk-addons-1.4.12 gewechselt.
Habe die Datei format_mp3.c im Verzeichnis formats/ wie oben beschrieben verändert.
Habe
Code:
./configure
ausgeführt, anschließend
Code:
make
.
Nun erschien im formats/ Verzeichnis die Datei format_mp3.so
Bei meinem Debian Lenny liegt die mitgelieferte Datei in /usr/lib/asterisk/modules/
Ergo eine Sicherheitskopie von /usr/lib/asterisk/modules/format_mp3.so ziehen und die frisch kompilierte dorthin kopieren.
Ich hab zur Sicherheit mal Asterisk neugestartet. (Keine Ahnung ob er das auch im laufenden Betrieb merkt...)

Grüße
genbian
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.