Fritz!Box Anrufbeantworter Encoder / Decoder

J.C.

Neuer User
Mitglied seit
4 Feb 2006
Beiträge
13
Punkte für Reaktionen
2
Punkte
1
Hallo, liebes Forum,

ich hab den Speex Encoder/Decoder mal so umgehackt, das man Fritz!Box Anrufbeantworter-Dateien damit bearbeiten kann!

Encodieren funktioniert schon problemlos, dekodieren nur mit selbst kodierten Dateien. Die Fritz!Box kann die so erzeugten Dateien verwenden, man kann nur die aufgenommen Dateien der Fritz!Box nicht (fehlerfrei) dekodieren. (braucht dieses Feature eigentlich jemand, bzw. hat jemand Lust, das zu fixen?)

Die Tools erlauben noch sämtliche Parameter der Original-Tools - selbst diejenigen, die für die Fritz!Box-Dateien keinen Sinn mehr machen.

Anbei die Tools:
speex-1.2beta3-fritzboxtam-beta1-bin.zip beinhaltet den Encoder für Windows und Encoder+Decoder kompiliert auf Ubuntu Linux (Gutsy), samt eines Patches für den Source-Code der Original-Speex Tools.
speex-1.2beta3-fritzboxtam-beta1-src.tar.bz2 enthält den bereits gepatchten Source-Code.

Anleitung zum Aufspielen einer Ansage:
  1. Ansage als .wav-Datei erstellen (PCM 16 bit mono 8000 Hz)
  2. speexenc-fb ansage.wav ansage.fb aufrufen
    Wenn die .wav-Datei korrekt war, sollte jetzt exakt folgende Ausgabe erscheinen:
    Code:
    Encoding 8000 Hz audio using narrowband mode (mono)
  3. ansage.fb auf Fritz!Box in den avm_tam-Ordner auf USB-Stick übertragen und entsprechend umbenennen (also z.B. uvp.0.000)
Ansage testen:
Code:
speexdec-fb ansage.fb
 

Anhänge

  • speex-1.2beta3-fritzboxtam-beta1-bin.zip
    257.9 KB · Aufrufe: 7,253
  • speex-1.2beta3-fritzboxtam-beta1-src.tar.bz2
    875.5 KB · Aufrufe: 2,277
Funktioniert super! Danke!!!!!!!!!! :dance:
 
Worin besteht der Unterschied zum original SpeeX ??
 
Unterschied zum original Speex Codec

Ich hab alles, was mit dem OGG-Containerformat zu tun hat, auskommentiert, und das simple hier verwendete Containerformat implementiert, das im Gegensatz zu OGG keinen Header besitzt und nur jeweils ein zusätzliches Byte vor jedem Paket verwendet, das seine Länge angibt.

siehe auch: http://www.ip-phone-forum.de/showthread.php?t=131970
 
Hi Leute,

das dekodieren der Original-Dateien geht auch. Es gibt nur kein Längenbyte!!!
Das Paket hat eine konstante Größe von 38 Bytes. Die Framesize beträgt immer 160 Samples (*2 = 320 bytes).

EDIT:
muss meine Aussage etwas ändern:
hatte zum testen die Dateien unter /usr/share/tam/messages verwendet (die Ansagen aus dem Menü). Die sind ohne Längenbyte.

EDIT:
Alles klar. Wer (genau) lesen kann ist klar im Vorteil. Jetzt verstehe ich auch was groefritzchris mit rec und fvp meint. uvp fällt dann wohl auch unter den rec Dateien. Verdammte Abkürzungen ;)
Wobei meine rec.0.000 jetzt konstante 38 Bytes als Paketgröße hatte... - mal sehen...
 
Zuletzt bearbeitet:
Ich verwende den FB-AB ohne Speicherstick - wie kann ich dann die Ansagedateien tauschen?
 
ok.. habe den Dekoder geändert und für die FB kompiliert.
Bin mir nicht sicher, ob der nun Fehlerfrei dekodiert, deswegen poste ich einfach mal...

EDIT:
was ich geändert habe:

src/speexdec.c (ab Zeile 737):
Code:
...
  bytes = 0;
  nb_read = fread(&bytes, sizeof(char), 1, fin);      
[COLOR="SeaGreen"]  while(bytes != 38 && !feof(fin))
     nb_read = fread(&bytes, sizeof(char), 1, fin);      
[/COLOR]
  //  packetbuffer[0] = bytes;
  nb_read = fread(&packetbuffer[0], sizeof(char), (int)bytes, fin);      
...
hatte jetzt keine Lust nen Patch zu schreiben für diese Holzhammermethode.
Aber wenn Sie funktioniert, dann sollte es reichen.
Falls jemand rauskriegt, was die Bytes zu bedeuten haben (also diese, != 38 ), so möge er es hier posten.
 

Anhänge

  • speex_tam_mipsel.tar
    254.5 KB · Aufrufe: 754
Zuletzt bearbeitet:
ok.. habe den Dekoder geändert und für die FB kompiliert.

Ich hätte Interesse an den geänderten Sourcen um das mal unter OS/2 zu kompilieren und testen zu können.

Update:

Danke bodega für die Dokumentation der Änderungen!

