diff doc/AMR-EFR-conversion @ 136:8eb0e7a39409

doc: document command line utilities
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 11 Dec 2022 22:20:36 +0000
parents
children 78739fda2856
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/AMR-EFR-conversion	Sun Dec 11 22:20:36 2022 +0000
@@ -0,0 +1,25 @@
+We have two simple utilities that allow one to experiment with "dumb" bit-
+shuffling conversion between AMR 12k2 and EFR codec formats, to explore
+capabilities and limitations of this approach.
+
+gsm-amr2efr reads an AMR speech recording in RFC 4867 storage format (the common
+.amr format) and converts it to EFR in gsmx format.  The AMR input to this
+utility must consists of MR122 frames only - no other AMR modes, no SID and no
+NO_DATA gaps.  The intent is that one can take a starting speech sample in WAV
+format, encode it into AMR with amrnb-enc from opencore-amrnb (by default that
+utility produces MR122 encoding without DTX), and then convert the AMR output to
+EFR with gsm-amr2efr.  One can then encode the same starting-point WAV speech
+sample with gsmefr-encode (matching official EFR from ETSI) and compare the two
+EFR outputs.  When you do this experiment, you will see that the two EFR outputs
+will be different (you can then analyze encoded speech parameter diffs with
+gsmrec-dump), but each version can be fed to an EFR decoder, resulting in
+OK-sounding speech.
+
+gsm-efr2amr performs the opposite conversion: it reads an EFR session recording
+in gsmx format and converts it to AMR storage format.  The input to gsm-efr2amr
+is allowed to contain Themyscira BFI markers in addition to EFR frames; these
+BFI markers will be turned into AMR NO_DATA frames.  The same input can also
+contain EFR SID frames - however, gsm-efr2amr will not detect them and won't
+give them any special handling, instead they will be bit-reshuffled into MR122
+just like EFR speech frames.  The result of such "dumb" conversion is invalid
+AMR, and when you decode it with amrnb-dec, you will hear some strange noises.