
Введение
В Интернете множество табов, но большинство из них не сопровождается аудио/видео записью, и вовсе непонятно, как играть по таким табам. С другой стороны, существует музыкальная нотация, которая достаточно полно описывает мелодию, но начинающим сложно быстро научиться нотной грамоте, воспринимать ее с достаточной для игры скоростью, да еще и помнить на каком отверстии в каком ключе и строе находится нужная нота.
Идея: почему бы не совместить музыкальную нотацию, по которой можно играть на любом инструменте и которая не требует сопровождения аудио/видео материалами, с простой для восприятия табулатурой.
Установка
Для решения проблемы нам понадобится:
- Lilypond (http://www.lilypond.org/windows.html) — консольная утилита, которая умеет генерировать музыкальную нотацию и midi-файлы из специально оформленных текстовых файлов.
- Frescobaldi (http://frescobaldi.org/download.html) — графический интерфейс для Lilypond со всякими удобными плюшками, например, подсветка синтаксиса
- full installer -> Frescobaldi Setup 2.0.10.exe
- и если необходимо, то и Visual C++ 2008 runtime module
- Плагин для Lilypond (http://ubuntuone.com/7As8a1Jq9S7KpDLMdA7oHu) — дополняет функционал Lilypond для генерации табов
Данные программулины работают еще и в Linux, пользователям онного лучше воспользоваться штатным пакетным менеджером для установки вышеперечисленного(плагин таки придется скачать).
Устанавливаем все по стандартным путям или куда захочется, главное запоминаем, куда поставили Lilypond.
Настройка
В системе Windows Frescobaldi не знает ничего о расположении Lilypond, поэтому нам придется ручками ткнуть, для этого его необходимо запустить, нажать на меню «Правка» -> «Настройки» и в открывшемся окне выбрать «Настройки Lilypond». В группе элементов «Версии Lilypond» нажимаем кнопку «Добавить…» и в новом окне в поле «Команда Lilypond» вводим адрес или нажимаем кнопочку справа от текстового поля и ищем файл lilypond-windows.exe(адрес примерно такой: C:Program Files (x86)LilyPondusrbinlilypond-windows.exe). Все, осталось только понажимать кнопочки OK, увидеть, что в списке «Версии LilyPond» появилась соответствующая запись и закрыть настройки. Frescobaldi готов.
Frescobaldi

- Редактор: в него пишем код Lilypond
- Журнал: здесь появляется информация о ходе генерации и вывод ошибок синтаксиса
- Предпросмотр: отображение результата генерации
- Кнопка запуска генерации
- Midi-проигрыватель: будет проигрывать только если мы укажем генератору о необходимости создания midi-файла
Остальные его функции останутся за пределами данной статьи.
Да, снимок сделан в Ubuntu, но в Windows все выглядит и работает точно также.
Синтаксис Lilypond
Писать будем в редакторе Frescobaldi
Синтаксис рассмотрим на отрывке уже готовой мелодии:
version "2.16.0"
include "harptab.ly"
header {
title = «Always with me»
}
MyMelody = relative c» {
time 3/4
tempo 4=110
r4 f8 g8 a f c’4. ( | a8 ) g4 c | g f8 d a’4. | f8
}
HarmonicaTab «C» «richter» MyMelody
Теперь отдельно по каждому элементу:version "2.16.0"
указание версии LilyPond, обязательная строкаinclude "harptab.ly"
подключение плагина, чтоб данный пример сработал, нужно положить плагин в папку с проектом
header {
title = "Always with me"
}
заголовок, название композиции, будет отображаться на сгенерированном файле
MyMelody = relative c'' {
time 3/4
tempo 4=110
r4 f8 g8 a f c'4. ( | a8 ) g4 c | g f8 d a'4. | f8
}
здесь переменной с именем MyMelody присваивается мелодия, мы сохраняем мелодию в переменную, и в дальнейшем сможем подставлять мелодию в разные места просто указав имя переменной(например, сделать табы, без табов и с гитарными аккордами на разных страницах)
сама мелодия заключена в фигурные скобки
relative c''
режим относительных высот с указанием ключа, ключ используется как начальная точка отсчета высот, с помощью него можно поднять/опустить на целое количество октав всю мелодию
time 3/4
вемя такта
tempo 4=110
темп метронома(влияет на скорость миди файла), здесь указано сколько длится четвертная нота
r4 f8 g8 a f c'4. ( | a8 ) g4 c | g f8 d a'4. | f8
непосредственно мелодия
r
пауза
c d e f g a b
ноты
ces cis
полутона, в данном примере нота C, -es обозначает спуск на пол тона(бемоль), -is обозначает подъем на пол тона(диез)
f8
цифра указывает длину ноты, 0 для целой, 2 для половинной, 4 для четвертной и т.д.
c'4
одинарная кавычка поднимает ноду на октаву, ,(запятая) опустит ноту на октаву
в режиме relative действуют на все последующие ноты
c'4.
точка сделает ноту длиннее на половину своей длины
c'4. ( | a8 )
скобки указывают легато, причем начинается легато с ноты перед скобками и заканчивается последней нотой внутри скобок
c | g
вертикальная черта — barcheck, не влияет на отображение, служит для проверки генератором соответствия длин нот длине такта, в случае ошибки выведет сообщение в журнале и подсветит строку, можно не использовать, тогда генератор не будет производить проверку
HarmonicaTab "C" "richter" MyMelody
обработчик из плагина, в качестве параметров передается ключ гармошки, строй и обрабатываемая мелодия(в данном примере мелодия представлена переменной, в которую мы поместили мелодию ранее)
Результат генерации:
Все бы ничего, но ноты у нас в основном высокие и расположены сверху, можно их опустить(правильнее не опустить ноты, а поднять нотный стан, что не изменит высот, повлияет только на отображение) с помощью командыclef "treble^8"
которая должна находится внутри мелодии:
MyMelody = relative c'' {
clef "treble^8"
time 3/4
tempo 4=110
r4 f8 g8 a f c'4. ( | a8 ) g4 c | g f8 d a'4. | f8
}
символ ^ поднимает, а _ опустает нотный стан на несколько шагов(в нашем случае 8)
Теперь все хорошо:
Транспонирование
Транспонирование мелодии производится с помощью команды
transpose <from> <to> <melody>
Пример:
MyMelody = transpose c ces relative c'' {
clef «treble^8»
time 3/4
tempo 4=110
r4 f8 g8 a f c’4. ( | a8 ) g4 c | g f8 d a’4. | f8
}
В данном примере происходит транспонирование всех нот мелодии на расстояние равное расстоянию между нотой C и C-бемоль, иначе говоря, спуск на пол тона.
Параметры плагина
В качестве ключа плагин принимает следующие значения:
- «G»
- «Ab»
- «A»
- «Bb»
- «B»
- «C»
- «Db»
- «D»
- «Eb»
- «E»
- «F»
- «F#»
В качестве строя:
- «richter»
- «natminor»
Кому мало одного ключа
Благодаря гибкости языка LilyPond можно создать табы сразу для гармошек разных ключей или строя, делается это очень просто: заворачиваем команду HarmonicaTab в другую команду HarmonicaTab
Пример:
HarmonicaTab «G» «richter» HarmonicaTab «C» «richter» MyMelody
Получаем:

верхней строкой идут ноты для ключа C, второй строкой для G, аналогично можно во второй команде поменять строй.
Создание MIDI
Для того, чтобы Lilypond создавал MIDI-файл, который можно прослушать с помощью встроенного проигрывателя во Frescobaldi, необходимо в конец нашего проекта добавить следующий код:
score {
new Staff with {
midiInstrument = «flute»
} MyMelody
midi {
}
}
где midiInstrument = «harmonica» — название инструмента, звуками которого будет играть проигрыватель, если гармошка не играет, скорее всего ее нет в вашем банке звуков, тогда инструмент можно заменить, например, на violin или flute
MyMelody — переменная, в которую мы поместили мелодию
Теперь при нажатии на кнопку генерации будет создаваться и обновляться MIDI-файл в папке с проектом.
Импорт из MIDI
Для импорта из MIDI с проектом Lilypond идет консольная утилитка, которая называется midi2ly,
Порядок действий такой:
- запустить консоль(нажать Win+R, ввести cmd и нажать Enter)
- открыть папку с установленным lilypond(адрес примерно такой: C:Program Files (x86)LilyPondusrbin)
- в ней найти файл midi2ly.py(расширение может быть скрыто)
- мышью перетащить за этот файлик в консоль, там появится полный путь к этому файлу
- жмякнуть на пробел в консоли
- аналогично бросить туда файлик .midi, добавится полный путь до миди-файла
- нажать Enter
После данных махинаций в домашней папке(папка с именем пользователя или в WinXp «Мои документы») появится файл с именем как у MIDI-файла и расширением ly.
Если все так и произошло, теперь можно его открыть во Frescobaldi, добавить include для плагина, сам плагин разместить в той же папке, что и файл проекта, ну и найти там подходящее место для вызова команды HarmonicaTab
Для пользователей Linux запустить терминал, ручками набрать команду midi2ly, поставить пробел и перетащить MIDI-файл в терминал, нажать Enter
Заключение
Данная статья раскрывает далеко не все возможности языка LilyPond.
Полное описание можно найти на официальном сайте: http://www.lilypond.org/doc/v2.16/Documentation/notation-big-page
Автор статьи: zeal18
2013-06-16
Способ №2
Нам понадобится:
1) Принтер
2) Мозг
3) Ручка
Печатаем ноты, ставим над ними дырочки и все!
Честно говоря не хочется разбираться во всем этом. Тем, у кого с нотами проблемы это не поможет. А те, кто нотки кое — как хоть знают не будут заморачиваться с прогами
да, а чтоб транспонировать, можем еще распечатать листочек, а другу «Почтой России» отправим, старая закалка — это хорошо, но мы в век цифровых технологий живем, и использование этих технологий открывает ряд преимуществ, думаю, все и так знают каких
Человек написал статью, поделился знаниями, показал как можно. За это ему БОЛЬШОЕ СПАСИБО. Это +1 способ. Нравится — используем, есть лучше — используем лучше. В чем проблема?
П.С. Вдвойне приятно, что все есть под Линух.
я ничего против не имею. Просто считаю, что по старинке (в данном случае) удобнее
Переломал весь моСк и пальцы.
Детёныш взялся за гармонику. Ноты в табулары гармоники переложить не могу.
___ _Пример С ОШИБКАМИ_ ___
__ _Выложи, плз, архивом._ ___
Кавычки: не те.
Ошибка: \HarmonicaTab «C» «richter»
Ошибка: сама строка мелодии.
\include «harptab.ly» в той же папке — не работают «циферьки». Нет их под нотами
С огромной надеждой быстрое на получение архива
и что ребёнку смогу распечатать те табулары, которые ему интересны,
до того, как он отчается и забросит это увлечение.
Дмитрий.
[win7x64]
mr-dx (a) yandex.ru
К сожалению, не могу вам помочь, гармошкой давно не занимаюсь, файлы тоже не сохранились, могу лишь посоветовать посмотреть другую программу: Musescore. О ней тоже писал давненько: https://harmonica.ru/sozdanie-tabulatury-dlya-garmoshki-variant-2
Жаль! Спасибо за внимание и ответ.
А почему не занимаетесь больше?
Может кто-нибудь прикрепить плагин harptab.ly здесь?
Ссылка не работает, поиск ничего не дает.