annotate README @ 256:a33edf624061

libgsmfr2: start with API definition and port of libgsmfrp code
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 12 Apr 2024 20:49:53 +0000
parents 1b8cb3490d48
children 614ae8dc6807
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
206
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
1 Themyscira Wireless GSM codec libraries & utilities package
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
2 ===========================================================
0
b45bb0f9bdfc README: indicate purpose and scope of this repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
206
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
4 Themyscira Wireless, a technical initiative of the Women's Republic of
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
5 Themyscira, is proud to present this package of GSM codec libraries and
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
6 associated command line test and development utilities. The present package
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
7 provides two linkable C libraries, intended to be usable by any application
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
8 that needs GSM codec functionality:
0
b45bb0f9bdfc README: indicate purpose and scope of this repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
b45bb0f9bdfc README: indicate purpose and scope of this repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 libgsmefr An implementation of EFR codec in the same spirit as classic
206
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
11 libgsm, i.e., like libgsm, but for EFR instead of 06.10. It is
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
12 based on the reference code from ETSI.
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
13
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
14 libgsmfrp An Rx DTX handler preprocessor to be invoked prior to
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
15 gsm_decode() from classic libgsm, implementing GSM 06.11, 06.12
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
16 and 06.31 functionality in the Rx direction.
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
17
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
18 These two libraries are intended primarily for use as part of GSM network
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
19 deployment, i.e., as part of the necessary speech transcoder implementation in
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
20 whichever network-side server process acts as the voice gateway to PSTN or
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
21 other networks. However, they can also be used as part of development and
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
22 testing on the mobile side of GSM: for example, to decode TCH downlink bits and
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
23 voice memo recordings read out of FreeCalypso GSM MS devices, or to implement
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
24 your own lab-oriented GSM MS on top of some other PHY.
0
b45bb0f9bdfc README: indicate purpose and scope of this repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
206
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
26 Each of these two Themyscira libraries (libgsmefr and libgsmfrp) is free-
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
27 standing and independent of the other. libgsmfrp makes use of <gsm.h> header
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
28 file from libgsm (for gsm_byte and gsm_frame defined types) and requires this
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
29 header file in order to compile; libgsmefr has zero dependencies nominally but
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
30 will often be used together with libgsm and libgsmfrp.
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
31
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
32 Included command line utilities
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
33 ===============================
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
34
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
35 In addition to the two main libraries, the present package includes a number of
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
36 command line utilities, falling into the following groups:
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
37
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
38 * Some utilities specifically exercise and test the two core libraries;
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
39
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
40 * Some utilities are not specifically for library testing but make use of
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
41 our libraries;
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
42
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
43 * Some utilities are included because they implement some closely related and
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
44 relevant debug and development functionality, even though they don't link
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
45 with either libgsmefr or libgsmfrp.
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
46
1b8cb3490d48 README: update for work approaching release
Mychaela Falconia <falcon@freecalypso.org>
parents: 0
diff changeset
47 Please see the included documentation in the doc subdirectory.