Содержание к диссертации
Введение
Глава 1. Особенности и основные подходы моделирования звуковых последовательностей 9
1.1. Общие особенности моделирования творчества, достижения предшественников 10
1.2. Принципы, методы и подходы, используемые для построения модели 21
1.3. Целочисленные методы и алгоритмы, используемые в модели 44
Глава 2. Описание модели звукового фрагмента 48
2.1. Логика построения и структура модели 48
2.2. Представление блоков модели в процессе синтеза музыкального фрагмента 55
2.3. Представление блоков модели в процессе анализа музыкального фрагмента 75
2.4. Макропараметры блоков 83
2.5. Гибкость и развитие модели 88
Глава 3. Программная реализация модели 102
3.1. Общие особенности архитектуры приложения 102
3.2. Архитектура данных программы 103
3.3. Аппаратные и программные требования, используемые библиотеки и программные средства 106
3.4. Задачи, которые пришлось решать при создании приложения 107
3.5. Пользовательский интерфейс 116
Заключение 124
Библиографический список
- Принципы, методы и подходы, используемые для построения модели
- Целочисленные методы и алгоритмы, используемые в модели
- Представление блоков модели в процессе анализа музыкального фрагмента
- Аппаратные и программные требования, используемые библиотеки и программные средства
Введение к работе
Актуальность темы диссертационной работы определяется необходимостью эффективного анализа и моделирования текстов, а также сигналов, которые могут быть представлены как абстрактный текст.
В работе рассматриваются звуковые сигналы, представляющие собой последовательность идентифицированных элементарных звуков с известными параметрами (амплитуда, основная частота, спектр), возникающих в известные моменты времени и имеющих конечную длтельность. В этом случае звуковой поток может быть описан как абстрактный текст, т.е. последовательность символов из фиксированного набора. Для хранения звуковой информации такой структуры используются файлы стандарта MIDI, который и был создан для передачи и хранения информации о звуковых событиях, таких как начало или окончание каждого элементарного звука в последовательности, установка его параметров.
Основное внимание уделяется анализу и структуризации статистической информации, полученной при анализе текста статистическими методами. Исследования именно на этом этапе позволяют выделить большее количество закономерностей по сравнению со стандартным подходом, сделать возможными моделирование и интерактивные эксперименты и в перспективе обеспечить возможность проведения семантического анализа.
Для изучения закономерностей в исследуемой звуковой последовательности (тексте) необходим инструмент представления записи звуковых событий в виде набора статистических параметров, и модель, которая позволяла бы осуществлять синтез текста (звукового фрагмента), удовлетворяющего заданным статистическим параметрам. Такой инструмент исследования дает возможность получить интересные
результаты в следующих теоретических и практических областях: построение моделей звуковых последовательностей, удовлетоворяющим заданным условиям; изучения особенностей восприятия звуковых сигналов как информационного потока; установления принадлежности различных звуковых фрагментов к определеным типам; установления авторства звуковых записей; восстановление утраченных фрагментов звуковых записей; попытках имитации звуковых сигналов заданного характера.
Как раз в середине 90х годов XX века компьютеры стали способны полноценно обрабатывать звуковую информацию в реальном времени, появились новые методы интерактивного взаимодействия пользователя с моделью в процессе ее работы, и оформились новые взгляды на компьютер как на рабочий инструмент музыканта.
Основная часть современного программного обеспечения, предназначенная для обработки звука, может быть отнесена всего лишь к двум группам: это секвенсорные редакторы и редакторы обработки звукозаписей в волновом формате (wav). Первая группа позволяет редактировать нотные тексты и воспроизводить их, используя звуки различных музыкальных инструментов. Приложения второй группы позволяют производить звукозапись и обработку звука в цифровом виде. Однако, программных средств для анализа и моделирования нотного текста по-прежнему мало, несмотря на то, что существует теоретическая база, и возможности современной техники уже перешли необходимый рубеж.
В основе существующих моделей нотного текста, обычно лежит шаблон, правило построения фрагмента текста, которое жестко определяется традициями жанра. Необходимая стохастичность обеспечивается генератором случайных чисел. Очевидно, что такие модели будут жестко алгоритмически привязаны к конкретному жанру, не
обеспечивая гибкости.
Другие модели, сознательно отказывась от жестких законов, вообще не учитывают традиционные закономерности, это направление активно разрабатывалось на западе. Результат работы таких моделей - звуковые фрагменты в жанре, близком современному атональному и аритмичному "свободному" джазу, синтезом которого практически невозможно управлять, ввиду отсутствия ограничений на параметры звука.
Эксперименты в указанных областях представляют большой научный интерес, а недостаточная разработанность подходов к математическому моделированию звуковых фрагментов делает работу по выбранной теме актуальной.
Объектом исследования являются компьютерные методы обработки звуковых фрагментов, представленных в виде записи MIDI-событий, а также компьютерные методы статистической обработки информации.
Предметом исследования являются инструментально-технические средства обработки звуковой и текстовой информации на компьютере.
Целью настоящей работы является построение математической модели представления звукового фрагмента, заданного в виде записи MIDI-событий на основании набора статистических параметров; создание алгоритмов, программных средств и разработка пользовательского интерфейса программного комплекса, обеспечивающего ввод и редактирование данных описанной математической модели.
Для достижения поставленной цели сформулированы и решены следующие задачи:
разработка метода анализа звуковых записей в формате MIDI с помощью выявления статистических закономерностей в анализируемом потоке;
разработка математической модели создания звуковых фрагментов, удовлетворяющих заданным статистическим параметрам, отражающих характер фрагмента;
разработка методов, алгоритмов и программной реализации модели;
разработка пользовательского интерфейса, обеспечивающего взаимодействие пользователя с внутренними параметрами модели.
Основные методы исследования. В качестве методов исследования использовались статистический анализ, теория графов, целочисленные методы решения статистических задач. Компьютерная реализация разработанных алгоритмов производилась на основе объектно-ориентированного подхода.
Научная новизна. В предлагаемой диссертации разработаны следующие новые подходы:
Разработана модель, состоящая из отдельных независимых блоков, отражающих закономерности звуковой последовательности, что позволяет изучать закономерности как независимо, так и в их связи друг с другом, рассматривать как внутренние связи конкретного блока модели, так и роль каждого блока в модели.
В модели не используются различного рода жесткие шаблоны, содержащих части готовых звуковых фрагментов.
3. Модель построена таким образом, что изменение параметров в процессе
ее работы не вызывает ошибок в расчете и позволяет вносить изменения
в процессе работы модели, что обеспечивает проведение экспериментов
в интерактивном режиме.
Указанные особенности выделяют предлагаемую модель среди аналогов и обеспечивают ее преимущества как инструмента изучения закономерностей в звуковых записях по сравнению с существующими моделями.
Теоретическая значимость работы заключается в разреботке метода построения модели абстрактных текстов, основанного на циклическом структурировании статистических данных и структурном анализе статистической информации; в построении модели, позволяющей производить имитацию текстов, удовлетворяющих полученным ранее или заданным вручную параметрам.
Практическая значимость. Разработанная модель и ее программная реализация могут быть использованы в следующих областях:
для имитации звуковых сигналов заданного характера;
при изучении воздействия звуковых последовательностей на живые объекты и на сознание;
установления принадлежности различных звуковых фрагментов к определеным типам;
восстановление утраченных фрагментов звуковых записей;
установления авторства звуковых записей.
Положения, выносимые на защиту:
1) метод построения модели абстрактных текстов, основанный на анализе
статистических данных;
математическая модель, позволяющая статистически анализировать и создавать звуковые сигналы определенного характера на основе набора параметров, отражающих особенности типовых входных сигналов;
программный комплекс, реализующий предложенную модель;
4) пользовательский интерфейс программного комплекса, реализующий
функции манипуляций с данными модели и параметрами моделируемых
сигналов в реальном времени.
Личный вклад автора. Все основные результаты диссертации получены автором самостоятельно.
Апробация работы. Результаты исследования нашли отражение в
лекционно-практических курсах, читаемых на факультете музыки Российского государственного педагогического университета им. А.И.Герцена и разработанных в УМЛ "Музыкально-компьютерные технологии". Теоретические выводы и практические результаты докладывались на региональных, международных и всероссийских научных и научно-практических конференциях:
международная конференция "Региональная информатика-2002", СПб., ноябрь 2002;
международная конференция "Телекоммуникации, математика и информатика - исследования и инновации", СПб, октябрь 2002;
всероссийская научно-практическая конференция "Информатика и информационные технологии в образовании. ИИТО-2003", СПб., май 2003;
международная научно-практическая конференция "Современное музыкальное образование", СПб., октябрь 2002.
VII Российско-американская научно-практическая конференция "Актуальные вопросы современного университетского образования", СПб., май 2004.
Материалы диссертационного исследования докладывались также на городском семинаре, проводимом на базе УМЛ "Музыкально-компьютерные технологии" в РГПУ им. А.И.Герцена в 2002, 2003, 2004, 2006 годах.
Публикации. Автором опубликовано по теме диссертации 9 печатных работ.
Структура и объем диссертации. Диссертация состоит из введения, трех глав, заключения и списка литературы, включающего 181 наименование. Объем диссертации составляет 142 страницы, включая 134 страниц основного текста, 15 рисунков и 6 страниц списка литературы.
Принципы, методы и подходы, используемые для построения модели
Здесь рассматриваются принципы, методы и подходы, используемые при построении модели звукового фрагмента в формате MIDI. 1.2.1 Основной подход к анализу текста
Разработано достаточное количество методов анализа текста, при этом большинство из них обычно применяется для выявления семантических связей внутри текста и семантического значения различных его структурных единиц (фраз, предложений и.т.д.). Однако, в большинстве случаев это не имеет смысла, поскольку неизвестно значение элементов текста. Ниже предложен метод, нацеленный на поэтапный анализ текста в условиях отсутствия начальной семантической информации, основанный на выявлении закономерностей в анализируемом тексте на основе статистического анализа. Построение модели абстрактного текста происходит поэтапно следующим образом: 1) определение анализируемых параметров и их атрибутов; 2) определение области допустимых значений атрибутов; 3) частотный анализ значений атрибутов; 4) поиск периодов в анализируемой последовательности; 5) частотный анализ значений атрибутов с учетом позиции атрибута отностиельно периодов; 6) анализ взаимосвязи результатов частотного анализа со значениями периодов; 7) рассмотрение результатов частотного анализа; 8) семантический анализ внутри периодов.
Ниже этапы рассмотрены более подробно применительно к модели звукового фрагмента в формате MIDI. 1) Определение анализируемых параметров и их атрибутов
На этом этапе необходимо выделить структурные элементы текста, главные элементы и их значимые атрибуты. Различные атрибуты главного анализируемого элемента будут анализироваться независимо, а их взаимодействие будет выявлено на последующих этапах.
Входная звуковая последовательность — это конечный набор звуков, характеризующихся положением на временной шкале (время возникновения, время звучания), высотой (основной частотой), громкостью (мощностью звукового давления) и тембром (частотно-временными характеристиками), определяемыми традицией. (В скобках даны физические термины). Таким образом, звуковой фрагмент — это набор векторов вида:
A,=(TbT2,F,V,D(k,t)), где: Ті - время начала звука; Т2- время окончания звука; F- основная частота звука; V - громкость; D(k,t) - спектр, набор к гармоник, являющихся функциями от времени t, однозначно определяющих Тембр. Определим, какие из указанных атрибутов являются значимыми.
Тембр. Индивидуальный тембр инструмента, определяемый конструктивными особенностями инструмента, индивидуальными особенностями звукоизвлечения, присущими музыканту, артикуляцией, указанной в партитуре
Громкость. Громкость, определяемая конструктивными особенностями инструмента и условиями прослушивания, желаемая громкость инструмента, устанавливаемая при прослушивании, изменения громкости — подача и атрикуляция, указанная в партитуре.
Указанные атрибуты (тембр и громкость) имеют значение на этапе исполнения, на уровне нотного текста есть только знаки артикуляции, кроме того, они достаточно сложны и подлежат отдельному изучению. В данной работе не рассматривается их анализ, однако реализованы минимальные возможности синтеза. При моделировании достаточно ограничиться возможностями существующих синтезаторов, позволяющих воспроизводить звук различных музыкальных инструментов с каким-либо фиксированным тембром и громкостью.
Исключив из рассмотрения тембр и громкость, введем еще одно допущение, которое позволит нам исключить еще одну характеристику - время окончания звука. Звук большей части инструментов имеет короткое время нарастания и длительное время затухания, таким образом, наибольшее значение имеет время начала звука по сравнению со временем его окончания. Будем считать время окончания звука совпадающим с моментом начала последующего. Длительностью звука будем считать временной интервал между временем начала звука и временем начала последующего звука. Данное допущение существенно для инструментов, имеющих непрерывный звук, однако, абсолютное большинство таких инструментов являются одноголосыми (т.е. не могут издавать одновременно несколько звуков), следовательно для них смешения предыдущего и последующего звука также не происходит.
Целочисленные методы и алгоритмы, используемые в модели
Совершим дискретный переход. Теперь функция распределения задается набором значений nl...nX, сумма которых равна 100% (площадь под графиком). Имея на входе значение R необходимо вычислить значение Xout.
Целочисленный алгоритм работает следующим образом: Последовательно вычитаем из R значения пі ...пХ в момент, когда R станет меньше 0 значение п даст нам результат - случайное число с заданным распределением. Поскольку R всегда меньше 100, a S=100, алгоритм всегда завершится до того, как будут перебраны все значения пХ. еггог("Функция распределения неверна "), return(max-l), // сумма значений F(x) не была = 100% } примечание: алгоритм не производит проверку правильности дискретной функции распределения (т.е. сумма значений = 100%), но в случае превышения в ходе вычислений значения 100% выдает сообщение об ошибке.
Перспективы использования фрактальных последовательностей в качестве генератора случайных чисел
Фрактальные последовательности иногда используются в качестве генераторов случайных чисел. Это последовательности вида: Z[i+l] = Z[i]-Z[i] + C , где Zi и С — комплексные переменные
Основной особенностью фрактальных последовательностей является их повторяемость в большом и малом. Согласно определению Мандельброта "Фракталом называется структура, состоящая из частей, которые в каком-то смысле подобны целому" [5]. Эта особенность, возможно, делает их не очень удачными в качестве генераторов случайных чисел вообще, но дает очень интересные результаты при моделировании творчества, поскольку повторяемость каких-либо структур очень характерна для текстов, являющимися результатами творчества [22].
Для того, чтобы эффективно использовать какую-либо фрактальную последовательность для получения случайных параметров в каком-либо блоке модели, необходимо иметь индивидуальную фрактальную последовательность для этого блока, для того, чтобы последовательные члены не были потеряны при затребовании из других блоков модели. Таким образом, при использовании фрактальных последовательностей в качестве генераторов случайных чисел, необходимо иметь несколько последовательностей, каждая из которых обслуживает отдельный блок модели. Состав блоков подробно рассмотрен в параграфе 2.1.
Путем применения разработанного метода к абстрактному музыкальному тексту, получена модель, состоящая из блоков, примерно соответствующим этапам метода.
В данном параграфе кратко рассматриваются компоненты (блоки) и промежуточные данные модели. Для каждого блока приводится его краткая характеристика, входные и выходные данные, а также описывается общий характер математических формул блока (детерминированный или стохастический). Для блоков, не описываемых в данной работе указано их место в модели и краткая характеристика.
Ниже приводится схема структурных элементов музыкальной композиции. Более подробно формализация каждого блока изложена в параграфах 2.2 - 2.3.
На схеме жирными рамками обозначены блоки, отвечающие музыкальным дисциплинам, заключающие в себе алгоритмы, производящие анализ и синтез составляющих музыкального отрывка. Тонкими рамками обозначены данные, с которыми работают основные блоки, объекты анализа — т.е. частично обработанный музыкальный отрывок. Справа на полях текст комментария поясняет содержание и форму представления указанных данных.
Этапы разработанного метода обозначены А1..А7. Если преобразования этапа отностятся только к одному из атрибутов, в скобках обозначен анализируемый атрибут. Например A3 (высота).
Представление блоков модели в процессе анализа музыкального фрагмента
В этом блоке реализуется этап 2 разработанного метода построения модели. При рассмотрении лада как набора "разрешенных" ступеней хроматической гаммы, единственным методом определения лада музыкального отрывка является перебор всех известных ладов с вычислением значения оценочной функции, которая показывает, насколько хорошо анализируемый фрагмент соответствует тому или иному ладу. На основании наименьшего значения штрафной функции делается вывод о принадлежности фрагмента тому или иному ладу. Поскольку набор ладов неограничен и может модифицироваться пользователем программы/модели, то всегда можно создать лад, для которого штрафная функция будет равна нулю.
Удобно сначала подсчитать количество конкретных использованных нот в музыкальном фрагменте, а потом сравнить этот массив с определением лада. Полученные данные можно также будет использовать при анализе блока "Интервалы". Музыкальный фрагмент должен быть проанализирован на принадлежность - к каждому ладу - каждой тональности (путем транспонирования лада на каждый из 12 полутонов)
В каждом случае целевая (штрафная) функция считается как число ступеней хроматической гаммы, использованных в музыкальном фрагменте, но НЕ входящих в данный вариант построенной гаммы. Если в результате анализа несколько ладов/тональностей получили нулевую оценку, то эти варианты принимаются как гипотезы для дальнейшего уточнения. Такая ситуация возможна для параллельных тональностей (например до-мажор и ля-минор).
Далее выбор и принятие единственной окончательной гипотезы может быть произведен несколькими способами: На основании наиболее часто используемой ноты в музыкальном фрагменте. В большинстве случаев именно она будет являться тоникой. На основании последней ноты музыкального фрагмента. Наиболее устойчивая нота (конец фразы - разрешение) обычно тоника. Предоставить выбор пользователю-эксперту. Пользователь может сделать окончательный выбор из предоставленных гипотез.
В этом блоке реализуется этап 3 метода. Ограничения на входные параметры блока
На данном этапе уже должно быть произведено вычисления лада и партитура переведена в форму, не зависящую от лада. Для простоты будем в данном параграфе считать, что сильные доли такта приходятся на начало/конец такта. Более подробно про особенностях записи сильных долей ритма в рассматриваемой модели было написано в параграфе 5 главы 1.
Расчет переходных вероятностей
Наиболее простым и единственным решением расчета переходных вероятностей представляется подсчет количества переходов каждого конкретного типа и последующего деления на общее количество переходов в анализируемом музыкальном фрагменте.
В качестве входных параметров блока будем рассматривать партитуру в терминах ступеней без учета длительностей. Пусть входные параметры представлены ввиде массива ступеней гаммы и массива длительностей.
Расчет переходных вероятностей с учетом места на временной шкале Как было описано в параграфе 7 главы 1, необходимо вычислить переходные вероятности для особых случаев временной шкалы: сильные доли такта, окончания музыкальных фраз и завершение музыкального фрагмента.
Для расчета необходимо знать размеры музыкальных фраз и такта. Про вычисление параметров блока "фразировка" рассказывается в 4 параграфе этой главы. А сейчас предположим, что нам уже известны значения длин фраз и такта.
Чтобы вычислить матрицы переходных вероятностей для концов такта, поступим аналогичным образом: подсчитаем все переходы в музыкальном фрагменте от нот, являющихся предпоследними в такте к нотам, последним в такте и каждое значение разделим на число таких переходов (их столько же, сколько тактов в музыкальном фрагменте). Если такт состоит из одной ноты с длительностью, равной размеру такта, то в таком случае примем за предыдущую ноту последнюю ноту предыдущего такта. Если же такт является первым, то примем за предыдущую ноту саму анализируемую ноту.
Чтобы вычислить матрицы переходных вероятностей для концов музыкальных фраз, подсчитаем все переходы между нотами, являющимися предпоследними в музыкальной фразе и последними. Разделим числа для каждого перехода на количество таких "особых случаев" равное количеству музыкальных фраз.
Аппаратные и программные требования, используемые библиотеки и программные средства
Аппаратные требования IBM PC AT ІЗ86 (Рекомендуется Pentium III - 600) Требуемый объем на жестком диске: 2 Мб (Для хранения сэмплов и готовых произведений рекомендуется около 1 Гб) Звуковая карта или устройство, ее имитирующее при наличии драйверов, совместимых с DirectSound
Программные требования - Операционная система Windows 95, Windows 98, Windows 2000, Windows ХР, или любая операционная система в режиме имитации Windows при условии поддержки функций DirectSound. - Драйверы DirectX v 3.0 или выше. (DirectX v 3.0 входят в комплект поставки Windows 95) Используемые библиотеки и программные средства - Разработка осуществлялась в среде Visual C++ Studio v.5.0 - Приложение использует функции библиотеки DirectX V.3.0 - Библиотека MFC (Microsoft Foundation Classes). Функции библиотеки прилинкованы к исполняемому файлу, поэтому наличие MFC DLL не требуется.
В ходе работы над программой необходимо было обеспечить наличие стандартных возможностей работы со звуком, которые обычно предоставляются программами-секвенсорами и звуковыми редакторами. Эти функции необходимы прежде всего для обеспечения совместимости форматов данных с другими программами, позволять загружать внешние файлы партитур, созданные в других редакторах, отображать и корректировать партитуры, воспроизводить результаты работы модели.
Задача волнового синтеза
Задача волнового синтеза состоит в одновременном воспроизведении нескольких звуков с заданной высотой (скоростью воспроизведения). Задача волонового синтеза может быть решена аппаратным либо программным путем.
Аппаратный волновой синтез
Для достижения наилучших результатов предпочтительнее осуществлять волновой синтез аппаратным путем, поскольку: - данный метод не загружает центральный процессор - аппаратные средства обеспечивают наилучшее качество - большинство соверменных звуковых карт поддерживают технологию хранения сэмплов в оперативной памяти, что позволяет использовать широкий список высококачественных сэмплов.
В этом случае приложение может использовать функции звуковой карты, регламентированные стандартом MPU-401. Стандарт позволяет давать звуковой карте в любой момент времени следующие команды: Включить звук. Входные параметры: Номер инструмента, Высота, Канал Выключить звук. Входные параметры: Канал.
Изменить параметры канала (громкость, эффекты и.т.д) Номер инструмента регламентирован стандартом музыкальной коммуникации MIDI, и конкретная реализация звучания инструмента с заданным именем (MIDI-номером) может сильно отличаться на разных звуковых картах. Но, как было отмечено выше, современные звуковые карты позволяют использовать сэмплы, загружаемые в оперативную память компьютера, следовательно дает гарантию одинакового звучания при включении в программное обеспечение функций загрузки сэмпла. Параметр "Канал" необходим лишь для идентификации звучащих в данный момент нот и возможности прекратить звучание "на заданном канале".
Программный волновой синтез
Программный волновой синтез имеет свои преимущества. Основное заключается в том, что данный метод позволяет воспроизводить сэмплы с использованием практически любой звуковой карты. Минимальное требование к карте - это поддержка режима воспроизведения 44 кГц 16 бит стерео (базовый формат для CD-audio).