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
https://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.
https://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.
https://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.
https://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.
https://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.

AI base Noise Reduction

Recently, AI-based noise reduction solutions are coming out. These solutions can effectively reduce the howling phenomenon in radios.

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

Samplerate is 48000Hz. Bitrate is 96kbps

HD

Samplerate is 24000Hz. Bitrate is 48kbps

Highest

Samplerate is 16000Hz. Bitrate is 32kbps

High

Samplerate is 16000Hz. Bitrate is 16kbps

Middle

Samplerate is 8000Hz. Bitrate is 8kbps

Low

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

Micro NB(Codec2)

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