Добрый день!
Позванивая нескончаемым потоком движутся по конвейеру пустые стеклянные банки...
Банки целые и банки со сколами и трещинами будут позванивать по разному. Буквально будут разные ноты.
Соседние банки (если они целые), постукивая друг о друга, дадут эталонный звон (т.е., в зависимости от силы их столкновения может меняться амплитуда звукового колебания, но не частота. Так сила удара по клавише рояля ноту не меняет, а меняет лишь громкость, если, конечно, не порвалась струна).
Можно замерять звук каждой банки, но, наверное, можно снимать звук с "группы". Поскольку, если на каком-то длинном интервале конвейера бракованных банок нет, то и незачем тормозить конвейер. Пусть банки будут установлены группами (например, 10 банок имеют "межбаночное расстояние" то же, что и сейчас, а потом расстояние чуть увеличивается и следом движется вторая группа и т.д.).
Тогда можно будет определить = если группа, в целом, звенит правильно, то и не трогаем ее - пусть едет дальше. Если же нет, то узнаём, что среди этих десяти (например) банок есть бракованные. В последнем случае, либо далее прозваниваем каждую, либо снимаем группу с ленты и находим брак, а целые банки отправляются обратно на конвейер.
"Снимать" звук можно микрофоном. А для сверки с эталоном я бы присоветовал старый добрый камертон.
Хотя в наше время звук оцифровывать "на ходу" совсем несложно. Будет точнее. Последнее удобно тем, что поможет ловить совсем уж малые сколы, а также едва зарождающиеся трещины (т.е., если частота звука меняется, но совсем минимально). На компьютере мы оцифрованный звук сможем визуализировать в график, а масштаб задать любой - будет видно. Либо наложить звук на другой звук, чтобы усилить "фальш" при малых отклонениях.
Конечно, нужны расчеты и некоторая проектная работа, но - уверен - совсем несложная.
С Уважением и пожеланием качественных консервов,