LINUX.ORG.RU

Посоветуйте дешёвый по производительности алгоритм VAD (детектор наличия голоса).

 ,


0

1

Дано: канал связи 0…5000 ГЦ выловленный по радио на 433 мгц, где 90% времени гудят сигналки от гаражных ворот и иногда говорят таджики «вира майна дарагой» и охранники пятёрочки «опять эта баба сумку пыталась сп***дить».

Задача: отличать голос от неголоса. Хочется выкинуть «совсем очевидный шум», но допустимо принять за голос разные тональные сигналы. Главное избавиться от 90% файлов с очевидным трешом и угаром. Угар появляется потому, что уровень радиосигнала иногда начинает превышать некий порог, потому что включилась какая-то помеха. А «уровень радиосигнала» является пока единственным средством вылова сигнала.

В век развития нейроночек наверное можно определять это суперточно, но помню давно я работал джуно-мидлом в одной конторе по распознаванию речи и кодил всякие DSP-алгоритмы по даташитам и в этой корпорации над VAD билось полтора чувака и никак не могли это сделать хорошо и дёшево - помню что на VAD постоянно матерились.

Может кто-то посоветовать на 2025 год какие-то известны дешёвые по процессору (запустить на одноплатнике и практически не заметить потребления ЦП) приемлимые подходы в детекции голоса? Хочется что-то потоковое-свёрточное, ну типа как работают FIR/IIR фильтры - что-то в таком духе по количеству вычислений. Ну нет, ещё я готов сделать FFT звука в этом канале, если сильно надо.

Кажется, что на текущий момент задача должна решаться какой-то суперпростой нейроночкой из полутора нейронов, которая запускается даже на калькуляторе и даёт достаточно неплохой результат, но это не точно. С нейроночкой можно обосраться в том месте, что обучена она может быть на слишком чистых данных, хз короче мутная тема. Единственное, что я интуитивно понимаю, так это то, что голос на спектре выглядит как борода плавающих пиков, а остальное так не выглядит. Эту бороду вроде можно как-то кепстром ловить (спектр спектра). Плеать да их целая гора разновидностей: https://github.com/bigcash/awesome-vad походу задача сравнима с построением космолёта на солнце



Последнее исправление: lesopilorama (всего исправлений: 4)