Audio

Audio processing is very important on device for PTT service. Especially for performence and quality.

Audio Codec

We can choice a codec through considering bandwith and quality. ProPTT2 is using OPUS.(Codec2 for Micro NB, G.711 for SIP)

Bitrate vs Quality

ref. http://opus-codec.org/comparison/

Bitrate vs MOS

ref. http://speex.org/comparison/

Audio Processing

PTT client need to support audio processing to get good quality play sound.

Adaptive Jitter Buffer

Jitter Buffer is very important point in quality. PTT client must have good algorithms
http://en.wikipedia.org/wiki/Jitter_buffer

Acoustic Echo Canceller

Usually PTT client use device's echo canceller. But sometime devices have problems. So PTT client have a software echo canceller.
http://en.wikipedia.org/wiki/Echo_canceller

Voice Activity Detector

PTT client can use VAD to decrease audio's bitrate.

VAD also can be used in VOX.
http://en.wikipedia.org/wiki/Voice_activity_detection

Scratch Activity Detector

SAD can detect noise on audio.

SAD can be used in VOX.

Up/Down sampling

Depending on the situation, up / down sampling should be supported. At this time, it is necessary to apply interpolation to improve quality.
https://en.wikipedia.org/wiki/Interpolation

Live Sound Mixing

Some devices have audio mixing problems(Not supported or limitation of audio channel count) on H/W device. PTT client need to support S/W mixing for workaround.
http://en.wikipedia.org/wiki/Live_sound_mixing

Noise Suppression

Usually PTT client use device's noise suppression. In special environments software noise suppression is useful.
http://en.wikipedia.org/wiki/Noise_suppression

Low Path Filter

LPF can remove high frequency noises.

Audio Rendering

There are delayed playing for MP3 mode and delayed stopping.
In multi-lock, sync playing is required for TCP/UDP.

Duplex

By default, PTT use half-duplex. But IP-PTT can have multi-channel and multi-locking. So full-duplex must be required.
Refer to docs-client-overview.html

Full-duplex

Can support play and recording concurrently. In ProPTT2, it is a VOIP mode.

Half-duplex

Can support only play or recording concurrently. In ProPTT2, it is a Music mode.

Quality

Audio quality is depend on samplerate and bitrate. They have a relative relationship with each other.

Full HD

Samplerte is 48000Hz. Bitrate is 96kbps

HD

Samplerte is 24000Hz. Bitrate is 48kbps

Highest

Samplerte is 16000Hz. Bitrate is 32kbps

High

Samplerte is 16000Hz. Bitrate is 16kbps

Middle

Samplerte is 8000Hz. Bitrate is 8kbps

Low

Samplerte is 8000Hz. Bitrate is 1~8kbps(avg 4~6kbps). It is VBR(Variable Bit Rate) based on VAD.

Micro NB(Codec2)

Samplerte is 8000Hz. Bitrate is 2.4kbps. It could support satellite.