Оглавление:
- Шаг 1: СОПО
- Шаг 2: аранжировка или сочинение музыки для воспроизведения
- Шаг 3: Экспорт файла MIDI
- Шаг 4: Подключение Spielatron к программам ALSA MIDI
- Шаг 5: Установка имени MIDI-устройства и USB-порта
- Шаг 6. Использование LMMS
- Шаг 7: Импортируйте ваш MIDI-файл в LMMS
- Шаг 8: Установите для выхода LMMS значение TtyUSB0
- Шаг 9: остановите вывод звука с компьютера
- Шаг 10: нажмите "Играть", откиньтесь на спинку кресла и наслаждайтесь музыкой
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом руководстве описаны программные инструменты, которые мы используем, чтобы легко взять стандартную нотную запись, преобразовать ее в файл MIDI и воспроизвести на Spielatron.
Шаг 1: СОПО
По возможности мы используем бесплатное программное обеспечение с открытым исходным кодом (FOSS), работающее на компьютере с Linux, в данном случае с использованием Ubuntu Mate.
Шаг 2: аранжировка или сочинение музыки для воспроизведения
Поскольку наши музыкальные возможности ограничены, сочинять музыку нельзя, и, чтобы избежать проблем с авторским правом, нам нравится собирать старые классические произведения в отдельные строчки, подходящие для Spielatron. В основном вам нужно сохранить монофонию музыки, то есть только одну ноту и в пределах диапазона нот от G5 до G7 Spielatron. Для этой цели мы используем Musescore, который, как мы обнаружили, отлично подходит для этой цели и для создания музыкальных партитур, из которых можно играть.
Мы используем образ приложения для 64-разрядной версии Linux, доступный по адресу
musescore.org/en/download/musescore-x86_64…
Один из приемов, который мы используем для сохранения нот на нотном стане, учитывая высокий регистр Spielatron, - это использование опции Treble Clef 8va из Clef Pallette, обратите внимание на маленькую восьмерку над скрипичным ключом.
Одна из замечательных особенностей Musescore - это потрясающее сообщество, которое предоставляет помощь, учебные пособия, примеры и множество файлов Musescore для загрузки.
Шаг 3: Экспорт файла MIDI
Если вы довольны своей музыкальной композицией в Musescore, вам необходимо экспортировать ее как файл MIDI. Это в File - Export и выберите формат файла Standard Midi.
Шаг 4: Подключение Spielatron к программам ALSA MIDI
Поскольку теперь мы хотим отправить наш MIDI-файл в Arduino на Spielatron, нам нужно соединение между USB-устройством, например. ttyUSB0 и программное обеспечение MIDI, например. Программы ALSA. Также это соединение осуществляется со скоростью передачи данных компьютера, а не со стандартной скоростью передачи MIDI 31250 бод.
К счастью, кто-то уже написал программу-драйвер для выполнения этой задачи под названием ttymidi.
ttymidi доступен здесь:
www.varal.org/ttymidi/
www.varal.org/ttymidi/ttymidi.tar.gz
Эта программа поставляется только в виде исходного кода с файлом make. Когда мы запустили make-файл, мы получили ошибку компоновщика и нам пришлось изменить make-файл следующим образом.
Исходная командная строка, которая дала ошибки
gcc src / ttymidi.c -o ttymidi -lasound
модифицированная командная строка, которая работала
gcc src / ttymidi.c -o ttymidi -lasound -lpthread
В конце концов, мы не запускали make-файл, а только скомпилировали его с помощью приведенной выше командной строки, поэтому он не установлен в нашей системе. Когда мы хотим запустить ttymidi, мы открываем окно терминала, меняем каталог на каталог ttymidi и выполняем программу, как показано на изображении выше. Без использования переключателей ttymidi по умолчанию использует скорость передачи 115200 бод, что соответствует коду, который мы предоставили для Spielatron. Обратите внимание, что после выполнения ttymidi окно терминала не возвращается в командную строку до тех пор, пока не будет введено «control c», что приведет к выходу из программы.
Шаг 5: Установка имени MIDI-устройства и USB-порта
В этом примере мы использовали ttymidi без переключателей, который по умолчанию использует ttyUSB0 и скорость передачи 115200 бод. Если по какой-либо причине вам нужно изменить их, например. у вас было более одного устройства ttyUSB, подключенного к вашему компьютеру, вы можете использовать переключатели, как показано на рисунке выше.
Шаг 6. Использование LMMS
LMMS (ранее Linux MultiMedia Studio) - это прикладная программа для цифровой аудиосистемы, которая является еще одной замечательной программой, которую мы только начинаем использовать. LMMS доступен в Центре программного обеспечения Ubuntu или здесь
Хотя для этой цели мы не используем LMMS для воспроизведения MIDI-файла с компьютера, LMMS по-прежнему ожидает, что звуковой шрифт будет доступен для использования при импорте MIDI-файлов. Поэтому мы используем звуковой шрифт Unison, который доступен здесь:
ftp://ftp.personalcopy.net/pub/Unison.sf2.gz
www.personalcopy.com/linuxfiles.htm
Чтобы использовать звуковой шрифт, все, что вам нужно сделать, это извлечь файл в каталог, который вы собираетесь сохранить, а затем в LMMS перейдите в Edit - Settings - Folders, чтобы установить Unison в качестве звукового шрифта по умолчанию, как показано на рисунке выше.
Шаг 7: Импортируйте ваш MIDI-файл в LMMS
Импортируйте MIDI-файл, созданный с помощью Musescore (или из любого другого источника), в LMMS. Используйте File - Import, как показано на рисунке выше.
Шаг 8: Установите для выхода LMMS значение TtyUSB0
Как только файл MIDI будет импортирован, он появится в окне редактора песни как трек Unison. Подойдите к символу шестеренки на левом конце трассы. Щелкните левой кнопкой мыши на шестеренке, выберите Midi, затем Output, и вы должны увидеть устройство с именем ttymidi (или имя, которое вы указали с помощью переключателя -n при запуске ttymidi), как показано на рисунке выше. Выберите это устройство, и вы увидите галочку рядом с ним.
Шаг 9: остановите вывод звука с компьютера
Если вы проиграете трек в этот момент, LMMS выведет MIDI-файл как на ttyUSB0 (Spielatron), так и на звуковую карту компьютера. Поскольку программное обеспечение Spielatron имеет задержку 200 мс, чтобы позволить вращающемуся сево перемещаться, музыка Spielatron задерживается на эту величину, которая не будет синхронизироваться с выходом звуковой карты компьютера. Это можно преодолеть, уменьшив громкость на треке Unison, как показано на рисунке выше.
Шаг 10: нажмите "Играть", откиньтесь на спинку кресла и наслаждайтесь музыкой
Нажмите кнопку воспроизведения, как показано на рисунке выше, и Spielatron или любой другой музыкальный синтезатор Arduino воспроизведет ваш MIDI-фрагмент. В примере в конце вступительного ролика Spielatron на натуре играет хорошо известную старинную английскую народную песню Greensleeves.
Помимо того, что музыка должна быть монофонической и находиться в диапазоне от G5 до G7, очевидно, что существует ограничение, налагаемое временем отклика сервоприводов. Это означает, что ваша музыка ограничена либо краткостью используемой ноты, либо используемым количеством ударов в минуту (BPM). т.е. если у вас высокий BPM, вы не сможете использовать очень короткие ноты, и наоборот.
Пример:
120 ударов в минуту при частоте 4/4 (4 удара на такт) дает 30 тактов за 1 минуту.
60 секунд, разделенные на 30, дают 2 секунды на полоску.
Следовательно, каждое вязание крючком будет иметь 500 мс (легко в пределах времени задержки сервопривода).
У сотрясения будет 250 мс (как раз в то время, когда разрешено 200 мс для вращения и 40 мс для хода молота).
Полуквавер просто не работает без снижения BPM.