Итак, в предыдущих сериях мы выяснили, из чего состоит звон колокола:
- Резкая атака. Одновременно с ударом язычка начинают звучать несколько тонов на разной высоте.
- Частота звучания каждой из гармоник обусловлена сложной геометрией колокола, и частоты не зависят друг от друга. то есть мы не можем высчитать гармоники или выработать какое-то правило, по которому строятся все остальные гармоники, относительно основной. (Или можем, но нам не хватает статистических данных?)
- Более высокие частоты затухают быстрее, тогда как более низкие звучат дольше, что дает красивый перелив звука, чем-то напоминающий нисходящее арпеджио.
- Некоторые частоты могут стоять очень близко к друг другу, что благодаря звуковой интерференции дает пульсацию при звучании колокола (об этом позже).
У нас есть 34 исходных семпла, которые я записал, почистил и собирал в семпл-пак. Хотелось бы не просто посмотреть на спектрограмму а собрать массив данных: для каждого сэмпла выявить наиболее значимые частоты, их громкость в общем миксе, собрать все это в таблицы, а потом проанализировать: соотношения частот внутри каждого колокола, ну и попытыться выявить какие-то закономерности.
А что у нас там с исходниками? PerkoBell01—PerkoBell26 — это стереосэмплы. При чем некоторые колокола были записаны по два раза. Где-то мне дубль не понравился, где-то я перестраховался. Проблема в том, что я не знаю, какие именно семплы содержат в себе звон одних и тех же колоколов.
PerkoBellmono27-PerkoBellmono34 — это монофонические семплы. При чем исходники взяты из первых 26-ти семплов, а в моно они сконвертировались при экспорте в Elektron Digitact. Так что какие из этих восьми дублируются с какими из первых 26-ти — я не знаю. Будем считать, что это специально, чтобы слепой тест был истинно слепым. Будем пробовать выявить уникальный звуковой отпечаток каждого колокола и сравним их на слух, визуально по спектрограмме и математически по таблицам частот.
пометка: нужно будет собрать много полевых записей не разных колоколов, а одного. Вблизи, поодаль, снизу, сбоку, с сильным ударом, со слабым ударом. И погонять в спектроанализаторе их.
После первых попыток снять частотные характеристики вручную, стало очевидно, что 34 файла — это на самом деле много и нужно бы автоматизировать. Нейросетки? пробовал. Все нейросетки упорно придумывали данные с потолка и выдавали явно ложные результаты.
Я обратился в несколько сообществ за советом, как бы упростить процедуру. Мне казалось, что задача измерить спектральный состав и собрать данные в таблицу возникала не только у меня. И должен быть уже готовый инструмент. Увы, такой не нашелся. Но нашелся умный и добрый человек, благодаря которому материализовалась целая программа-анализатор.

И я, честно говоря, в шоке, от проделанной работы. На вход мы засовываем сэмпл со звуком, а на выходе из анализатора мы получаем результат в таком виде. Все что нам нужно, перечислено через запятую:

- N — порядковый номер гармоники (обертона). Здесь не по возрастанию частоты, а по «весу» в общем миксе, начиная с самой весомой.
- frq, Hz — частота колебания в Герцах.
- % — относительная амплитуда или уровень громкости данной гармоники по отношению к основному тону. Соответственно, основная частота принята за 100%
- note — ближайшая музыкальная нота, которой соответствует эта частота.
- dev — отклонение (detuning) частоты от эталона чистой ноты в центах.
пометка: когда закончу с колоколами, обязательно нужно будет позвенеть в программу бокалами, рельсами и прочими бубенцами
Еще немного обратной связи, доработок и тестов, и программа приобретает графический интерфейс, кучу крутилок, настроек, возможность экспортировать полученные гармоники в виде миди файла (с сохранением длины затухания каждой гармоники), с возможностью экспорта ПДФ-отчета, включающего как таблицу с частотами, так и визуальные графики. Короче, конфетка, сильно ускоряющая процедуру анализа.

P.S.: Как запустить это приложение на винде, в описании есть инструкция. Сразу поясню: это не отдельный файл EXE, а программа, для запуска которой нужно сначала поставить питон, и чуть-чуть пострадать.
На маке процесс запуска чуть отличается. Опишу, чтобы заново не вспоминать при необходимости
Ставим питон. Официальный сайт, ссылки для скачивания внизу. Качаем Белл Анализатор с Гит Хаба https://github.com/zemuro/bell-analyzer. Нужно найти зеленую кнопку Code. Нажать ее и нажать Download ZIP в выпадающем меню. Скачиваем, распаковываем.

Далее идем в терминал и вводим команды. Первая команда — переход в папку куда скачалась программма:
cd /Users/r/Downloads/bell-analyzer-master
Создать виртуальное окружение:
python3 -m venv venv
Активировать окружение:
source venv/bin/activate
Установить зависимости (Если команда pip не найдена, попробуйте pip3).
pip install -r requirements.txt
Запустите приложение
python3 analyze_bell.py
Все, крутим крутилки и наслаждаемся. Дальше будем собирать статистику и анализировать ее.
P.P.S.: А вот на всякий случай, продублирую архив с программой, чтобы прямо отсюда скачать можно было. А о мало ли что с гитхабом случится.