OK beides lässt sich mit etwas Handarbeit auch unter OS/2 kompilieren.
Der Enkoder funktioniert auch :).
Der Dekoder leider nicht.
Er erstellt zwar eine .wav Datei, die nach dem Header aber nur aus unregelmaessigen Folgen mit bytes der Menge {00 01 02 03 FD FE FF} besteht. (Lässt sich abspielen, aber man hört nichts) :-(

Franz
 
Zuletzt bearbeitet:
Wusste garnicht, dass OS/2 überhaupt noch von irgendwem benutzt wird.
Poste mal ein Speex File, bzw. dekodiere es auf der Box um auszuschließen, dass nicht etwas anderes falsch läuft.

merecumbe schrieb:
Er erstellt zwar eine .wav Datei, die nach dem Header aber nur aus unregelmaessigen Folgen mit bytes der Menge {00 01 02 03 FD FE FF} besteht
Sieht doch halbwegs aufsteigend aus ;). Aber was soll mir das sagen?
 
Zuletzt bearbeitet:
Hallo Marco,
hier klappts jezt auch :) Das Problem war ein blöder Fehler meinerseits beim Einpflegen Deiner Änderungen in
src/speexdec.c (ab Zeile 737)
Danke für Deine Unterstützung!
Franz

EDIT:
Zwei kleine Änderungen in den Sourcen sind für OS/2 doch noch notwendig:
Code:
--- speexenc.c.orig	2007-12-27 00:52:06.000000000 +0100
+++ speexenc.c	2008-01-12 00:13:50.000000000 +0100
@@ -524,6 +524,8 @@
    {
 #if defined WIN32 || defined _WIN32
          _setmode(_fileno(stdin), _O_BINARY);
+#elif defined OS2
+         _fsetmode(stdin,"b");
 #endif
       fin=stdin;
    }
und
Code:
--- speexdec.c.orig	2008-01-11 23:54:36.000000000 +0100
+++ speexdec.c	2008-01-11 23:59:14.000000000 +0100
@@ -231,6 +231,8 @@
       {
 #if defined WIN32 || defined _WIN32
          _setmode(_fileno(stdout), _O_BINARY);
+#elif defined OS2
+         _fsetmode(stdout,"b");
 #endif
          fout=stdout;
       }
Interessierte finden En- und Decoder für OS/2 kompiliert hier:
http://www.fbakan.de/speex/speex-1.2beta3-fritzboxtam-beta1-os2.zip
 
Zuletzt bearbeitet:
Hi!
Ich besitze die FB 7110, habe die Firmware mit AB und den MC installiert.
Nun würde ich gerne den Ansagetext ändern. Also habe ich den Ansagetext aufgenommen, als spx-file encoded und .. Ja, genau da hänge ich jetzt. Wo muss die Datei hin? Bei mir gibt es keinen avm_tam Ordner.
Unter /usr/share/ gibt es einen Ordner tam, indem sich ein Soft-Link ~messages befindet. In diesem Ordner befinden sich allerdings keine uvp.0.000 Dateien, sondern fvp Dateien.

Kann mir vielleicht jmd helfen?

(Nebenbei: Wüsste jemand eine Möglichkeit, wie man den Anrufbeantworter zu bestimmten Uhrzeiten aktiviert? z.B. 18-08 Uhr oder so? Das wäre kool)

Dennoch: Hauptproblem ist erstmal, wie ich die Ansage auf die FB aufspiele,
vielen Dank schonmal im Voraus! :)
 
/data/tam -> uvp.0.000 für Ansage AB 1 usw.
 
hey, vielen dank für die antwort!
eine möglichkeit das ganze nach der uhrzeit zu steuern kennt keiner so auf die schnelle?
 
Hi dschu,

also ich hab mich nun seit längerem mit der neuen FW beschäftigt und solch eine Funktion nicht gefunden. Allerdings denke ich, dass man vielleicht mit hilfe von CronJobs aus dem DS-Mod was machen könnte. Allerdings kann ich dir in der Sache dann nicht weiter helfen. Dafür müsstest du andere Leute fragen.

MfG Tomekk
 
vielen dank für die info tomekk!
hm, irgendwie funktioniert es bei mir nicht mit den ab ansagen..
im fritz.box menü wird mir der anrufbeantworter als "600" angezeigt. habe die datei jetzt als uvp.0.600 und als uvp.0.000 liegen (/data/tam/). trotzdem kommt die standardmeldung. mache ich irgendwas falsch? muss ich die neustarten?
 
Wie das direkt im Flash der Box aussieht kann ich dir auch ned sagen, weil ich mein AB über meine USB Platte laufen lasse. die datei muss uvp.0.000 heißen das stimmt. wie es weiter aussieht kann ich dir nur sagen wenn du usb speicher benutzt. Dort muss dann ein Ordner namens avm_tam liegen, welchen sich die Box allerdings bei mir selber angelegt hat. dort hinein musste dann die ansage kopieren und übers telefon dann die richtige ansage einstellen.

MfG Tomekk
 
Und hier in kompilierter Form für Mac OS X 10.5 Leopard.

Usage:
speexdec rec.1.001 001.wav
 

Anhänge

  • speex_leopard.zip
    3.3 KB · Aufrufe: 637
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.