Gapk » History » Version 1
laforge, 05/29/2017 09:12 AM
initial information page
1 | 1 | laforge | {{>toc}} |
---|---|---|---|
2 | |||
3 | h1. gapk |
||
4 | |||
5 | The *G* SM *A* udio *P* ocket *K* nive (GAPK) is a small command-line tool that supports conversion between the various GSM related codecs (HR/FR/EFR/AMR) and PCM audio. It supports many different formats for the codec frames, including ETSI and IETF standardized formats, as well as vendor-specific formats like those found in the TI Calypso DSP (see [[OsmocomBB]]) and those of Racal 6103/6113 GSM test equipment. |
||
6 | |||
7 | h2. Supported Codecs |
||
8 | |||
9 | |_.Codec|_.Description| |
||
10 | |pcm|Raw PCM signed 16bits samples| |
||
11 | |hr|GSM 06.20 Half Rate codec| |
||
12 | |fr|GSM 06.10 Full Rate codec (classic gsm codec)| |
||
13 | |efr|GSM 06.60 Enhanced Full Rate codec| |
||
14 | |amr|GSM 26.061 Adaptive Multi Rate codec| |
||
15 | |||
16 | h2. Supported Formats |
||
17 | |||
18 | |_.Format|_.Description| |
||
19 | |amr-efr |Classic .amr file containing EFR (=AMR 12.2k) data| |
||
20 | |gsm |Classic .gsm file format (and RTP payload for FR according to RFC3551)| |
||
21 | |hr-ref-dec |3GPP HR Reference decoder code parameters file format| |
||
22 | |hr-ref-enc |3GPP HR Reference encoder code parameters file format| |
||
23 | |racal-hr |Racal HR TCH/H recording| |
||
24 | |racal-fr |Racal FR TCH/F recording| |
||
25 | |racal-efr |Racal EFR TCH/F recording| |
||
26 | |rawpcm-s16le |Raw PCM samples Signed 16 bits little endian| |
||
27 | |ti-hr |Texas Instrument HR TCH/H buffer format| |
||
28 | |ti-fr |Texas Instrument FR TCH/F buffer format| |
||
29 | |ti-efr |Texas Instrument EFR TCH/F buffer format| |
||
30 | |amr-opencore |Input format to libopencore-amrnb| |
||
31 | |rtp-amr |RTP payload for AMR according to RFC4867| |
||
32 | |rtp-efr |RTP payload for EFR according to RFC3551| |
||
33 | |rtp-hr-etsi |RTP payload for HR according to ETSI TS 101 318| |
||
34 | |rtp-hr-ietf |RTP payload for HR according to IETF RFC5993| |
||
35 | |||
36 | h2. Common use cases |
||
37 | |||
38 | h3. RTP sink with audio playback on sound card |
||
39 | |||
40 | You can run @gapk@ as a _RTP sink_, i.e. listening to a given UDP port for incoming RTP frames, decoding them from their respective audio codec and then playing them back via your computers' sound card. |
||
41 | |||
42 | <pre> |
||
43 | $ gapk -I 0.0.0.0/30000 -f rtp-amr -A default -g rawpcm-s16le |
||
44 | </pre> |
||
45 | |||
46 | where |
||
47 | * *@-I 0.0.0.0/30000@* indicates the IP adddress (any) and UDP port (30000) to bind to and receive RTP frames on |
||
48 | * *@-f rtp-amr@* indicates the codec. Use *@gsm, rtp-efr, rtp-amr, rtp-hr-etsi or rtp-hr-ietf@* depending on your use case |
||
49 | * *@-A default@* is the alsa hardware device name (default is the default sound card) |