Як відомо, специфіка набору нот для баяна чи акордеона полягає у тому, що часто потрібно розставити зміни міху та аплікатуру, а також врахувати особливості гри на готовій басовій системі, тобто позначки акордів від іншого басу. В кожній із програм для набору партитур свої нюанси такого набору. Сьогодні розглянемо такі можливості у програмі LilyPond.

Щодо аплікатури, мова про це йшла у попередній статті – Як набирати ноти в LilyPond.

Подивимося, як дуже легко розставити зміну міху.

Набір нот для акордеона в LilyPond. Зміна міху

\mark \markup { \musicglyph #"accordion.pull" } % Розжим
\mark \markup { \musicglyph #"accordion.push" } % Зжим

А щоб не писати кожного разу такий довжелезний рядок для виведення одного символу, призначаємо для цих символів по одній окремій змінній:

acpull = \mark \markup { \musicglyph #"accordion.pull" }
acpush = \mark \markup { \musicglyph #"accordion.push" }

Тепер для виведення символу зміни міху достатньо написати:

\acpull % Для розжиму
\acpush % Для зжиму

Набір нот для акордеона в LilyPond. Акорд від іншого басу

Тут трішки складніша ситуація, коли потрібно вивести ноту меншого розміру, в дужках, без жодних штилів-ребер-хвостиків, та ще й щоб вона не враховувалася у загальний розмір. Фактично всі перераховані функції кожного разу довелося б прописувати вручну, якби не… майже необмежені можливості LilyPond.

Для прикладу, щоб записати ноту соль та акорд від басу до, у звичайному режимі нам би довелося ввести отакий набір символів:

g8 \once \hide Staff.Stem \grace \parenthesize c <g' c e>^"M"

де \once \hide Staff.Stem – приховування штиля для однієї ноти, \grace – зменшена форшлагова нота (яка не враховується в загальний розмір), \parenthesize – нота в дужках. Не зовсім зручний спосіб, правда? Давай напишемо маленьку функцію, яка підставлятиме дані значення автоматично:

otherBass =
#(define-music-function
	(parser location note)
	(ly:music?)
	#{
		\once \hide Staff.Stem
		\grace
		\parenthesize
		#note
	#})

Тепер кожного разу, коли доведеться прописати акорд від іншого басу, пишемо просто:

g8 \otherBass c <g' c e>^"M"

Всі необхідні теги додадуться автоматично.

До речі, в мене виникла шалена думка. А що, як кожен бас прописати окремо у функцію, і потім тільки підставляти назву функції? Буде ще простіше. Думаю, так і зроблю, тому чекай на наступну статтю по темі "Набір нот для акордеона в LilyPond".