Программа ТРИО приобрела законченный вид

    темы:
  Тестовое расширение программы.
  Проблема синтеза звука фортепьяно низкого тона.
  Особенности звучания аккордов в программе ТРИО.
  Сравнительная эстетика синтезированного звука и звука, записанного "вживую".

   Программа синтеза музыкального звука по партитурам ТРИО, получив тестовое расширение, приобрела вполне законченный вид, позволяющий не только утилитарно использовать её, но и развивать в плане внедрения новых алгоритмов или совершенствования уже имеющихся сценариев.
   В статье рассказывается о последних изменениях в программе, а также обсуждаются возможности синтеза звука фортепьяно низкого тона, а также особенности звучания аккордов.
   Новшества опробованы в ходе озвучивания прелюдии до диез минор С.Рахманинова.
Прослушать результат можно тут - http://yadi.sk/d/LC3BQFlK3PovvA
 
   Предупреждаю, хороший звук Вы услышите, если на ноутбуке по умолчанию используется плеер Media Player Clasic. Если же Вы используете плеер Windos Media, то возможно звук его окажется неприемлемо резким. Дело в том, что в этом плеере звук корректируется эквалайзером, то есть создаётся неравномерное усиление по разным частотам. Чтобы получить правильный звук, настройки эквалайзера нужно сбросить. Для этого кликните правой кнопкой мыши по окну плеера, в выпавшем меню выберите верхнюю надпись "дополнительные возможности", в них - "графический эквалайзер", и СБРОСЬТЕ его. Тогда звук будет нормальным.
   А то слушаете незнамо что, и удивляетесь. ))


   ТЕСТОВОЕ РАСШИРЕНИЕ ПРОГРАММЫ

  В процессе создания новых алгоритмов синтеза звука, бывает полезным посмотреть на форму получающихся звуковых колебаний. И сделать теперь это можно не только в звуковом редакторе, а не отходя от программы. В частности, не выходя из Визуал бейсика.
  Графика выводятся чёрным на белом фоне, так, как это показано на рисунке. Или любым другим цветом, если Вы работаете с программой в среде Визуал Бейсик. Естественно, что при работе в среде VB6 можно ставить со звуком какие угодно эксперименты и проводить какие угодно тесты.
  Да таких теста - тест сценария и тест обертона, предусмотрены заранее, и их можно провести не в среде VB6, а используя откомпилированную программу. Достаточно указать в строке номер сценария или спецификацию обертона и кликнуть соответствующую кнопочку под строкой.
  Третья кнопочка с названием "Тест" свободна, и, если Вы находитесь в среде Визуал бейсик и работаете с исходниками, то можете запрограммировать её действие как угодно. В папке по адресу с указанием на исходники находится текстовый файл с набором подобных тестов. По большей части они тестируют функции, находящиеся в модуле функции.bas, по их подобию можно придумать и другие тесты. Но, разумеется, для того чтобы услышать звук нововведения, нужно написать партитуру, в которой это нововведение используется наиболее очевидным образом и озвучить эту партитуру.

 
   ПРОБЛЕМА СИНТЕЗА ЗВУКА ФОРТЕПЬЯНО НИЗКОГО ТОНА

  Создавать звук фортепьяно низкого тона не совсем понятно как. Особенно, если планируется прослушивать этот звук через обычные динамики ноутбука. Низкие частоты они не передают. Да и ещё не совсем понятно, а слышим ли мы эти низкие частоты при исполнении "вживую"? И каким образом записи "вживую" низкий тон через динамики ноутбука всё же передают?
  Ясное дело - обертоны, скажет читатель, и будет прав.
  Однако, давайте снабдим низкий тон высокими обертонами, кратными ему, а для уверенности в том, что они пройдут через динамики даже обострим их, возводя синусоиды в нечётную степень, скажем - в 9-ю или в 15-ю, и прослушаем результат через ноутбук.
  Я вас разочарую - низкий тон мы не услышим. А что услышим?
  Услышим эти самые обертоны, воспринимаемые как аккордное звучание с гармоническим центром, находящимся много выше того тона, который мы пытались изобразить.

  Следовательно, просто обертоны, в обычном их понимании, нам не подходят. Как же решает эту задачу программа ТРИО?
  ТРИО использует особые звуковые образования, с частотой большей, чем частота основного тона, однако сами не слышимые на своей частоте. Неслышимые по той простой причине, что на второй половине периода, фаза их звучания меняется на Пи, и они начинают звучать в противофазе к тому, что мы слышали в первом периоде основного тона.
  Такие звуковые образования можно назвать квазиобертонами. Они есть, но их не слышно. Не слышно их в том плане, что коэффициент Фурье, соответствующий собственной частоте квазиобертона, равен нулю. И наше ухо на эту частоту тоже не реагирует.
  Но какой-то звук всё же слышно? О, да - слышно, и довольно громко. Слышен звук основного тона, лишь чуть-чуть с более высоко расположенным гармоническим центром и своеобразным тембром.
  Высота звука и тембр зависят от строения квазиобертона. Например, для 6-го квазиобертона высота гармонического центра оказывается чуть выше, чем для 4-го. И тембр его более "жужжащий".
  Лучшие в этом плане квазиобертоны 2 и 4. Они практически не сдвигают вверх частоту восприятия низкого тона. Но, чтобы они проходили через динамики (и через наши уши), их нужно обострить. Обострение серьёзное, делается оно возведением синусоид в 15-ю степень.

  Давайте, посмотрим на форму этих квазиобертонов - они показаны на рисунке справа.
Обертоны в программе ТРИО мнемонически специфицированы. В синтезе низкого тона фортепьяно используются обертоны 99002 и 99004. Последние 3 знака, вместе с цифрами за десятичной точкой, если такие будут, указывают на отношение частоты обертона к частоте основного тона. Вторая слева цифра указывает на степень и характер обострения колебаний (со всеми формами можно ознакомиться, экспериментируя с кнопочкой "обертон"). Девятка в пятом разряде спецификации указывает на особый характер получения колебания - оно начинается в начале периода с нулевой фазы и длится полпериода, затухая в конце. Вторые полпериода основного тона заполняются колебаниями обертона точно так же, однако с обратным знаком амплитуды.
  Если обертон чётный ( 2, 4), то таким образом сформируется квазиобертон. Если обертон нечётный - то нет, никаких колебаний в противофазе не получится, и обертон будет звучать сам по себе.

  Действуя так, и сопроводив колебания основного тона квазиобертонами, я получил хороший звук с формой, которую можно видеть на рисунке сверху, в отличие от колебания, лишённого обострённых квазиобертонов, форма которого показана ниже.
  На форме, которая ниже, видны обычные обертоны, они делают звук богаче и красивей в малой, первой и более высоких октавах, но на басах они не слышны, так же, как и основной тон. Впрочем, эти обертоны и создаются совсем по другому алгоритму - не через обертонную группу, а через группу рельефа, задействованную в синтезе звука фортепьяно одновременно с группой деформируемой синусоиды. У них нет такой возможности - обостряться. Подробности тут - http://www.proza.ru/2017/04/01/260

  Всё бы хорошо, но есть один нюанс - полученный звук не очень похож на звук живого инструмента, он монотонен, в тембре его не слышится развития. И это понятно. Для получения живого звука в проекте ТРИО используется девиация параметров - процедура, производимая между периодами, с тем, чтобы осциллограмма не была статичной, а определённым образом изменялась бы от периода к периоду. Для основного тона это условие выполнено - на нижней осциллограмме рисунка можно видеть, что форма колебания немного от периода к периоду изменяется, но беда в том, что тон низкий, и его не слышно. А квазиобертоны, в том виде, в котором они представлены наверху, - слышны, но они статичны.

  Ясно, что для получения живого звука, статичность пичков квазиобертонов нужно нарушить. Как? Очень просто - слегка подвигать пички по периоду. Взять частоту пичков не точно F*2 Гц, а чуть-чуть менять её около этой частоты. Пички задвигались, и звук стал живой. Но тут возникает второй нюанс.
  Представьте, что Вы извлекаете звук До# низкого тона, а частоту квазиобертона 99002 увеличили. Квазиобертон потеряет своё свойство неслышимости, и создаст октавой выше призвук, и не ноту до#, а ре или даже ре#. А потом частоту снизим, и услышим призвук до или си. Нехорошо это, получится частотное вибрато, и его будет слышно. И как быть?
  Решение было найдено интересное. Частоты обертонов 99002 и 99004 меняются синхронно и в разные стороны. Гармонический центр призвуков тогда оказывается всегда находящимся на обертонах До#, а звук становится раскатистым и живым.
  В форме звука наблюдаются переменные картины - то, как накладываются пички обертонов друг на друга при их движении, можно видеть на рисунке справа внизу.

  Но и это не всё. Сценарий устроен так, что в момент удара амплитуда раската максимальна, и снижается по мере исхода звука.
  Вот эта строка сценария:

If AU8<>0 Then V=0.04*AU3: V=(V*V+0.07)*FNTIM(6, T): MU8=99002+V: MU6=99004-V

 здесь AU8 - амплитуда квазиобертона, она получает значимую величину при том условии, что квазиобертоны разрешены, и если частота тона оказывается меньше 150 Гц, то есть, начиная с Ре малой октавы и ниже. Амплитуда раската V привязывается к амплитуде обертонов группы рельефа AU3 и ниспадает вместе с нею, но не исчезает, приходя к уровню 0.07. Начальная же амплитуда раската составляет 0.13 (если учесть, что начальное AU3=5 и увеличивается в 1.5 раза при ударе клавиши).
  Значение AU3 можно и повысить, указав в сценарии Ar=сколько_угодно. То есть, звук низкого тона можно сделать очень раскатистым.
  Частота раската 6 Гц задаётся первым параметром функции FNTIM – функция описывает треугольные колебания с амплитудой единица. По верхней осциллограмме рисунка видно, что пичковое заполнение периодов низкого тона претерпевает заметное изменение от периода к периоду.


   ОСОБЕННОСТИ ЗВУЧАНИЯ АККОРДОВ В ПРОГРАММЕ ТРИО

  Аккорды в пределах октавы, от малой октавы и выше никаких сложностей не представляют. Аккорды большей частотной протяжённости не так просты в реализации.
  Дело в том, что некоторые параметры аккордов (например, скорость затухания звука) ориентированы на опорную ноту - ту ноту, частота которой указана в партитуре. И при этом не делается частотная коррекция параметров для нот аккорда, присоединяемых к опорной ноте.
  Опорной обычно является нижняя нота аккорда, и тогда звук верхних нот аккорда приобретает не характерную для фортепьяно излишнюю длительность. Короткие при одиночном исполнении, в аккорде эти ноты звучат дольше и как бы поют. Их совместное пение и порождает ощущение звона. Такова уж особенность реализации аккордов в программе ТРИО, и с этим ничего не поделаешь. Но учесть это можно.

  Кроме того и девиация параметров привязана к моментам начала периода опорного тона, а для других тонов аккорда она может приходиться на середину их периодов. Результат - возможны более резкие, чем надо, перепады амплитуды кое-где. На слух это определяется как то, что аккорды начинают звенеть. Для таких вещей как Баркаролла П.И.Чайковского это может быть и хорошо - набегают волны и пусть чуть-чуть звенят.
  В других случаях от излишнего звона следует избавиться.
 Если возможно, разносить звуки аккорда по разным рукам. Для протяжённых по частоте аккордов (на две октавы и больше) опорную ноту неплохо выбрать где-то посредине аккорда, тем более, что такие аккорды "в две руки" обычно позволяют сделать это. Не всегда удаётся точно следовать нотной редакции в разделении на правую и левую руки, ноты приходится перелагать, распределяя их по партитурам и добиваясь наилучшего общего звучания.
  Звон можно уменьшить, уменьшив девиацию параметров. В синтезе звука фортепьяно используется алгоритм деформации синусоиды. И саму деформацию, и её размах в процессе девиации, можно уменьшить указанием в партитуре. Как это происходит, поясняют следующие строки сценария:   

