.titleBar { margin-bottom: 5px!important; }

Fritz!Box Anrufbeantworter Encoder / Decoder

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von J.C., 27 Dez. 2007.

  1. J.C.

    J.C. Neuer User

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Ort:
    Stuttgart
    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:

  2. prodigy7

    prodigy7 Mitglied

    Registriert seit:
    28 Mai 2005
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Funktioniert super! Danke!!!!!!!!!! :dance:
     
  3. Brix.Taylor

    Brix.Taylor Gesperrt

    Registriert seit:
    31 Dez. 2007
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Worin besteht der Unterschied zum original SpeeX ??
     
  4. J.C.

    J.C. Neuer User

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Ort:
    Stuttgart
    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
     
  5. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    #5 bodega, 2 Jan. 2008
    Zuletzt bearbeitet: 2 Jan. 2008
    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...
     
  6. MrStamper

    MrStamper Neuer User

    Registriert seit:
    18 Okt. 2005
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich verwende den FB-AB ohne Speicherstick - wie kann ich dann die Ansagedateien tauschen?
     
  7. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    #7 bodega, 2 Jan. 2008
    Zuletzt bearbeitet: 3 Jan. 2008
    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:

  8. merecumbe

    merecumbe Neuer User

    Registriert seit:
    3 Jan. 2008
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #8 merecumbe, 3 Jan. 2008
    Zuletzt bearbeitet: 3 Jan. 2008
    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
     
  9. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    #9 bodega, 5 Jan. 2008
    Zuletzt bearbeitet: 5 Jan. 2008
    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.

    Sieht doch halbwegs aufsteigend aus ;). Aber was soll mir das sagen?
     
  10. leo22

    leo22 Aktives Mitglied

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    901
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    [OT]
    Na dann schau mal in dieses Forum hier: http://de.os2.org
    [/OT]
     
  11. merecumbe

    merecumbe Neuer User

    Registriert seit:
    3 Jan. 2008
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Doch doch, ein virenfreies komfortables schlankes Betriebssystem ;-)

    OK, fb-speex-testfiles.zip enthält die Ansage und eine kurze Nachricht jeweils im Original und nach dem Versuch der Dekodierung mit speexdec-fb.
     
  12. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Bei mir klappt es :confused:
     
  13. merecumbe

    merecumbe Neuer User

    Registriert seit:
    3 Jan. 2008
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #13 merecumbe, 6 Jan. 2008
    Zuletzt bearbeitet: 12 Jan. 2008
    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
     
  14. dschu

    dschu Neuer User

    Registriert seit:
    9 Jan. 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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! :)
     
  15. prodigy7

    prodigy7 Mitglied

    Registriert seit:
    28 Mai 2005
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    /data/tam -> uvp.0.000 für Ansage AB 1 usw.
     
  16. dschu

    dschu Neuer User

    Registriert seit:
    9 Jan. 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hey, vielen dank für die antwort!
    eine möglichkeit das ganze nach der uhrzeit zu steuern kennt keiner so auf die schnelle?
     
  17. Tomekk1985m

    Tomekk1985m Mitglied

    Registriert seit:
    19 März 2006
    Beiträge:
    300
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    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
     
  18. dschu

    dschu Neuer User

    Registriert seit:
    9 Jan. 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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?
     
  19. Tomekk1985m

    Tomekk1985m Mitglied

    Registriert seit:
    19 März 2006
    Beiträge:
    300
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    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
     
  20. probono

    probono Neuer User

    Registriert seit:
    8 Mai 2007
    Beiträge:
    34
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Und hier in kompilierter Form für Mac OS X 10.5 Leopard.

    Usage:
    speexdec rec.1.001 001.wav
     

    Anhänge: