Синтезатор музыкального инструмента с физическим моделированием
Иллюстрации
Показать всеИзобретение относится к музыкальным синтезаторам. Техническим результатом изобретения является увеличение приближения синтезированного звучания к звучанию «живого» музыкального инструмента, моделирование ощущений при игре на неэлектронном рояле таких, как: недискретная работа педали, естественное возбуждение обертонов, возможность получения тембральных и динамических нюансов, а также расширение динамического диапазона звучания. Устройство содержит блок ввода MIDI-последовательностей 10, блок анализа MIDI 12, блоки формирования параметров струны 14 и молотка 16, связанные через блок формирования звука 18 с фильтром 20 и звуковоспроизводящим устройством 22. Блоки формирования параметров струны, молотка и звука выполнены с возможностью физического моделирования поведения совокупности струн, нагруженных на общую деку, при возбуждении каждой из струн ударом молотка с учетом изгибной жесткости, силы натяжения струны, положения демпферов, а также массы, формы, веса и материала молотка, координаты удара молотка по струне. 8 з.п. ф-лы, 7 ил.
Реферат
Изобретение относится к музыкальным синтезаторам и может быть использовано для целей демонстрации исполнительского мастерства и обучения.
Физическое моделирование музыкального инструмента позволяет получать высокое качество звучания, аналогичное эталонным и признанным в мире уникальным акустическим инструментам, при существенно более низких затратах. Этот метод предусматривает использование математических моделей звукообразования реальных музыкальных инструментов для генерации в цифровом виде соответствующих волновых форм, которые затем конвертируются в звук. Однако степень подобия модели зависит от учета совокупности параметров, характеризующих физические процессы, протекающие в реальном инструменте.
Известны различные виды синтезаторов, использующих физическое моделирование параметров, характерных для различных струнных инструментов.
Так, описан синтезатор (US 5777255, Smith III et al., 07.07.1998), использующий модель струны в виде линии задержки с фильтром в цепи обратной связи. Возбуждение подается на вход линии задержки. Однако недостатком такого решения является ограниченное число генерируемых гармоник, обусловленных конечным числом элементов в фильтре и отсутствие гибкости в настройках, так как возбуждение не моделируется физически, а берется в виде готового отклика. Описано моделирование движения струны, основанное на решении дифференциальных уравнений струны посредством разностной схемы (US 2005154569, Sapp, 14.07.2005). Возбуждение струны вызывается движением ее крайней точки, обусловленным потоком воздуха. Однако в этой модели возбуждение струны ударом молотка вовсе не рассматривается, а реализация способа с использованием аппаратных средств не приводится.
Известен музыкальный синтезатор (US 5229536, Kunimoto, 20.07.1993), в котором модель струны выполнена в виде линии задержки с фильтром в цепи обратной связи. Имеется блок, вычисляющий, какую порцию возбуждающей силы со временем необходимо подавать на вход линии задержки для получения естественного звука. Однако более адекватная физическая модель, кроме относительного смещения молотка и струны, должна учитывать меняющуюся во времени присоединенную массу молотка, его положение относительно точек закрепления струны, вес, материал и форму.
Музыкальный синтезатор (JP 10063270, Masuda, 03.06.1998) использует модель струны, выполненную в виде схемы, включающей линии задержки с фильтрами и генератора возбуждения, эквивалентного возбуждению этих струн в цепи обратной связи, а также модель деки, выполненную в виде петли обратной связи, содержащей сумматор, умножитель и фильтр. В синтезаторе (JP 2000081887, Hikichi, 21.03.2000) используется модель с решением дифференциального уравнения струны, корректная для смычкового инструмента, но недостаточная для рояля как многосложного ударно-клавишного инструмента. Трение между струной и возбуждающим телом (смычком) определяется входной скоростью управления и не учитывает взаимодействия струн, характерных для любого музыкального инструмента.
Известен синтезатор (US 5352849, Kobayashi, 04.10.1994 - ближайший аналог), использующий линии задержки с фильтрами в цепи обратной связи в качестве генератора звука. Возбуждающая сила, соответствующая удару молотка, подается в соответствующую линию задержки; выходной сигнал с каждой линии задержки подается на все линии задержки.
Однако в аналогах, включая ближайший, линии задержки с фильтрами в цепи обратной связи оперируют волнами, распространяющимися в струне, а не самой струной, при этом возбуждающая сила представляет собой некое приведенное воздействие на входе линии задержки. Это накладывает ограничения на точность моделирования возбуждения струны, например, при ударе молотком. И как выше отмечено, в аналогах не учитываются временные зависимости присоединенной массы молотка и его характеристики, а также его положение относительно струны.
Задачей патентуемого изобретения является реализация физической модели «живого», неэлектронного музыкального инструмента, преимущественно рояля, с учетом его всех основных параметров.
Синтезатор музыкального инструмента содержит блок ввода MIDI-последовательностей, выходом подключенный к блоку анализа MIDI, блоки формирования параметров струны и молотка, связанные через блок формирования звука с фильтром и звуковоспроизводящим устройством. Выходы блока анализа MIDI подсоединены к входам блоков формирования параметров струны и молотка. Синтезатор характеризуется тем, что блоки формирования параметров струны, молотка и звука выполнены с возможностью физического моделирования поведения совокупности струн, нагруженных на общую деку, при возбуждении каждой из струн ударом молотка с учетом изгибной жесткости, силы натяжения струны, положения демпферов, а также массы, формы, веса и материала молотка, координаты удара молотка по струне.
Синтезатор может характеризоваться тем, что блок формирования звука выполнен в виде совокупности блоков моделирования струны по числу струн, каждый из которых содержит последовательно соединенные по меньшей мере два блока памяти и две линии задержки, и блок вычисления дифференциального уравнения струны методом разностных схем. Причем выход первого блока памяти соединен с входом линии задержки, а выходы каждого блока памяти и каждой линии задержки подключены к блоку вычисления дифференциального уравнения струны, выход которого соединен с входом первого блока памяти, и блоком суммирования и формирования обратной связи, входы которого связаны с блоками моделирования струны, а выход соединен с одним из входов каждого блока вычисления дифференциального уравнения струны. Блок формирования параметров струны входом подключен к блоку анализа MIDI, а выходом - к блоку вычисления дифференциального уравнения струны. При этом дополнительно введен генератор адресов, подключенный к блокам моделирования струны, формирования параметров струны, суммирования и формирования обратной связи и вычисления дифференциального уравнения струны с возможностью их синхронизации.
Синтезатор может характеризоваться и тем, что каждый из блоков моделирования струны выполнен с возможностью последовательной обработки нескольких струн одним блоком вычисления дифференциального уравнения, при этом генератор адресов формирует адресное пространство, соответствующее произведению количества обрабатываемых струн в блоке моделирования струны на количество точек в каждой из обрабатываемых струн.
Синтезатор может характеризоваться также и тем, что блок формирования параметров молотка включает блок вычисления возбуждения, блок памяти, формирователь адресов, блок формирования координаты удара, блок умножения, вычислитель силы натяжения и возбуждения струны, причем формирователь адресов через блок формирования координаты удара подключен к блоку памяти, блоки вычисления возбуждения и памяти подсоединены через блок умножения к вычислителю силы натяжения и возбуждения струны, выходы которого соединены с блоком вычисления дифференциального уравнения.
Синтезатор может характеризоваться, кроме того, тем, что блок ввода MIDI-последовательностей содержит канал с информацией о координате удара молотка по струне, а соответствующие этому каналу выходы блока анализа MIDI подключены к входу блока формирования координаты удара.
Синтезатор может характеризоваться также тем, что выполнен с возможностью физического моделирования рояля или пианино, клавесина, челесты, виброфона или маримбы.
Технический результат состоит в синтезе звука, максимально приближенного к звучанию «живого» музыкального инструмента и дающего исполнителю адекватные игровые ощущения неэлектронного рояля такие, как: недискретная работа педали, естественное возбуждение обертонов, возможность получения тембральных и динамических нюансов. Дополнительный технический результат состоит в значительном (более 20 дБ) расширении динамического диапазона звучания.
Существо изобретения поясняется на чертежах, где на:
фиг.1 представлена физическая модель струнного ударно-клавишного музыкального инструмента;
фиг.2 - блок-схема синтезатора;
фиг.3 - упрощенная блок-схема генератора звука;
фиг.4 - блок моделирования струны;
фиг.5 - блок вычисления дифференциального уравнения струны методом разностных схем;
фиг.6 - блок суммирования и формирования обратной связи;
фиг.7 - блок параметров молотка.
В основе изобретения лежит аппаратное воплощение математической модели клавишно-струнного инструмента. На фиг.1 представлена реализуемая физическая модель, где: позицией 1 обозначена струна, 2 - точка закрепления струны на раме, 3 - дека, 5 - демпфер, 6 - молоток, 7 - дискретные точки струны, 8 - точка прикрепления струны к деке, 9 - предпоследняя точка струны. На нижней части рисунка показаны положения точек струны через некоторое время после возбуждения. В данной модели на каждую ноту приходится по три струны, хотя это количество может варьироваться. В модели учитывается натяжение струны, коэффициент затухания струны в открытом и закрытом состояниях, дисперсия струны (являющаяся результатом наличия изгибной жесткости), а также материал молотка, его вес, форма, размер и координата удара молотка по струне. Эту модель с небольшими изменениями параметров возможно использовать для описания рояля или пианино, клавесина, челесты, виброфона или маримбы.
На фиг.2 представлена блок-схема синтезатора. Блок 10 ввода MIDI-последовательности через блок 12 анализа MIDI подключен к блоку 14 параметров струны и блоку 16 параметров молотка. В соответствии с моделью и общепринятыми схемами построения средством 10 ввода информации выбраны MIDI (Musical Instrument Digital Interface) устройства такие, как MIDI клавиатура или любые другие секвенсоры.
Блок 12 выдает следующие сигналы: номер ноты - выходы 123 и 124, ее скорость - выход 122 (когда клавиша отпущена - скорость ноты равна нулю), положение педали - выход 121. Дополнительно может быть введен выход 125, соответствующий координате молотка для каждой ноты.
Блок 14 параметров струны имеет два выхода: поз.141 с информацией о коэффициенте затухания и поз.142 - с информацией о дисперсии струны. Блок 16 формирования параметров молотка имеет выходы: поз.161 с информацией о коэффициенте натяжения струны с учетом присоединенной массы молотка в момент удара; и поз.162 с информацией о силе возбуждения струны при ударе молотка. Выходы блоков 14, 16 подключены к входам блока 18 формирования звука, выходы которого - к фильтру 20, соединенному со звуковоспроизводящими средствами 22 по левому и правому каналам (громкоговорителями или наушниками).
Блоки 12-18 имеют средства взаимной синхронизации адресов (не показаны).
На фиг.3 представлена упрощенная схема блока 18 формирования звука, выполненного в виде совокупности блоков 18.1-18.n моделирования струны, где n - общее количество струн в инструменте. Выходы всех блоков соединены с блоком 190 суммирования и обратной связи. Блок имеет выход 192 обратной связи и выход 194 на правый (R) и левый (L) каналы для подключения к входу фильтра 20. Выход 192 подключен к входу обратной связи каждого из блоков 18.1-18.n. Также на входы этих блоков поступают сигналы от блоков 14 и 16 - информация о коэффициенте decr затухания струны, возбуждении vozb и натяжении tn струны с учетом присоединенной массы молотка. При этом поступление информации от блоков 14 и 16, а также работа блока 190 синхронизирована общим генератором адресов (более подробно рассмотрено на фиг.4 - блок 32).
На фиг.4 представлена упрощенная схема одного из блоков моделирования струны 18.1 - 18.n, например, блока 18.1.
Он состоит из последовательно соединенных блоков 30, 31 памяти, содержащих информацию о положении точек струны в разные моменты времени. Далее имеется генератор 32 адресов, линии 33, 34 и 35 задержки, причем линии 34 и 35 соединены последовательно, и блок 36 вычисления дифференциального уравнения струны методом разностных схем. Блок 30 памяти представляет собой двухпортовую память и имеет следующие обозначения - adA и adB - входы адресов, weA и weB - разрешение записи, dinA и dinB - входы данных. Блок 31 памяти имеет обозначения: ad - вход адреса, we-разрешение записи. Data - вход данных. Использование первого порта блока 30 двухпортовой памяти и линии задержки 33 обусловлено наличием задержки в блоке 36 вычисления дифференциального уравнения и не является обязательной принадлежностью блока 18.1 при нулевой задержке в блоке 36. Также блок 36 имеет входы для подключения выходов 141, 142, 161, 162 и вход обратной связи lastX, поступающей с выхода 192 блока 190 суммирования и обратной связи.
На фиг.5 представлена одна из возможных конкретных реализаций блока 36, основанная на традиционных методах решения дифференциальных волновых уравнений струны методом разностных схем (см., например. Самарский А.А., Гулин А.В. «Устойчивость разностных схем», изд. УРСС, 2005), выполненная с использованием современной элементной базы - программируемых логических интегральных схем (ПЛИС) с DSP-элементами.
В целях оптимального использования ресурсов ПЛИС один и тот же блок 36 последовательно применяется для вычисления значений положений точек нескольких струн. Для этого блоки 30 и 31 (фиг.4) содержат информацию сразу о нескольких струнах, а генератор 32 адресов генерирует адресное пространство, соответствующее произведению количества обрабатываемых струн на количество точек на струне, что дает возможность организовать последовательно-параллельное вычисление (см. например, Зотов В.И. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы XILINX, Серия: Современная электроника: изд. Горячая Линия - Телеком, 2006 г.). Это позволяет значительно снизить число используемых в устройстве DSP-элементов.
На фиг.6 представлена схема блока 190 суммирования и формирования обратной связи, где обозначены: поз.191 - линия задержки, 192 - выход сигнала обратной связи, 193 - вычитатель, 194 - умножитель, 195 - сумматор. На вход этого блока поступают сигналы A1-An со всех блоков 18.1-18.n, при этом блок 190 осуществляет последовательность следующих действий:
а) суммирование координат предпоследних точек (поз.9, фиг.1) всех струн, при этом координата каждой точки перемножается со своим весовым коэффициентом Ren;
б) суммирование производных по времени координат предпоследних точек (поз.9, фиг.1) всех струн, вычисление которых производится с помощью блока 191 - линии задержки и вычитателя 193. При этом координата каждой точки перемножается со своим весовым коэффициентом Imn;
в) суммирование координат предпоследних точек (поз.9, фиг.1) всех струн, при этом координата каждой точки перемножается со своим весовым коэффициентом Rn, соответствующим правому каналу R звуковоспроизведения;
г) суммирование координат предпоследних точек (поз.9, фиг.1) всех струн, при этом координата каждой точки перемножается со своим весовым коэффициентом Ln, соответствующим левому каналу L звуковоспроизведения;
е) сумма значений по п. а) и б) подается в качестве сигнала с выхода 192 сигнала обратной связи; в разностной схеме (блок 36) она является координатой положения последней точки струны (поз.8, фиг.1) - вход lastx на фиг.5;
ж) значения по п.п. в) и г) через выходной фильтр 20 поступают соответственно на левый и правый каналы звуковоспроизводящего средства 22.
Весовые коэффициенты Ren, Imn, Rn и Ln хранятся в памяти синтезатора и вызываются с использованием средств синхронизации.
На Фиг.7 показана блок-схема блока 16 формирования параметров молотка. Он содержит формирователь 163 адресов, блок 164 формирования координаты удара, блок 165 памяти, блок 166 вычисления возбуждения, блок 167 умножения и блок 168 вычислителя, его выходы 161 и 162 являются выходами блока 16.
Блок 166 вычисления возбуждения струны при приходе информации о скорости из соответствующей MIDI посылки осуществляет последовательное вычисление амплитуды возбуждающей силы, меняющейся во времени. Информация о скорости определяет длительность и характер возбуждающей силы и может быть вычислена путем решения дифференциального уравнения (по типу модели груза на нелинейной пружине) или выбираться из таблицы. В блоке 165 памяти содержится информация о форме поверхности молотка 6. При изменении адреса в формирователе адресов 163 на выходе блока 165 памяти возникает сигнал о форме молотка. Адресация синхронизирована с адресацией в блоке 18.1 блока моделирования струны. Смещение сигнала формы вдоль струны осуществляется посредством задержки в блоке 163 формирования адресов. Величина задержки берется из таблицы или передается по дополнительному MIDI каналу 125. Информация о форме молотка может быть записана в блоке 165 памяти или загружаться извне.
Полученный сигнал о форме молотка перемножается в блоке 167 умножения с сигналом с выхода блока 166 и подается на вход вычислителя 168. В нем вычисляются сигналы возбуждения и приведенного коэффициента натяжения струны с учетом присоединенной массы молотка и передаются синхронно в блок 36 вычисления дифференциального уравнения струны. Коэффициенты, соответствующие силе натяжения струны, ее линейной массе и весу молотка содержатся в вычислителе 168 и выбираются в соответствии с сигналом MIDI nota, поступающим с выхода 122 блока 12. Упомянутые коэффициенты зависят от многих параметров, таких как величина обратной связи, величин затухания и определяются в процессе настройки синтезатора, как и в реальном «живом» инструменте, и записываются в память.
Устройство работает следующим образом.
Генератор 32 адресов в блоке 18 (18.1-18.n) (фиг.4) формирует последовательные адреса для блоков 30 и 31 памяти, в которых записаны координаты точек струны 1. Координаты первой точки (поз.2) и последней (поз.8) - см. фиг.1, передаются в блок 36 через селекторы 361, 362 и определяются управляющими стробами Str.0 и Str.1 соответственно. Сигнал на выходе блока 36 является координатой точки струны 1 в следующий момент времени. Номер этой точки струны соответствует адресу ADR блока 32. Адреса с выхода блока 32 циклически повторяются, длина цикла соответствует количеству точек на струне. В начале работы устройства координаты всех точек струны равны нулю.
При поступлении сигналов возбуждения на выходе А блока 36 возникает ненулевой сигнал, записываемый в память блока 30. То есть после каждого цикла адресации в памяти блоков 30, 31 хранятся координаты точек струны в предыдущий и текущий момент времени. Более подробно процесс вычислений в блоке 36 не рассматривается, поскольку он не отличается от известных методов вычислений дифференциальных уравнений (см. упомянутую кн. Самарский А.А. и др.).
При приходе MIDI-последовательности с блока 10 в блоке 12 производится вычисление: какая из струн должна быть активирована и с какой скоростью было произведено нажатие клавиши. Эта информация передается в блоки 14 и 16. Блок 16, в зависимости от скорости нажатия ноты, формирует два сигнала: приведенной силы tn натяжения струны и силы возбуждения vozb, которые синхронно передаются в блок 36 вычисления, формирующий поведение струны. Одновременно с этим в блок 36 через блок 14 передается информация о значении коэффициента deсr. затухания, соответствующем «открытому» состоянию данной струны, и величине дисперсии. При приходе MIDI-последовательности с выхода 121, соответствующей положению педали (демпфер 5), блок 14 устанавливает коэффициенты затухания «закрытого» состояния для всех струн. Очевидно, что в зависимости от положения педали значение коэффициента decr. затухания струн в «закрытом» состоянии изменяется в пределах от «открытого» (демпфер 5 не касается струны) до «закрытого» (демпфер 5 полностью прижат к струне).
Математическая модель деки 3 в данном изобретении реализована в виде блока 190 обратной связи и выходного фильтра 20. Блок 190 обратной связи суммирует комплексным образом положение предпоследней точки 9 всех струн и подает это значение в качестве последней точки 8 в блок 36 вычисления. Суммирование может осуществляться не только по предпоследней точке 9 струны, но и по любой другой.
Тембр синтезированного звука, таким образом, регулируется не только параметрами молотка и координатой его удара, расстройкой между струнами (в модели учитывается, что на каждую ноту приходится по три струны с небольшой расстройкой их по частоте), а также их коэффициентами затухания и дисперсии, но и точкой суммирования и может быть отдельным предметом настройки синтезатора.
Фильтр 20 предназначен для придания синтезируемому звуку звучания реального струнно-клавишного инструмента. Коэффициенты фильтра могут быть вычислены или взяты в виде отклика с реального музыкального инструмента.
Звучание патентуемого синтезатора максимально приближено к звучанию «живого» музыкального инструмента, игра на нем дает исполнителю возможность такой же нюансировки, как и на реальном рояле (непрерывная работа педали, естественное возбуждение обертонов, возможность получения тембральных и динамических оттенков). Кроме того, синтезатор имеет расширенный динамический диапазон, и при настройке можно устранить недостатки «живых» музыкальных инструментов, таких как возбуждение деки на определенных частотах (т.н. «волчок»). Синтезатор может быть использован в качестве репетиционного инструмента в музыкальных учебных заведениях всех уровней и в звукозаписывающих студиях, а также любителями и профессиональными музыкантами.
1. Синтезатор музыкального инструмента, содержащийблок ввода MIDI-последовательностей, выходом подключенный к блоку анализа MIDI, блоки формирования параметров струны и молотка, связанные через блок формирования звука с фильтром и звуковоспроизводящим устройством,отличающийся тем, чтоблоки формирования параметров струны, молотка и звука выполнены с возможностью физического моделирования поведения совокупности струн, нагруженных на общую деку, при возбуждении каждой из струн ударом молотка с учетом изгибной жесткости, силы натяжения струны, положения демпферов, а также массы, формы, веса и материала молотка, координаты удара молотка по струне.
2. Синтезатор по п.1, отличающийся тем, чтоблок формирования звука выполнен в виде совокупности блоков моделирования струны по числу струн, каждый из которых содержит последовательно соединенные по меньшей мере два блока памяти и две линии задержки, и блок вычисления дифференциального уравнения струны методом разностных схем, причемвыход первого блока памяти соединен с входом линии задержки, а выходы каждого блока памяти и каждой линии задержки подключены к блоку вычисления дифференциального уравнения струны, выход которого соединен с входом первого блока памяти, и блоком суммирования и формирования обратной связи, входы которого связаны с блоками моделирования струны, а выход соединен с одним из входов каждого блока вычисления дифференциального уравнения струны,блок формирования параметров струны входом подключен к блоку анализа MIDI, а выходом - к блоку вычисления дифференциального уравнения струны,при этом дополнительно введен генератор адресов, подключенный к блокам моделирования струны, формирования параметров струны, суммирования и формирования обратной связи и вычисления дифференциального уравнения струны с возможностью их синхронизации.
3. Синтезатор по п.2, отличающийся тем, чтокаждый из блоков моделирования струны выполнен с возможностью последовательной обработки нескольких струн одним блоком вычисления дифференциального уравнения, при этом генератор адресов формирует адресное пространство, соответствующее произведению количества обрабатываемых струн в блоке моделирования струны на количество точек в каждой из обрабатываемых струн.
4. Синтезатор по п.2, отличающийся тем, чтоблок формирования параметров молотка включаетблок вычисления возбуждения, блок памяти, формирователь адресов, блок формирования координаты удара, блок умножения, вычислитель силы натяжения и возбуждения струны, причемформирователь адресов через блок формирования координаты удара подключен к блоку памяти,блоки вычисления возбуждения и памяти подсоединены через блок умножения к вычислителю силы натяжения и возбуждения струны, выходы которого соединены с блоком вычисления дифференциального уравнения.
5. Синтезатор по п.4, отличающийся тем, чтоблок ввода MIDI-последовательностей содержит канал с информацией о координате удара молотка по струне, а соответствующие этому каналу выходы блока анализа MIDI подключены к входу блока формирования координаты удара.
6. Синтезатор по п.1, отличающийся тем, что выполнен с возможностью физического моделирования рояля или пианино.
7. Синтезатор по п.1, отличающийся тем, что выполнен с возможностью физического моделирования клавесина.
8. Синтезатор по п.1, отличающийся тем, что выполнен с возможностью физического моделирования челесты.
9. Синтезатор по п.1, отличающийся тем, что выполнен с возможностью физического моделирования виброфона или маримбы.