V=.2: If UW3>0 Then If UW3<.25 Then V=UW3 
             E0=(1.05+V)*(1+V*FNTIM(4, T)): EA=Vo*(1+V*FNTIM(8, T))
             E1 = (1.1+V)*(1+V*FNTIM(10, T)): E2=(1.1+V)*(1+V*FNTIM(7, T))
 
 параметры E0,E1,E2 и EA определяют форму колебания. Если все они равны единице, то форма звука - обычная синусоида, она звучит вяло и невыразительно в одиночных нотах, но аккорды, построенные на ней, не звенят.
 По умолчанию (в отсутствии указания) переменная V=0.2 создаёт и нужную форму, и девиацию колебанию фортепьянного звука. Уменьшить звон в аккордах можно, уменьшив значение этой переменной. В партитуре делается указание UW=0.001, и наша кривая уже почти синусоида. Варьируя эту величину, можно управлять и звоном аккордов, и яркостью звучания отдельных нот.

 Звучание аккордов, составленных из нот низких тонов, в программе Трио - проблема. Поскольку группа обертонов ориентируется только на опорную ноту, то только эта одна опорная нота и будет слышна. Остальные ноты, частотой повыше, могут быть слышны как некие призвуки нижней ноты.
 Это не значит, что нужно выбирать самую нижнюю ноту. В качестве опорной ноты в аккорде низкого тона нужно выбирать ту, которая наиболее гармонично вписывается в звучание произведения. А если хочется, чтобы в аккорде низкого тона звучало 2 ноты, то можно разнести эти ноты по партитурам. Так было сделано при озвучивании окончания прелюдии Рахманинова - используются три партитуры с игрой как бы в 3 руки. Впрочем, если посмотреть на нотный текст, то там он разложен на 4 руки. Тем-то это произведение и интересно, что на нём можно опробовать возможности озвучивания в ТРИО.

 Совершенно нетрудно избавиться от этого недостатка программы, включив обертонную группу в создание звука каждой ноты аккорда. Хотя это и замедлит время счёта, но возможно, в дальнейшем я так и сделаю. 


   СРАВНИТЕЛЬНАЯ ЭСТЕТИКА СИНТЕЗИРОВАННОГО ЗВУКА И ЗВУКА, ЗАПИСАННОГО "ВЖИВУЮ"

  Термин "эстетическая парадигма" в интернете определяется так, цитирую:
 // комплекс идеологических, интеллектуальных, этических и эстетических установок и предпочтений конкретного субъекта, в соответствии с которым этот субъект воспринимает, интерпретирует и оценивает произведение искусства.//

  Не будем концентрироваться на субъективном факторе такой оценки, скажем о том, что оценка зависит не только от субъекта, от его прежнего эстетического опыта или от общественной среды, взрастившей его. Оценка сильно зависит и от того, что собственно оценивается.
  Эстетика классической музыки, эстетика джаза, эстетика винилового звука, эстетика танцев и ритмов тумба-юмба - очень разные в своих критериях понятия.
  На мой взгляд, нет задачи скрупулёзно приближать синтезированную музыку к живой, копируя все детали извлечения звука на живых инструментах, и переводить эти детали в алгоритмы синтезируемого звука. Нужно найти главное, и передать это главное в форме достаточно простой и удобной для программирования, не теряя при этом красоты и гармонии звука, а, если это возможно, то и присовокупляя кое-чего. Зачем отказываться от того, что идёт в руки даром?
  Поэтому звучание записей, получаемых синтезом музыкального звука будет отличаться от звучания оригинального музыкального инструмента. И пусть отличается.
  Но и возможности, и эстетические радости от прослушивания того и другого будут разниться. Фактически даже можно считать, что имеются два несколько разных инструмента - такой и сякой.
  И на том, и на другом инструменте исполняется прелюдия С.Рахманинова.

  В прелюдии С.Рахманинова имеются 3 части. Первая - Lento pp, вторая - Agitato mf, третья - Tempo1 ffff. К каждой части нужен свой подход.
  Первые две части были озвучены в две руки, то есть, для озвучивания их я использовал две партитуры. Как было отмечено выше, аккорды низкого тона при таком озвучивании оказываются неполноценными - вместо октавы слышна только одна нота аккорда - нижнее До# большой октавы без До# контроктавы. Но я намеренно пошёл на это, поскольку "рычание" аккордов в первой части вовсе не обязательно.
  Фактически, в процессе озвучивания всегда происходит некое интерпретационное переложение музыки. Переложение, повторюсь, как бы на несколько иной инструмент. Инструмент со своими эстетическими достоинствами.
  Одним из таких достоинств я считаю раздельное и более гармоничное звучание нот. В живом исполнении, и особенно в быстром темпе, звуки аккордов смазываются. В гремящем громе отдельные звуки сливаются в бу-бу-бу и слышны плохо. Эстетика живого исполнения состоит в том, чтобы эти отдельные ноты обособить, выделить и выразительно исполнить.
  Отсюда постоянные смены темпа, выразительные задержки и приостановки.
  То же самое можно сделать и в синтезированном звуке, средства для этого есть, но зачем бездумно копировать живое исполнение? У компьютерной музыки иная эстетика. А основой эстетики является технология.
  Если в живом исполнении ровного исполнения без запинок трудно добиться, то в компьютерном озвучивании точнейшая ритмика получается изначально, и самое простое - так её и оставить, нарушая лишь изредка. Красиво это или нет?
  Ну, это как посмотреть. То, что в живом исполнении можно было бы назвать "стукатушками", в компьютерной музыке иногда воспринимается в русле эстетики музыкальных автоматов - музыка, популярная в позапрошлом веке.
  Но совсем не обязательно. Ритмичное исполнение может быть весьма патетично, в этом Вы можете убедиться, прослушав вторую часть записи прелюдии С.Рахманинова.

  Неполнота аккорда низкого тона обыграна в первой части. Вы можете услышать, что в одном месте звучит не верхняя нота аккорда, а звук передаётся на опорное До# контроктавы, и это До# звучит низко, раскатисто и очень красиво. Ещё раз скажу - эстетика определяется технологией. Не следует бездумно этому противиться.
  Четыре форте и озвучивание из трёх партитур позволило и в третьей части достичь особого эффекта, и даже звонкость аккордов не мешала, а поддерживала этот эффект.

  Мне кажется, что эстетика фортепьянного звука, достигаемая при озвучивании программой Трио, является интересной, и позволяет по-новому оценить гармонию привычных нашему слуху произведений классической музыки.

