Copyright © 2024 Kees Krijnen

SONEO

Introduction

SONEO is an SR2CB application for digital audio distribution, e.g. public address, congress, intercom or stage performances. NEO is pronounced like the main character name Neo from the SciFi movie the Matrix. A data transmission rate of 20k SR2CB frames per second gives a byte channel speed of 160kb/s (20k times 8 bits) and offers 608 byte channels for 100BASE-TX and 6233 byte channels for 1000BASE-T PHYs. The 160kb/s is high enough for good audio quality APCM (32kHz voice - low latency - described in the Bluetooth A2DP specification) and Opus (48kHz voice and music) codecs - if required AES encrypted and authenticated. Multiple byte channels can be combined to distribute 48kHz companding or uncompressed audio.

Contents

System

An SR2CB application for digital audio distribution constist of audio sources (e.g. call stations, microphones, intercoms, background music) and audio sinks (e.g. intercoms, amplifiers, active loudspeakers). Long distance devices could be supported by SR2CB slave RS-485 160kb/s interface connections for a maximum distance of about 1km. With 100BASE-TX PHYs based physical interface 608 byte channels are available. For a public address system a few upper (e.g. eight) byte channels could be reserved for background music what leaves about 600 channels for 160kb/s voice distribution. With a hundreds of audio channels avaible there is hardly any need for audio sources channel management. Audio source distribution with priority into different zones (audio sinks - zone management is required) could be based on the byte channel number where e.g. channel zero is reserved for all zones emergency calls.

APCM

APCM is a Bluetooth low-complexity, subband codec (SBC) - a software implementation can be found in the ffmpeg library (libavcodec\sbc*.*). For SONEO a four subband codec (32kHz - subbands 0-4kHz, 4-8Khz, 8-12kHz and 12-16kHz) is used to process 32 16-bit samples into a 20 byte (160 bit) APCM packet (downsampling by four, 32 -> 8, 8 sets of four subbands processed). Audio companding could be applied to process 20/24-bit audio for APCM encoding/decoding. A SONEO 160-bit APCM data (channel bus) packet consist of ten 16-bit words, starts with a word for the four 4-bit scale factors (S0/3), followed by eight sample words and ends with an authentication/CRC word. The eight sample words could be AES-128 encrypted. A sample word contains the processed audio from the four subbands. When all audio is found in the lowest 0-4kHz subband (e.g. most voice audio) the S0 scale factor is 15, indicating the sample word has 15 significant bits for a single 16-bits (15 bits + a sign bit) audio sample. The start of a APCM 160-bit data packet is given by a SR2CB 1ms timer tick status word.