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.