Продление звука на переходах между строками

   При создании музыкальной записи в программе «Пианола_М» иногда возникает небольшая проблема - дело в том, что в файл, содержащий семплы, музыка записывается по частям, следуя её разбиению на строки. Однако, мы знаем, что ноты отдельных строк или тактов могут быть связаны между собой лигами, и тогда музыка должна звучать без разрывов в звуке слигованных между собой нот.
   О том, как эта проблема решается технически, рассказывается в этой статье.

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

   На иллюстрации показана суть этого процесса. Как пример взяты два такта, ноты которых записаны в двух последовательно звучащих строках.
   Требуется продлить звук ноты Соль. Для этого она удлиняется в 4 раза, хотя можно было бы удлинить её чуть-чуть - записать не <<G>>, а  G7, то есть удлинить её в полтора раза. Затем поставим значок X0, этот знак переносит текущую точку записи на начало предыдущей ноты (то есть, на начало звука Соль) и включает режим наложения звука - звук всех нот, в том числе и аккордов, в этом режиме прибавляется к тем семплам, которые уже были записаны в буфер. А поскольку далее идёт знак паузы ^ то содержимое буфера не меняется, однако точка записи продвигается по буферу на 1/4, то есть на полсекунды, и после сброса буфера на первой строке нота Соль звучит именно столько.

   Буфер сброшен, индекс записи устанавливается при этом в ноль, и мы начинаем формировать звук нот, записанных во втором такте. И начинаем мы опять с самого начала звука соль, и записываем для неё конструкцию, обеспечивающую  полное её звучание - 1/4+1/4+1/8. Это записывается так <G6> и звучание этой ноты будет в 2.5 раза дольше длительности 1/4. Но, для показательности процесса мы сделаем звук ноты Соль ещё более долгим - запись <<G>> сделает его равным длительности целой ноты.
   Теперь нам нужно удалить 1/4 начала этого звука. Для этого пишем :a создавая аккорд длительности 1/4 из начала звука Соль. Конкретная нота здесь не важна, но индекс буфера у нас окажется точно в том месте, на котором нужно отрезать начало звука. И мы делаем это записывая значок X#. Теперь в буфере у нас записано нужное нам продолжение ноты Соль. Длится оно полторы секунды. Записывая :B7 мы создаём аккорд нужной длительности с нотой Си, звук которой наложен на начало продолжения звука Соль. Значок звёздочка с цифрой *6 немного увеличивает громкость Си в этом аккорде.
   Дальше мы записываем ноту До четвертной длительности. Поскольку режим наложения звука у нас в этой строке не введён, звук ноты До просто записывается, а не складывается с тем, что находится в буфере. Общая осциллограмма полученных звуков показана на иллюстрации внизу. Аккордное исполнение легко отличить по его изрезанному виду. Мы видим вначале ноту Фа, затем начало ноты Соль, затем к Соль присоединяется Си и звук становится изрезанным. Оканчивается осциллограмма одиночным звуком До.

   Чтобы показать, что звук ноты Соль при переходе со строки на строку не претерпевает никаких изменений, включим во второй строке режим наложения звука, а ноту Си заменим паузами - X0^’с и тогда мы увидим чистый и долгий звук Соль (верхняя осциллограмма), и он продолжался бы ещё дольше, если увеличить длину пауз.

   Вы видите, что для работы с программой «Пианола_М» нужно некоторое понимание того, как создаётся звук, и как он накапливается в буфере. И эти чисто технические знания помогают нам в нашей работе.

__________
12.09.2025


Рецензии