Audio processing is very important on device for PTT service. Especially for performence and quality.
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
Bitrate vs MOS
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
Acoustic Echo Canceller
Usually PTT client use device's echo canceller. But sometime devices have problems. So PTT client have a software echo canceller.
Voice Activity Detector
PTT client can use VAD to decrease audio's bitrate.
VAD also can be used in VOX.
Scratch Activity Detector
SAD can detect noise on audio.
SAD can be used in VOX.
Depending on the situation, up / down sampling should be supported. At this time, it is necessary to apply interpolation to improve quality.
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.
Usually PTT client use device's noise suppression. In special environments software noise suppression is useful.
Low Path Filter
LPF can remove high frequency noises.
There are delayed playing for MP3 mode and delayed stopping.
In multi-lock, sync playing is required for TCP/UDP.
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
Can support play and recording concurrently. In ProPTT2, it is a VOIP mode.
Can support only play or recording concurrently. In ProPTT2, it is a Music mode.
Audio quality is depend on samplerate and bitrate. They have a relative relationship with each other.
Samplerte is 48000Hz. Bitrate is 96kbps
Samplerte is 24000Hz. Bitrate is 48kbps
Samplerte is 16000Hz. Bitrate is 32kbps
Samplerte is 16000Hz. Bitrate is 16kbps
Samplerte is 8000Hz. Bitrate is 8kbps
Samplerte is 8000Hz. Bitrate is 1~8kbps(avg 4~6kbps). It is VBR(Variable Bit Rate) based on VAD.
Samplerte is 8000Hz. Bitrate is 2.4kbps. It could support satellite.