-
71% вердиктов «поломка» объясняются не состоянием моторов и не микрофонами: модель реагирует на тишину и шум в записи.
-
Внутри одного уровня громкости iPhone и Tecno «ломают» двигатель одинаково охотно; между тихими и громкими записями разрыв двукратный.
-
Треть входного потока это записи, где тишины больше 70%, и именно они собирают самые уверенные вердикты о поломке.
Я делаю сервис «Автоухо»: бесплатный сервис предварительной диагностики двигателя по звуку. Человек записывает 15 секунд работы мотора на телефон, нейросеть называет вероятную зону неисправности и список возможных причин. Публичная бета, за месяц набралось 1066 диагнозов.
В выходные посмотрел на распределение вердиктов и напрягся. За две недели 71% «поломка» и только 14% «норма». Либо приходят исключительно владельцы умирающих моторов, либо модель что-то делает не так. Первая гипотеза была про железо: у дешёвых телефонов хуже микрофоны, модель принимает артефакты записи за стук. Я проверил на всех записях, и гипотеза подтвердилась ровно наполовину, причём вообще не там. Марка телефона почти ни при чём. Модель реагировала на шум и тишину.
Как мерил
Взял все 1066 записей из прода: реальные телефонные загрузки за 9 июля — 9 августа 2026. Каждую декодировал ffmpeg в моно 16 кГц float32 и по кадрам в 512 отсчётов посчитал признаки, без участия какой-либо модели:
-
громкость: RMS всей записи в dBFS;
-
пик;
-
клиппинг: доля отсчётов выше 0.98;
-
шумовой пол: 10-й перцентиль покадровых RMS;
-
разброс сигнал/шум: 90-й перцентиль минус 10-й, в дБ;
-
спектральная плоскость: отношение среднего геометрического к среднему арифметическому спектра мощности, то есть насколько звук похож на шум;
-
доля энергии выше 4 кГц;
-
доля тишины: кадры тише −50 dBFS;
-
длительность.
Затем сравнил признаки между записями, которым модель поставила «поломку», и теми, где она сказала «норма».
AUC. Здесь это вероятность того, что у случайно взятой «поломки» признак выше, чем у случайно взятой «нормы». 0.5 означает, что признак ничего не различает; чем дальше от 0.5 в любую сторону, тем сильнее связь.
Что различает «поломку» и «норму»
|
признак |
медиана: «поломка» / «норма» |
AUC |
|---|---|---|
|
громкость |
−33.7 dB / −24.3 dB |
0.28 |
|
шумовой пол |
−56.9 dB / −31.5 dB |
0.30 |
|
доля тишины |
43% / 1% |
0.69 |
|
длительность |
24.7 с / 16.0 с |
0.64 |
|
доля выше 4 кГц |
8% / 3% |
0.65 |
|
разброс сигнал/шум |
14.5 дБ / 6.7 дБ |
0.63 |
Типичная «поломка» на 9 дБ тише типичной «нормы», а тишина в такой записи занимает 43% времени против 1%.
А что с телефонами? Разбил записи на квартили по громкости внутри каждого производителя и посчитал долю «поломки» в каждом. Q1 — самые тихие записи, Q4 — самые громкие:
|
вендор |
«поломка» по квартилям, Q1 → Q4 |
|---|---|
|
Tecno |
86% → 94% → 83% → 47% |
|
Samsung |
83% → 83% → 55% → 44% |
|
Apple |
83% → 74% → 64% → 51% |
|
Infinix |
75% → 86% → 80% → 70% |
|
прочие |
78% → 73% → 65% → 45% |
Внутри квартиля вендоры почти не отличаются: тихая запись с iPhone так же охотно «ломает» двигатель, как и тихая запись с Tecno. Зато между квартилями разрыв двукратный — громкость записи меняет вердикт сильнее, чем марка телефона.
Почему сначала казалось, что дело в марке
Потому что владельцы разных телефонов пишут по-разному. Вот медианы по вендорам:
|
вендор (записей) |
громкость / доля тишины |
«поломка» |
|---|---|---|
|
Apple (116) |
−24.5 dB / 0.00 |
64% |
|
Realme (82) |
−32.1 dB / 0.06 |
70% |
|
Samsung (135) |
−32.3 dB / 0.29 |
67% |
|
Tecno (129) |
−30.0 dB / 0.47 |
76% |
|
Infinix (55) |
−32.7 dB / 0.74 |
78% |
Выглядит вроде правильно: чем «бюджетнее» вендор, тем больше «поломок». Но при этом медианная запись с Infinix на три четверти состоит из тишины, у Apple тишины нет совсем. Непонятно почему, но факт.
Калибровка: как выглядит «хорошая» запись
Чтобы понять, насколько живой корпус далёк от того, что модель должна слышать, я прогнал те же признаки по двенадцати эталонным записям. У эталонов медианная громкость −17.8 dB, доля тишины 0.00. У живых записей: −30.6 dB, 26% тишины, шумовой пол −54.5 dB. Пользователи пишут на 13 децибел тише эталона и с четвертью пустоты в записи.
У трети записей тишина занимает больше 70% времени. И доля «поломки» растёт вместе с долей тишины: 56% на чистых записях против 81% на пустых.
Объяснение, которое я придумал
Модель построена на эмбеддингах CLAP. В коде классификатора с самого начала была защита от тишины , но только тогда когда тишина занимает 90 и более процентов – ловит нечитаемое или почти беззвучное аудио и отвечает «не уверен». Частичная тишина, а это треть записей, проходит.
Похоже, что человек держит телефон далеко от мотора или пишет в шумном дворе, половина записи состоит из фона и пауз, и модель читает эту пустоту как признак неисправности.
Делаем фильтр по качеству записи :
-
тишина больше 85% или громкость тише −45 dB : ловит 29% всех загрузок; внутри них «поломка» в 80% случаев, «норма» только в 7%;
-
тишина больше 50% или тише −35 dB добавляет ещё 20% загрузок с «поломкой» в 77%;
-
остальные, годные записи — 51% корпуса, там «поломка» 59% и «норма» 19%.
Главный практический вывод. Если строите диагностику на аудиоэмбеддингах общего назначения: прежде чем разбираться, что модель думает о содержании звука, проверьте, что она думает о его отсутствии. В нашем случае треть входного потока состояла из записей, где тишины больше 70%, и именно они собирали самые уверенные вердикты о поломке.
Автор: Shadow_ru
- Запись добавлена: 11.08.2026 в 07:00
- Оставлено в


