Статьи
Тренируем слух! Авторский обзор приложения EarQuiz Frequencies
Автор: Гдалий Гармиза (музыкант, звукорежиссёр, разработчик ПО)
EarQuiz Frequencies – это компьютерное приложение-тренажёр по развитию технического слуха и формированию навыков частотной коррекции, предназначенное в первую очередь для специалистов, преподавателей и студентов в музыкальной и аудиоиндустрии. Работа над ним началась более года назад, а 1 февраля 2024 г. оно было выложено в свободный доступ и был открыт его исходный код (в соответствии c лицензией GPL v3). На момент написания данной статьи программа протестирована и стабильно работает на 64-битных версиях Windows 10, 11, а также macOS 11 и новее (с процессорами Intel и Apple Silicon).
Методической основой проекта является широко известный в профессиональных кругах курс Дэвида Моултона «Golden Ears». Данное пособие из четырёх частей на восьми компакт-дисках с текстовым приложением известно в профессиональных кругах уже три десятилетия и активно используется в преподавательской деятельности на кафедрах звукорежиссуры по всему миру. Концепция представляемого читателю программного продукта в полной мере охватывает два из четырёх разделов курса Моултона, посвящённых эквализации и определению спектральных полос на слух. При этом реализация в формате приложения позволяет использовать для упражнений практически любой имеющийся в наличии аудиоматериал и значительно расширить сложность выполняемых заданий за счёт пользовательских настроек.
Безусловно, уже не один год существуют подобного рода программы, плагины и онлайн-сервисы. Разбор их преимуществ и недостатков – это предмет для отдельной статьи. Остановлюсь на задачах, которые ставились при создании приложения EarQuiz Frequencies и их воплощении в характеристиках программы, совокупность которых выделяет её среди прочих разработок.
Пожалуй, самым очевидным преимуществом приложения является его общедоступность, бесплатность и свобода использовать в любых – как некоммерческих, так и коммерческих целях. Открытый исходный код и лицензия GPL v3 и с технической, и с юридической точки зрения позволяют самостоятельно дорабатывать программу, обмениваться как оригиналом, так и внесёнными изменениями с другими – в рамках международного законодательства об авторском праве и положений данной лицензии.
Одной из ключевых особенностей приложения является сочетание системного подхода к тренировкам, унаследованного от методики Моултона, которая строится на принципе от простого – к сложному, с возможностью свободно переключаться между упражнениями любого типа и уровня.
Общий процесс занятий подразумевает постоянное прохождение циклов: обучение (режим Learn) – проверка себя (режим Test).
И обучающие, и тестовые упражнения состоят из аудиосемплов, которые мы будем называть примерами . Каждый пример представляет собой фрагмент либо розового шума (генерируется при каждом запуске приложения), либо музыки длительностью от 10 до 30 секунд. В курсе «Golden Ears» стандартное время примера на розовом шуме – 10 секунд, музыкального примера – 12 секунд. В приложении настройки по умолчанию аналогичные, но их можно изменить и зафиксировать не только для каждого из двух типов источника (Pink Noise/Audio File (Playlist)), но и для каждого загружаемого трека по отдельности.
Технически вместо музыки можно использовать любые внешние аудиофайлы поддерживаемых форматов, хранящиеся на локальном носителе. То есть пользователь может также экспериментировать с записями речи, различными звуками, естественными или синтетическими шумами, в общем, всем, что есть в его аудиоколлекции. Но всё же, в общем случае для занятий имеет смысл брать материал с широким и, желательно, сбалансированным частотным спектром в высоком (по возможности, некомпрессированном) качестве.
Базовый метод, лежащий в основе каждого примера, довольно прост. Проигрывание розового шума или аудиофайла начинается обычным образом, без спектральных изменений. Через несколько секунд автоматически включается октавный или 1/3-октавный графический эквалайзер (EQ), который увеличивает или уменьшает амплитуду одной или двух частотных полос. Еще через несколько секунд эквалайзер снова выключается, и звук возвращается в нормальное (не обработанное) состояние.
На данном этапе временное соотношение не обработанного (EQ Off) и обработанного (EQ On) материала зафиксировано на уровне «хардкода» как 30%/40%/30% (EQ On/EQ Off/EQ On). Поскольку программа ориентирована на профессиональную среду, качество звука – важнейший приоритет. Во избежание возможных «монтажных» щелчков в каждом примере делается Fade In/Fade Out длительностью 5 мс, а также Crossfade при переходах между выключенным/включённым состояниями эквалайзера – 35 мс. В будущих версиях приложения планируется сделать эти параметры настраиваемыми.
Такая структура примера не только проста и дидактически эффективна. В отличие от ряда других технических реализаций, где пользователю предлагается самостоятельно включать и выключать эквалайзер в процессе тренировки, данный способ прекрасно вписывается в один из основных принципов, положенных в разработку графического интерфейса. Его можно сформулировать как минимум действий руками – максимум работы головой и ушами.
Предполагается, что сначала пользователь в режиме Learn на выбранном материале слушает различные примеры эквализации в рамках определённых настроек, стараясь запомнить темброво-спектральные изменения при усилении или ослаблении тех или иных частотных полос с помощью фильтров. А затем в режиме Test обучаемый выполняет упражнение из 10 аналогичных примеров на угадывание усиливаемых или ослабляемых спектральных областей и получает оценку по 100-балльной шкале.
В режиме Learn программа позволяет принудительно активизировать усиление/ослабление тех или иных спектральных областей при каждом последующем примере. Это делается путём изменения положения слайдеров на графическом эквалайзере с помощью мыши (если до этого был включен режим Preview – данное действие переведёт приложение в режим Learn). Можно переходить от примера к примеру с помощью кнопки в соответствии с текущими настройками порядка следования частот в режиме обучения (Controls | EQ Bands Order in Learn Mode в главном меню). Данный порядок может быть восходящим (Ascending), нисходящим (Descending) или случайным (Shuffle).
Но, в соответствии с обозначенным выше принципом интерфейса, разработчиком была предусмотрена опция последовательного воспроизведения обучающих примеров ( Sequential Playback of Learning Examples). Она позволяет один раз запустить воспроизведение – и переход на каждый последующий пример в режиме Learn будет осуществляться автоматически. Пользователь при этом может полностью пройти обучающее упражнение, не касаясь руками ни мышки, ни клавиатуры. При отключенной опции Controls | Loop Sequence of EQ Bands в главном меню воспроизведение примеров завершится, когда будут исчерпаны все возможные варианты в рамках текущего паттерна. При включенной – цикл идёт бесконечно, до остановки воспроизведения пользователем.
В программе 15 встроенных паттернов, расположенных от простого к сложному. И именно в таком порядке их рекомендуется проходить. Сначала – на материале розового шума. А затем – на музыкальном (или ином) аудиоматериале.
Первые три паттерна – усиление отдельно нижних, средних и верхних частотных полос с октавным разрешением (имитируется работа 10-полосного графического эквалайзера). С четвертого по шестой – ослабление этих же полос соответственно. С седьмого по девятый паттерн – упражнения на весь частотный диапазон, также разделенный на октавные полосы: седьмой – на усиление, восьмой – на ослабление, девятый и далее – обе опции. И, начиная с девятого паттерна, в тестах, помимо угадывания частоты, требуется определить, усиливается она или ослабляется.
В следующих четырех паттернах (10…13) используется имитация 1/3-октавного графического эквалайзера. В нём 30 полос/слайдеров, но два крайних – на 25 Гц и 20 кГц – всегда неактивны, так как большинство аудиосистем эти области не воспроизводят, а большинство людей – не слышат. 10-й паттерн – на нижние частоты, 11-й – на средние, 12-й – на верхние, 13-й – на весь диапазон.
14-й и 15-й паттерны предполагают частотную коррекцию в двух частотных областях одновременно в каждом примере: две полосы либо одновременно усиливаются, либо одновременно вырезаются, либо одна усиливается, а другая – ослабляется. В 14-м паттерне используется октавный (10-полосный) эквалайзер, а в 15-м – 1/3 октавный (30-полосный). Во избежание недоразумений в упражнениях на коррекцию двух спектральных полос одновременно исключается использование смежных/близких частотных областей.
Отмечу, что первые 14 паттернов в точности повторяют поэтапное прохождение по уровням в курсе «Golden Ears». 15-й является авторским расширением данной методики, логически вытекающим из всей концепции обучения.
В настройках эквализации представлено 2 параметра:
— Frequency Gain, который определяет глубину усиления/ослабления центральных частот колоколообразных фильтров;
— Bandwidth, с помощью которого задаётся ширина усиливаемых/ослабляемых полос (и соответственно добротность фильтров Q.
В каждом из паттернов определены оба этих параметра, но их можно также менять вручную. При «открытом» замке приложение использует предопределённые паттернами настройки: глубина эквализации ±12 дБ и ширина полос фильтров 1 октава (Q = 1.41) – для упражнений с октавным расстоянием между центральными частотами; глубина эквализации ±15 дБ и ширина полосы 1/3 октавы (Q = 4.32) – для упражнений с 1/3-октавным разрешением, соответственно. При «закрытом» замке текущие настройки фиксируются (в т.ч. между сессиями приложения) без учёта предустановленных в паттернах значений.
Диапазон возможных настроек параметра Frequency Gain – от ±18 дБ до ±1
дБ, а параметра Bandwidth – от 1 октавы (Q = 1.41) до 1/6 октавы (Q = 8.65). Отмечу, что здесь специально подобраны такие опции ширины полосы, которые можно обозначить в виде простой дроби, а также легко ассоциировать с музыкальными интервалами:
Bandwidth (ширина полосы) |
Q (добротность) | Музыкальный интервал |
1 Octave | ~1.41 | октава |
3/4 Octave | ~1.9 | большая секста |
2/3 Octave | ~2.14 | малая секста |
1/2 Octave | ~2.87 | тритон |
1/3 Octave | ~4.32 | большая терция |
1/4 Octave | ~5.76 | малая терция |
1/6 Octave | ~8.65 | большая секунда |
Пройдя весь цикл упражнений с использованием предустановленных значений, можно далее вручную делать работу фильтров всё более и более тонкой, тем самым постоянно повышая сложность заданий.
Программа позволяет менять настройки эквализации в режиме Preview, а также в режиме Learn – в паузах между воспроизведением примеров. В режиме Test данные параметры не активны, так как важно сохранять одинаковые настройки между разными примерами в пределах одного и того же упражнения.
Поскольку качество звучания – один из приоритетов приложения, важной задачей было предотвращение потенциальных цифровых перегрузок при эквализации. С этой целью в программе применяется автоматическая нормализация по пикам, уровень которой находится в обратной зависимости от глубины эквализации. Иными словами, чем глубже эквализация, тем меньше уровень нормализации и тише сигнал и наоборот. В упражнениях на коррекцию двух спектральных областей одновременно добавляется запас по уровню (headroom) ещё вплоть до -3 дБ.
Большое внимание в программе уделено удобству работы с внешними аудиофайлами. Для добавления в список (Playlist) доступны файлы с расширениями: WAV, AIFF, MP3, FLAC и OGG. В настоящее время приложение использует для воспроизведения аудио встроенный в операционную систему аудиодвижок, который не всегда корректно воспроизводит или в принципе поддерживает каждый из этих форматов. Поэтому в программу встроен аудио-конвертер, позволяющий переводить любое из названных расширений в WAV или AIFF, а также менять частоту дискретизации на 44.1 или 48 кГц – для совместимости с любыми аудиоустройствами или уменьшения размера файлов. Приложение работает с файлами с длительностью от 10 секунд и частотой дискретизации не ниже 44.1 кГц.
Помещать треки в список можно как напрямую, так и через файлы плейлистов. На данный момент приложение поддерживает чтение плейлистов с расширениями M3U, M3U8, PLS и XSPF.
Основное назначение режима Preview – предварительное прослушивание аудиофайлов и выбор (недеструктивная обрезка) тех фрагментов, которые будут использоваться для упражнений. По умолчанию программа определяет рабочий фрагмент файла с начальной точкой, установленной на нулевой отметке, и конечной точкой, соответствующей длительности 10 нарезанных примеров (параметр Slice Length в Transport Panel), которые и будут использоваться для создания примеров. Как уже было упомянуто, длительность кусочков-примеров можно задавать для каждого файла по отдельности. Начальная и конечная точки обрезки каждого аудиофайла и длительность создаваемых из него примеров автоматически сохраняются непосредственно перед загрузкой нового источника аудио, либо при закрытии приложения. То есть эти данные никуда не теряются между сессиями программы; также они не привязаны к путям (приложение идентифицирует файлы по их хеш-сумме).
Навигация по списку аудиофайлов осуществляется аналогично любому современному аудиоплееру. Пользователь может сохранять ценные индивидуальные подборки треков в виде файлов плейлистов (на данный момент – в форматах M3U или M3U8) и загружать их при необходимости. Текущий список добавленных в приложение треков сохраняется между сессиями и автоматически открывается при следующем запуске программы.
Приложение позволяет создавать собственные коллекции обучающих/тестовых аудиофайлов в распространённых форматах: WAV, AIFF, MP3, FLAC и OGG, а также текстовые приложения к ним. Иными словами, упражнение на эквализацию, как в «Golden Ears» – на розовом шуме или ином аудиоматериале, с выбранным пользователем паттерном и прочими настройками может быть создано буквально за пару кликов мышки (опция File | Make Learning Files… или File | Make Test Files… в главном меню)! Сгенерированные коллекции подходят как для самостоятельного обучения, так и для преподавания даже без этого приложения, с любым устройством воспроизведения или программным обеспечением, поддерживающим перечисленные выше форматы.
Прочие возможности EarQuiz Frequencies, детали и рекомендации по работе с программой изложены в инструкции (во встроенной в приложение, а также расширенной онлайн-версии – на английском языке) и в видеоучебнике (как на английском, так и на русском языках).
Надеюсь, что приложение принесёт пользу всем, для кого оно создавалось!