Спасибо за внимание
================
об истории проекта можно прочесть здесь - http://www.proza.ru/2016/12/29/1190


Рецензии
Здравствуйте, Дмитрий Михайлович! Попытался прочитать ваше эссе. Скажу прямо, что некоторые места опускал, т.к. они специфичны и представляют интерес только для специалиста, который сам занимается подобной проблемой. Прослушать ничего не удалось, т. к. у меня в Украине закрыты выходы на российские сайты. Но я верю тому, чем Вы занимаетесь и тому, что Вы говорите о результате Вашей работы. Я уже говорил Вам раньше, что уважаю людей, которые продолжают изобретать велосипед. И жизнь показала, что это не только не лишено смысла, а еще и дает кардинально новые качественные результаты. Поэтому я на Вашей стороне. Давайте, попробую пояснить другими словами.
Попытка программистов и электронщиков добиться звучания рояля и скрипки сама по себе интересна и имеет, в отношение, хотя бы, рояля, большой смысл. Всем понятно, что рояль, даже кабинетный, имеет значительные размеры. А многие современные дома и квартиры не имеют возможностей доставить и разместить такой инструмент дома. Поэтому иметь компактный инструмент, который можно легко занести в дом и получить звук, не уступающий настоящему, весьма привлекательно!
Тем более, если это еще и по цене будет удовлетворять покупателя-музыканта.
А теперь главное, что хочу сказать.
А стоит ли добиваться абсолютного соответствия электронного инструмента реальному? Может быть, и нет! Давайте вспомним создание Саксом его инструмента. Он издавал звук ни на что не похожий. Это не была труба, или баритон, или тромбон, или гобой. Это был САКСОФОН! А сегодня мы не представляем современную музыку без этого инструмента. А Джаз и подавно!
Так, может, синтезатор пусть звучит по-своему. И мир получит качественно новое звучание. И, может, композиторы станут писать Музыку именно для этого инструмента?! А ведь, насколько знаю, так оно и есть, и давно, со времен Термена!
Поэтому, пусть живет Музыка классическая, как она есть. И ее инструменты. Не думаю, что рояль и скрипка с течением веков потеряют свое значение в жизни человека. Но пусть живет и развивается и синтетическая музыка. И она будет иметь своего благодарного слушателя. А так называемый "космический эффект" лучше синтезатора и не передашь. И, порой, это к месту...
Я желаю Вам, Дмитрий Михайлович, успехов и понимания в среде единомышленников. С уважением и теплом к Вам,

Юрий Тригубенко   02.09.2018 13:21     Заявить о нарушении
Юрий, а у Вас электронная почта есть? Отпишите мне адрес, я Вам файл с музыкальной записью для прослушивания пришлю. Чтобы Вы представляли, как это звучит.
Попробуйте ещё пройти по этой ссылке - http://my.mail.ru/music/playlists/4974615926
может быть получится.

Дмитрий Маштаков   03.09.2018 01:21   Заявить о нарушении
На это произведение написаны 3 рецензии, здесь отображается последняя, остальные - в полном списке.