public async Task ProcessBytes(byte[] data, WebSocketReceiveResult result)
        {
            var reservedBytes = 12;

            var soundChars = data
                             .Take(result.Count)
                             .Skip(reservedBytes)
                             .Select(d => (char)d)
                             .ToArray();

            var soundData = new string(soundChars)
                            .Trim()
                            .Split(' ')
                            .Select(s => double.Parse(s));

            var normalizedSoundData = soundData
                                      .Select(d => d > 542 || d < 538 ? d : 0)
                                      .Select(d => d / 1024d)
                                      .ToArray();

            var firstBlock = normalizedSoundData.Take(normalizedSoundData.Length / 2).ToArray();
            var matches    = _soundRecognitionService.Recognize(firstBlock).ToList();

            var secondBlock = normalizedSoundData.Skip(normalizedSoundData.Length / 2).ToArray();

            matches.AddRange(_soundRecognitionService.Recognize(secondBlock).ToList());

            var mostSimilar = matches.OrderByDescending(m => m.Match).First();

            if (mostSimilar.Match >= 0.6 && mostSimilar.Match <= 0.85)
            {
                return;
            }

            var sensorId   = SensorHelper.IdFromBytes(data);
            var sensorInfo = await _sensorRepository.FindAsync(sensorId);

            var soundLabel = await _soundLabelRepository.GetByLabelNumberAsync(mostSimilar.LabelNumber);

            await _pushNotificationService.SendAsync(new PushNotificationModel
            {
                Notification = new NotificationContentModel
                {
                    Body    = soundLabel?.LabelDescription,
                    Payload = sensorInfo.RoomTag,
                    Title   = sensorInfo.PlaceAlias
                },
                RegistrationIds = sensorInfo.ObservingDevices?.Select(o => o.Device.Token).ToArray()
            });

            await _soundLogRepository.CreateAsync(sensorId, soundLabel.LabelNumber, mostSimilar.Match);
        }