FreeCalypso > hg > gsm-codec-lib
comparison doc/Codec-utils @ 305:a053cf0bac04
doc/Codec-utils: update for libgsmfr2
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 15 Apr 2024 23:41:39 +0000 |
parents | 04936af99fc8 |
children | b094bc07051a |
comparison
equal
deleted
inserted
replaced
304:03b0702f4463 | 305:a053cf0bac04 |
---|---|
6 output in a .amr file (RFC 4867 AMR storage format), the second reads this .amr | 6 output in a .amr file (RFC 4867 AMR storage format), the second reads this .amr |
7 format and emits AMR decoder output as WAV. Inspired by these simple test | 7 format and emits AMR decoder output as WAV. Inspired by these simple test |
8 programs, the present package offers equivalent command line utilities for GSM | 8 programs, the present package offers equivalent command line utilities for GSM |
9 FR and EFR codecs. Here they are: | 9 FR and EFR codecs. Here they are: |
10 | 10 |
11 gsmfr-encode This utility reads linear PCM from a WAV file, runs libgsm | 11 gsmfr-encode This utility reads linear PCM from a WAV file, runs the |
12 06.10 encoder and writes the output in the classic .gsm format | 12 bit-exact GSM 06.10 encoder and writes the output in the |
13 (directly abutted FR codec frames of 33 bytes each). We don't | 13 classic .gsm format (directly abutted FR codec frames of 33 |
14 currently have a Tx-side DTX implementation (VAD etc) for GSM | 14 bytes each). We don't currently have a Tx-side DTX |
15 FR, hence the output from gsmfr-encode will always consist of | 15 implementation (VAD etc) for GSM-FR, hence the output from |
16 good speech frames only. | 16 gsmfr-encode will always consist of good speech frames only. |
17 | 17 |
18 gsmfr-decode This utility reads our gsmx format (see Binary-file-format | 18 gsmfr-decode This utility reads our gsmx format (see Binary-file-format |
19 article), which is a superset of the classic libgsm format. | 19 article), which is a superset of the classic libgsm format. |
20 The input to gsmfr-decode may be a pure .gsm recording as | 20 The input to gsmfr-decode may be a pure .gsm recording as |
21 produced by gsmfr-encode or toast from libgsm package, or it | 21 produced by gsmfr-encode or toast from libgsm package, or it |
22 can also contain SID frames and/or BFI markers. The processing | 22 can also contain SID frames and/or BFI markers. The processing |
23 performed by gsmfr-decode begins with our FR1 Rx DTX handler | 23 performed by gsmfr-decode begins with our FR1 Rx DTX handler |
24 preprocessor, which will be an identity transform for pure .gsm | 24 preprocessor, which will be an identity transform for pure .gsm |
25 input but becomes important for real-world input containing SIDs | 25 input (most of the time) but becomes important for real-world |
26 and BFIs, and is followed by gsm_decode() from libgsm. The | 26 input containing SIDs and BFIs, and is followed by the bit-exact |
27 decoded output is written as WAV. | 27 GSM 06.10 decoder. The decoded output is written as WAV. |
28 | 28 |
29 gsmefr-encode This utility reads linear PCM from a WAV file, runs our EFR | 29 gsmefr-encode This utility reads linear PCM from a WAV file, runs our EFR |
30 encoder (Themyscira libgsmefr) and writes the output in our gsmx | 30 encoder (Themyscira libgsmefr) and writes the output in our gsmx |
31 format. There is an option to enable or disable DTX: -d enables | 31 format. There is an option to enable or disable DTX: -d enables |
32 DTX, otherwise it is disabled. (This option mirrors amrnb-enc.) | 32 DTX, otherwise it is disabled. (This option mirrors amrnb-enc.) |
44 | 44 |
45 gsmfr-decode-r Just like gsm[e]fr-decode, but writing "robe" instead of WAV. | 45 gsmfr-decode-r Just like gsm[e]fr-decode, but writing "robe" instead of WAV. |
46 gsmefr-decode-r | 46 gsmefr-decode-r |
47 | 47 |
48 Please see PCM-file-formats article for the rationale. | 48 Please see PCM-file-formats article for the rationale. |
49 | |
50 Additions for libgsmfr2 | |
51 ======================= | |
52 | |
53 With the introduction of libgsmfr2, gsmfr-* codec utilities have undergone some | |
54 changes: | |
55 | |
56 * gsmfr-decode and gsmfr-decode-r now implement the optional decoder homing | |
57 feature, detecting and acting upon GSM 06.10 decoder homing frames. | |
58 | |
59 * gsmfr-encode-r takes an optional -h flag that enables the encoder homing | |
60 function; it is disabled by default. The same feature was not replicated in | |
61 WAV-reading gsmfr-encode, as WAV format is poorly suited for tinkering- | |
62 oriented bit-exact work. | |
63 | |
64 * There is a new utility named gsmfr-decode-rb, where rb stands for "raw basic". | |
65 This utility emits "robe" output like gsmfr-decode-r, but it performs only | |
66 "basic" GSM 06.10 decoding, without the Rx DTX preprocessor step. BFI frame | |
67 gaps in input are not allowed, and there is no SID detection. |