Я получил крутой звук от linux defender или knoppix (или чего-то еще, я не помню, какой именно), который говорит «начало последовательности запуска», и я хочу использовать его как можно раньше в процессе загрузки. Сказать, что когда я вхожу в систему, не имеет особого смысла, поэтому лучше играть, когда запускается GRUB. Можно ли это сделать?
Согласно руководству GRUB, первая нота - это «темп», а каждая следующая пара чисел - это длительность и высота тона.
Высота тона указана в Гц, поэтому для воспроизведения хорошо звучащих нот (настроенных) вам понадобятся частоты нот в западной шкале равных темпераментов:
http : //pastebin.com/rJY30FmM
Кстати, вот что я придумал после написания и использования вставленного мной кода Java:
GRUB_INIT_TUNE="480 220 1 277 1 330 1 440 1 185 1 220 1 277 1 370 1 294 1 370 1 440 1 587 1 330 1 415 1 494 1 659 1"
Это играет 4-нотное арпеджио из A, F # m, D, E.
В файле /etc/default/grub
, установите переменную GRUB_INIT_TUNE
к мелодии Вы хотите.
Например: GRUB_INIT_TUNE="2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6"
После того, как сделанный, примените свои изменения с sudo update-grub2
.
(Те я мог найти),
1750 523 1 392 1 523 1 659 1 784 1 1047 1 784 1 415 1 523 1 622 1 831 1 622 1 831 1 1046 1 1244 1 1661 1 1244 1 466 1 587 1 698 1 932 1 1195 1 1397 1 1865 1 1397 1
480 440 4 440 4 440 4 349 3 523 1 440 4 349 3 523 1 440 8 659 4 659 4 659 4 698 3 523 1 415 4 349 3 523 1 440 8
2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6
480 220 1 277 1 330 1 440 1 185 1 220 1 277 1 370 1 294 1 370 1 440 1 587 1 330 1 415 1 494 1 659 1
Больше из них здесь.
Синтаксис: GRUB_INIT_TUNE="
tempo [pitch1 duration1] [pitch2 duration2] ...
"
Темп является основой для всех продолжительностей примечания. 60 дает 1 вторую основу, 120 дает полувторую основу, и т.д. Передачами является Гц. Подача набора к 0 для создания отдыха.
Источник: документация личинки, документация команды игры личинки (та же страница).
Если Вы хотите протестировать мелодию: Установка sox
и используйте сценарий от что поток ubuntuforum.org (немного измененный мной для удаления предупреждений):
#!/bin/dash
if [ $# -lt 3 ]; then
echo "Usage: $0 tempo freq dur [freq dur freq dur...]" >&2
exit 1
fi
tempo=$1; shift
tmpdir=$(mktemp -d)
while [ -n "$*" ]; do
freq=$1; shift
dur=$1; shift
dur=$(echo "$dur*(60/$tempo)"|bc -l)
sox -e mu-law -r 8000 -n -t raw - synth $dur sine $freq >>$tmpdir/grubtune.ul 2> /dev/null
done
play -q -c1 -r 8000 $tmpdir/grubtune.ul
rm -r $tmpdir
Сделать это исполняемым файлом chmod +x grub-playtune
Пример использования:
grub-playtune 2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6
Находящийся в python3 сценарий для вычислений частоты примечания:
#!/bin/bash
python3 -c "print(*(int(0.5 + 440 * 2 ** (note/12)) for note in (${*/%/,})))"
Примеры использования:
$ pitch 0 # gives you A_4
440
$ pitch 2 # gives you B_4
494
$ pitch -2 # gives you G_3
392
$ pitch -12 0 12 # gives you A_3, A_4 and A_5
220 440 880
Каждый доступен здесь. Это может также быть сгенерировано, с помощью вышеупомянутого сценария как так:
$ pitch {-12..0} # A_3 to A_4
220 233 247 262 277 294 311 330 349 370 392 415 440
$ pitch {0..12} # A_4 to A_5
440 466 494 523 554 587 622 659 698 740 784 831 880
$ pitch {12..24} # A_5 to A_6
880 932 988 1047 1109 1175 1245 1319 1397 1480 1568 1661 1760
Вы спрашиваете, можно ли это сделать? Простой ответ? Да, видимо Как это можно сделать? Вы должны положить больше денег в слот для этого ответа. Просто моя маленькая шутка. Лучшее, что я могу сделать, это:
Перейдите к разделу 5.1 Простая обработка конфигурации и найдите строку GRUB_INIT_TUNE. Вам нужно будет перейти по ссылкам на Play и синтаксис имени файла. Вам придется вручную редактировать файл Grub.
Измените файл /etc/default/grub
, включив в него следующую строку (вот моя первоначальная мелодия):
GRUB_INIT_TUNE = "2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6 "
Выполнить sudo update-grub2
, чтобы применить изменения.
Я создал скрипт на python, который преобразует миди-файлы в эти мелодии инициализации:
https://gitlab.com/lukasfink1/midi2grub
Требуется мидо библиотека для запуска. Также обратите внимание, что команда grub play может воспроизводить только монофонические мелодии, поэтому ваши миди могут звучать странно, если их нет.